Linux使用frp
下载地址:https://github.com/fatedier/frp/releases
- 解压安装,路径在/opt/frp_0.34.1_linux_amd64
- 启动frp服务端,默认端口7000
[root@VM-8-4-centos opt]# cd /opt/frp_0.34.1_linux_amd64
[root@VM-8-4-centos frp_0.34.1_linux_amd64]# nohup ./frps -c ./frps.ini &
使用nohup xxx &的方式启动,可以再关闭连接工具后,linux依旧运行frp
windows使用frp
- 解压安装
- 配置服务端IP、Port,以及要映射的服务端端口和本地IP端口
注:我尽量与原端口保持相近,以便记忆。家里电脑以9开头,公司电脑以7开头。
[common]
server_addr = 101.43.242.145
server_port = 7000
[RDP1] # 远程桌面连接
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 9389
[RDP2] # mysql
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 9306
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
- 启动frp客户端
D:\Program Files (x86)\frp_0.34.1_windows_amd64>frpc.exe -c ./frpc.ini
2021/05/18 13:44:04 [I] [service.go:288] [aba847708ccc1f64] login to server success, get run id [aba847708ccc1f64], server udp port [0]
2021/05/18 13:44:04 [I] [proxy_manager.go:144] [aba847708ccc1f64] proxy added: [RDP1 RDP2 ssh]
2021/05/18 13:44:04 [I] [control.go:180] [aba847708ccc1f64] [RDP1] start proxy success
2021/05/18 13:44:04 [I] [control.go:180] [aba847708ccc1f64] [RDP2] start proxy success
2021/05/18 13:44:04 [I] [control.go:180] [aba847708ccc1f64] [ssh] start proxy success
出现start proxy success即为成功。
Windows注册成服务
为了避免电脑更新导致重启,frp不自启而连不上的情况,特此研究frp开机自启。
下载winsw工具
利用winsw工具,可以注册、卸载和启停服务,下载地址:https://github.com/winsw/winsw/releases
我这里下载了WinSw.NET4.exe,因为winsw是c#写的,运行需要.NET framework环境,现在Windows10一般都有.NET framework4.0
然后把WinSw.NET4.exe重命名为winsw.exe,方便后续操作。
创建xml
为了方便管理和查找,我在D:\Program Files (x86)下建立了winsw文件夹,将winsw.exe丢了进去;
然后创建于exe同名的winsw.xml,这是注册服务的重要文件!!!
注:
携带参数这一条,有些博文是-c frpc.ini,亲测不行;
改为-c D:\Program Files (x86)\frp_0.44.0_windows_amd64\frpc.ini也不行;
最终找到有大佬拆成两条startargument写,亲测可行。
<service>
<!-- 该服务的唯一标识 -->
<id>frp</id>
<!-- 该服务的名称 -->
<name>frp_0.44.0_windows_amd64</name>
<!-- 该服务的描述 -->
<description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
<!-- 要运行的程序路径 -->
<executable>D:\Program Files (x86)\frp_0.44.0_windows_amd64\frpc.exe</executable>
<!-- 携带的参数 -->
<startargument>-c</startargument>
<!-- 携带的参数 -->
<startargument>D:\Program Files (x86)\frp_0.44.0_windows_amd64\frpc.ini</startargument>
<!-- 第一次启动失败 60秒重启 -->
<onfailure action="restart" delay="60 sec"/>
<!-- 第二次启动失败 120秒后重启 -->
<onfailure action="restart" delay="120 sec"/>
<!-- 日志模式 -->
<logmode>append</logmode>
<!-- 指定日志文件目录(相对于executable配置的路径) -->
<logpath>logs</logpath>
</service>
注册服务
在D:\Program Files (x86)\winsw\进入cmd,执行winsw.exe install注册服务,注册成功后可以在服务列表里看到有frp的服务了
注册完的服务默认未开启,可以手动开启,服务会开机自启的哦。