frp 项目地址:https://github.com/fatedier/frpwinsw项目地址:https://github.com/winsw/winsw
服务端配置(以CentOS7为例)
- frp release页面下载相应架构程序
- tar -zxvf解压
- cd
- nano frps.ini,保存
[common] bind_port = 7000 #可改为你想要的 vhost_http_port = 8080 #可改为你想要的地址
- 添加服务:nano /etc/systemd/system/frps.service
[Unit] Description=frps daemon After=syslog.target network.target Wants=network.target [Service] Type=simple ExecStart=/你的frp文件夹绝对路径/frps -c /你的frp文件夹绝对路径/frps.ini Restart= always RestartSec=1min [Install] WantedBy=multi-user.target
- 启动服务 配置开机自启
systemctl start frps systemctl enable frps
- 服务器提供商防火墙放通bind_port、vhost_port,另外再随便想个数当rdp端口,防火墙面板放通以上三个端口的tcp和udp
- 如果启用了多个防火墙服务,都要放通,貌似装了宝塔之后还会有iptables防火墙,下面以iptables防火墙为例放通端口
iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 端口号 -j ACCEPT #执行多次,每次一个端口
Windows客户端配置
- frp、winsw页面下载对应架构程序
- 编辑frpc.ini
[common] server_addr = X.X.X.X server_port = 7000 [RDP] type = tcp local_ip = 0.0.0.0 local_port = 3389 remote_port = 6000 [web1] type = http local_port = 8080 custom_domains = domain1.com
- winsw可执行文件重命名为winsw.exe,移到frp目录下
- 创建winsw.xml
<service><id>frp</id><name>frp</name><description>用frp发布本地电脑网站到外网</description><executable>frpc</executable><arguments>-c frpc.ini</arguments><logmode>reset</logmode></service>
- 管理员命令行切到frp目录
- 执行winsw install
- 执行frpc start
- win+r后通过
services.msc
进入到服务列表页面找到frp服务。 - 为了确保frpc在连接失败后自动尝试重新连接,在frp服务属性-恢复页进行如下设置:第一次、第二次、后续失败,均重新启动服务
- 确保服务启动类型为自动
- 勾选允许远程桌面连接
- 编辑本机(客户端)host文件
xx.xx.xx.xx a.domain
xx.xx.xx.xx b.domain
此后,使用微软rdp客户端即可链接,地址为“公网IP:你想出来的那个远程rdp端口”
浏览器输入相应域名和服务端的http端口即可访问相应内网web服务