使用frp穿透首先要有一个公网ip。我使用的是阿里云的服务器。
下载:
frp在 https://gofrp.org/ 上下载
Github开源:https://github.com/fatedier/frp(两个都可以下载)
在releases页面下载对应平台的版本。每个包都包含服务器端和客户端。
服务器端配置:
服务器端 我用的是centos7,下载对应的版本。
带有frps的是放在服务器端运行的可执行文件和配置文件。
带有frpc的是放在客户端端运行的可执行文件和配置文件。
修改frps.ini文件(命令:vim frps.inn)
修改成如下:
[common]
bind_port = 9000(服务端和客户端通信的端口,先检查端口是否放开,在控制台放行该端口)
修改好之后就可以运行了
先给frps权限 :
chmod 755 ./frps
运行frps:
./frps -c ./frps.ini
运行成功后如下图:
客户端:
客户端在Windos 10上运行,下载对应版本
修改frpc.ini:
[common]
server_addr = XX.XX.XX.XX(公网ip)
server_port = 9000(和刚才设置的端口一致,用来和服务器建立连接)
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389(Win10 远程桌面的端口号,默认的都是3389)
remote_port = 6000(用来访问的端口号)
在cmd中运行 frpc
frpc.exe -c frpc.ini
运行后如下图
服务器也会有显示:
最后进行远程桌面
原理:
- 服务器端监听一个(比如9000)端口。客户端根据配置文件去启和服务器的(9000)端口进行连接。
- 两者连接成功之后,客户端读取本地配置文件告诉服务器端,我需要什么端口(比如3389)。
总的就是客户端读取本地配置文件告诉服务器端,客户端转发本地的3389端口到了服务器端的33389,
然后服务器端再新开33389的监听端口,把来自外网访问33389端口转发到客户端3389。
参考链接:
https://blog.****.net/yangdashi888/article/details/111403730