前提环境:
一台公网的电脑或者vps
教程如下
一、配置公网服务器的frp
这里我用的公网服务器是Linux的,所以我下载的是Linux amd 64位的frp_0.22.0_linux_amd64.tar.gz
解压后得到一堆文件,我们只保留frps和frps.ini两个文件,s表示的是server,即服务端
打开frps.ini,可以看到默认的只有一条配置:
[common]
bind_port = 7000
即绑定了7000端口,这个端口是用来跟内网的机器进行通讯的。我们不做改变,直接启动frp服务端,开始监听。
启动命令:./frps -c ./frps.ini
二、配置内网机器
这里我用的是Windows机器做测试,我们演示穿透3389端口。所以我下载的是Windows amd64位的frp_0.22.0_windows_amd64.zip
解压后同样得到一堆文件,我们只保留frpc.exe和frpc.ini,c表示的是client,即客户端
打开frpc.ini,可以看到默认的配置内容如下:
[common]
server_addr = 127.0.0.1
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
server_addr表示公网服务器的ip地址,比如我们的公网ip是x.x.x.x
server_port表示的服务器监听的端口,即frp服务端跟客户端通讯用的端口,我们之前配置服务端的时候没有修改,用的就是默认的7000
[ssh]这个节点名是可以随便修改的,然后下面的定义的就是客户端的信息,比如通讯协议,这里是tcp,然后是本地ip,直接用127.0.0.1就可以了。
再接着是本地监听的端口,比如我们这里演示的是穿透3389,那么这里就把22改成3389,然后是远程端口,即公网服务器哪个端口会指向我们本地的3389,假如我这里不改,使用默认的6000
修改后的配置如下:
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000
然后我们启动frp客户端程序(需要在cmd下运行):frpc -c frpc.ini
同时我们在frp服务器上也可以看到有新的客户端连接上来了
接下来我们打开mstsc远程桌面,输入我们公网服务器的ip加:6000,然后连接,此时连接就会自动指向我们内网的客户端机器。这样我们就实现了内网连接远程桌面。