1 准备
1)公网ip的服务器(本文以Centos7系统为例)
2)内网电脑(本文以Windows7为例)
2 实现步骤
2.1 服务端
linux服务器下载对应frp:Releases · fatedier/frp (github.com)
wget https://github.com/fatedier/frp/releases/download/v0.39.0/frp_0.39.0_linux_amd64.tar.gz
解压
tar -zxvf frp_0.39.0_linux_amd64.tar.gz
进入解压后的文件夹
cd frp_0.39.0_linux_amd64
修改配置
vi frps.ini
[common] bind_port = 7000 #必须 vhost_http_port = 8080 #可选,不需要可不配
[common]部分是必须有的配置,其中bind_port是自己设定的frp服务端端口,vhost_http_port是自己设定的http访问端口。
保存上面的配置后,使用以下指令启动frp服务端
./frps -c ./frps.ini
服务方式自启动:
可将文件夹移动到 /opt下
创建启动脚本
vi frps.sh
/opt/frp/frps -c /opt/frp/frps.ini
给脚本权限
chmod a+x frps.sh
创建服务
vi /etc/systemd/system/frps.service
[Unit] Description=frps [Service] ExecStart=/bin/bash /opt/frp/frps.sh [Install] WantedBy=multi-user.target
启用并启动服务
systemctl enable frps.service systemctl start frps.service
2.2 客户端
下载对应系统的frp如 frp_0.39.0_windows_amd64.zip
解压后放到 D:\Program Files (当前也可以放到你喜欢的目录)
修改frpc.ini,下面配置将服务器23389端口映射到客户端3389端口
cmd到目录下,运行命令
.\frpc.exe -c .\frpc.ini
客户端开机自启动:
思路:创建一个自启动的windows服务,通过调用cmd命令启动frp客户端,服务设置开机自启
源码:LightKitty/FrpRunner (github.com)
3 使用
访问服务端ip和端口,将代理到客户端对应端口
如windows远程连接服务端ip,可访问内网电脑
使用frp实现内网穿透 - 简书 (jianshu.com)
frp 实现内网穿透(Windows 版) - 遗失的美好灬 - 博客园 (cnblogs.com)
文档 | frp (gofrp.org)