准备一台公网服务器和公网ip,没有这个不用往下看了!!!
1、服务端配置
在公网服务器上面运行frp-server,frp可以在github上下载,是开源的,一般下载的文件是一个tar.gz包,解压、解包后,里面有frps\frpc两个可执行文件,顾名思义,s是server,即运行后是frp-server,c是client,运行后是client,在公网上允许server,要配置frps.ini
[common]
bind_port = 8801
dashboard_port = 8880
dashboard_user = test
dashboard_pwd = passwd
token = token
配置完成后,可以执行./frps -c frps.ini,当然可以后台运行,这里不做后台运行的方法阐述
2、客户端配置
服务端准备好后,我们需要在内网(前提是可以访问到公网)上构建frp-client,同样在github上下载windows对应的包,解压后,里面应该有frps.exe和frpc.exe,因为是客户端,要配置frpc.ini
[common]
server_addr = 公网ip
server_port = 上述bind_port
token = 和上面token保持一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 8889
ssh配置项解释:
-
type远程桌面用的底层协议是tcp
-
local_ip配置成本地ip,一般用本地回环地址
-
local_port:windows远程桌面的端口是3389
-
remote_port:远程访问公网服务器的端口,即通过访问公网ip+remote_port就可以访问到本机的3389端口
配置完成后,开shell窗口运行frpc.exe -c frpc.ini(建议先配置好下列防火墙后再启动),当然也可以做成后台进程的方式,此处不赘述后台进程启动方法。
3、配置防火墙
-
公网防火墙要放通remote_port、server_port(bind_port)、dashboard_port
-
内网主机 防火墙要放通3389端口
windows下、linux怎么配置防火墙自行查找,如果你的主机是云服务里面的,还要根据不同的云厂商配置面板去配置网络访问规则,总之要达到可以访问。
前述准备工作完成之后,可以通过http://公网ip:dashboard_port访问frp-server上的dashboard面板了,如果frp-client也运行了,应该是这样的
这时候,windows上面去创建一个远程账户,或则允许现有账户远程访问,然后找一台其他机器做测试
顺利的话就可以正常链接远程桌面了!!!
常见错误
1、访问远程桌面的时候报错0x904 0x7,一般是端口访问错了,或则端口被防火墙拦截了
2、windos上允许frpc的时候,报错

这种情况也是属于没有配置好网络,或者frp-server访问不到,建议排查网络故障