首页 > 個人日志, 電腦網絡 > FRP内网穿透转发Windows远程桌面端口 详细教程

FRP内网穿透转发Windows远程桌面端口 详细教程

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题,或许你会说用teamviewer或者anydesk,但是teamviewer现在越来越恶心到不可用,连5分钟就强制断开,而anydesk在国内用的人还是太少。

今天在这里介绍下如何搭建和使用这个工具。

这里以Centos7为例搭建服务端。

Centos先执行命令

yum install -y wget

1.CD到Home目录方便Wget(可以自己选择FRP文件存放目录)

clip_image002

2.从官方github下载服务器端frp并解压(以最新版0.25.3 Linux 64位版本为例)

wget https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_linux_amd64.tar.gz

tar -zxvf frp_0.25.3_linux_amd64.tar.gz

如果觉得国内下载速度慢,可以把上面的链接替换成https://file.simplove.me/file/frp/frp_0.25.3_linux_amd64.tar.gz

3.修改解压出来的文件夹名(原文件夹名太长,懒得打那么多来cd,所以修改为frp)

mv frp_0.25.3_linux_amd64 frp

4.进入宝塔面板修改 frps.ini文件

注意括号和里面的不要复制进去。

[common]

bind_addr=0.0.0.0

bind_port = 7000

auto_token=12345678@qaq(密码可以自己修改)

dashboard_port = 7500(网页登录端口)

dashboard_user = admin(网页登录账户)

dashboard_pwd = admin(网页登录密码)

5.运行FRP

防止运行意外,先运行命令给FRP提权:

sudo chmod -R 777 /home/frp

运行FRS:

cd /home/frp

./frps -c ./frps.ini

clip_image004

如果要把服务端放到后台运行可以利用scrren:

yum -y install screen

screen -S frp ./frps -c ./frps.ini

设置frp开机启动

在/etc/rc.local里面添加/home/frp/frps -c /home/frp/frps.ini (文件的具体路径根据实际情况填写)

clip_image006

6.登录网页查看一下是否确实成功运行

访问  http://服务器ip:7500

上面配置的7500端口,使用上面配置的用户名和密码 admin/admin

登陆可以看到如下界面

到此处服务器端的配置完成了,接下来配置设置对应的客户端

先下载对应自己Windows系统版本的FRP客户端:https://github.com/fatedier/frp/releases

我这里远程服务器是Windows 10 64位,所以选择:

https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_windows_amd64.zip

如果下载慢,同样可以用在这里面下载https://file.simplove.me/file/frp/

下载到Windows后解压(个人推荐解压到D盘,文件夹名一样修改为frp)

然后修改frpc.ini

[common] server_addr = 你服务器的公网IP地址 server_port = 7000 auto_token=12345678@qaq 密码和服务器上面的保持一致 [RDP] 名字,可以随意 type = tcp 远程桌面用的是tcp协议 local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001

保存后就可以在cmd命令行cd到frp文件夹执行frp了:

依次命令:

d:

cd frp

成功进入frp目录后执行命令运行frp:

frpc.exe -c frpc.ini

成功运行如下:

clip_image008

看到成功在线就可以去试试远程桌面连接了,接下来就和正常的远程桌面连接一样了

客户端以上就是客户端A的配置了

客户端B的配置就是改一下配置的端口号和名称和名称就行

如下

[common] server_addr = FRP服务端VPS的ip

server_port = 7000

auto_token=12345678

[RDP2] type = tcp

local_ip = 127.0.0.1

local_port = 3389

remote_port = 7002

这个时候远程的ip和地址就是 服务器IP:配置的7002端口

注意不要把刚才运行的窗口关掉了,关了程序就没法运行了,还有开机启动的问题。

有兴趣的继续往下看。

Windows10 64位系统设置FRPC开机自动启动

这里我们用winsw来实现frpc做为服务运行和自动开机启动。

我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET4。

https://file.simplove.me/file/frp/ 可以在这里面下载文件

下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。

下面只说说配置。我这里是将winsw.exe和frpc.exe放到了一起,这样只需要直接填写程序名称。然后在和winsw.exe同级的目录下,新建winsw.xml文件,输入以下内容。

<service>

    <id>frp</id>

    <name>frp</name>

    <description>用frp发布本地电脑网站到外网</description>

    <executable>frpc</executable>

    <arguments>-c frpc.ini</arguments>

    <logmode>reset</logmode>

</service>

然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。

注意一定要cd到frp的目录执行命令才行。

winsw install

winsw start

说明:如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。

特权模式研究:

frps.ini 添加以下内容

privilege_mode = true

privilege_token = 12345678@3.14

客户端frtc 添加

privilege_token = {privilege_token}

就可以了

自定义二级域名

在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。

通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。

只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。

# frps.ini [common] subdomain_host = frps.com

将泛域名 *.frps.com 解析到 frps 所在服务器的 IP 地址。

# frpc.ini [web] type = http local_port = 80 subdomain = test

如果不通,请检查防火墙的配置,腾讯云服务器需要在安全组里面开放端口

clip_image010

另外如果还是不行,试试在宝塔面板的安全里面开放相应的端口。

clip_image012

服务端配置如下:

[common]

bind_port = 7000

auto_token=12345678@

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

privilege_mode = true

privilege_token = 12345678@3.14

privilege_allow_ports =4000-8000

max_pool_count = 100

subdomain_host = frp.simplove.me

vhost_http_port = 80

客户端配置如下:

[common]

server_addr = 118.24.6.47

server_port = 7000

auto_token=12345678@

privilege_token = 12345678@3.14

[RDP]

type = tcp

local_ip = 127.0.0.1

local_port = 3389 (自己电脑的远程桌面端口,如果没有改就是默认)

remote_port = 7002 (远程连接端口,目前只开放了7002-7004)

subdomain = xxx (如果这里填写xxx,那远程地址就是xxx.frp.simplove.me)

远程桌面连接地址就是 xxx.frp.simplove.me:7002

[web]
type = http
local_port = 81
custom_domains = ****.eu.org

  1. 还没有评论
评论提交中, 请稍候...

留言

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks
  2. Trackbacks 已关闭