一、 前提
有一台远程服务器,然后用Win的远程桌面连接到公司内网电脑中
二、环境
- 公网服务器1台,CentOS 7
- 内网客户端1台,Win10
三、服务器安装frp
- 下载地址https://github.com/fatedier/frp/releases下载linux版本
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
- 解压到/usr/local/frp目录
tar zxf frp_0.31.1_linux_amd64.tar.gz
mv frp_0.31.1_linux_amd64 /usr/local/frp
- 配置服务端frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
- 启动
./frps -c ./frps.ini
四、客户端配置
- 下载地址https://github.com/fatedier/frp/releases下载win版本
- 解压到C:\Program Files\frp目录
- 配置frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[RDP]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 6666
- 在命令行中启动frp客户端
C:\Program Files\frp\frpc.exe -c C:\Program Files\frp\frpc.ini
等待启动完成
2020/01/11 13:18:22 [I] [service.go:250] [e126185cb2716a8e] login to server success, get run id [e126185cb2716a8e], server udp port [0]
2020/01/11 13:18:22 [I] [proxy_manager.go:144] [e126185cb2716a8e] proxy added: [RDP]
2020/01/11 13:18:22 [I] [control.go:164] [e126185cb2716a8e] [RDP] start proxy success
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
启动frps
systemctl start frps
- win下配置服务
借助 winsw 工具可以将frpc注册为windows系统中的服务
将下载的winsw.exe放到frpc.exe同目录下,并填写winsw.xml配置文件
<service>
<id>frp</id>
<name>frp</name>
<description>用frp发布本地电脑网站到外网</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<logmode>reset</logmode>
</service>
然后使用winsw install将frpc安装为系统服务。
win+r后通过services.msc进入到服务列表页面找到frp服务。
为了确保frpc在连接失败后自动尝试重新连接,在恢复tap页进行如下设置
六、 扩展配置
frpc的web、ssh配置
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[ssh]
type = tcp
local_ip = 0.0.0.0
local_port = 22
remote_port = 2222
[web]
type = http
local_port = 80
custom_domains = js.zengwu.com.cn