简介
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。官方说明文档是https://github.com/fatedier/frp/blob/master/README_zh.md,使用之外,请熟读一下说明文档。
虽然说frp是内网穿透工具,其主要的运用场景是控制家用的设备,但是由于手上有一些服务器没有公网IP,远程比较麻烦,就使用了这个方案。
frps服务器配置
由于需要在家里的路由器(openwrt系统)上面安装frp服务器程序 ,所以首先在https://github.com/fatedier/frp/releases下面下载linux_arm64.tar.gz
这个包,
1 | root@route:~# cat /etc/frp/frps.ini |
然后运行/etc/frps/frps -c /etc/frps/frps.ini &
即可。
frpc客户端配置
配置文件
在需要被控制的机器上面开启windows远程(此步略),然后修改frpc.ini
配置文件,如下:
1 | [common] |
windows控制
如果仅仅是临时使用,可以直接运行D:\frp\frpc.exe -c D:\frp\frpc.ini
即可,如果想实现开机启动,有2个方法,一是写vbs脚本,开机时运行这个脚本即可,在windows上面运行,打开目录,输入%programdata%\Microsoft\Windows\Start Menu\Programs\Startup
或者 shell:startup ,然后创建frpc.vbs文件,输入以下内容即可:
1 | set ws=WScript.CreateObject("WScript.Shell") |
但是此方法我一直没有成功,就使用注册为服务的方法:
先下载nssm工具,https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip ,下载并解压压缩包,使用cmd进入对应系统版本工具的路径。(请使用管理员身份运行cmd),在cmd中键入命令nssm install serviceName
,进入服务编辑页面,选择frpc.exe的路径,填写好参数,然后再点击install service即可,如下:
这样,运行services.msc
就可以看到刚刚注册好的服务,这样自动启动即可。
centos 7配置
先新建frpc.service
,输入如下内容可以。
1 | vim /lib/systemd/system/frpc.service |
写完之后,直接systemctl start frpc
就可以了。
参考链接
将frpc注册为windows服务:https://aikiller.github.io/2018/03/14/%E5%B0%86frpc%E6%B3%A8%E5%86%8C%E4%B8%BAwindows%E6%9C%8D%E5%8A%A1/