其实这里和 frps 大差不差,只是程序和配置文件不一样
部署方式都是一模一样的
示例: (我要把我的远程桌面端口映射出去,以至于让我在外网可以访问)
注意!以下仅是演示示例
|
serverAddr = "1.1.1.1" #服务器地址 |
|
serverPort = 7000 #服务器端口 |
|
auth.method = "token" #服务端连接身份认证,默认token |
|
auth.token = "test123" #服务端token密码,密码不正确将无法连接服务器 |
|
transport.tls.enable = false #是否和服务端之间启用TLS连接 |
|
transport.tls.disableCustomTLSFirstByte = false |
|
#默认为true,当配置为true时,无法和vhostHTTPSPort端口复用 |
|
|
|
[[proxies]] |
|
name = "rdp" #隧道名称,可自定义,不能重复 |
|
type = "tcp" #隧道类型,可用tcp, udp, http, https, tcpmux, stcp, sudp, xtcp |
|
localIP = "127.0.0.1" #本地IP地址,如果是本机就127.0.0.1 |
|
localPort = 3389 #本地端口,本地服务端口 |
|
remotePort = 23389 #远程端口,连接隧道时用的端口 |
|
transport.useEncryption = true #传输加密,加密算法采用 aes-128-cfb |
|
transport.useCompression = true #传输压缩,压缩算法采用 snappy |
这里有两种方法,一种是配置好 xxx.bat 后放在C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
目录下,这样可以在用户登录后自动启动 xxx.bat 这种方法简单直接
还有一种方法,直接使用 nssm.exe 配置frpc为系统服务,这种方法可以无需登录用户账号后台运行
咱自己用的是第二种方法,为了稳妥,两种方法都演示一遍
第一种: 在frpc目录下新建 xxx.bat 文件,把下方内容填进去
|
frpc -c frpc.toml |
右键创建快捷方式后将快捷方式扔进下方目录即可C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
如果之后要更新 frpc.toml 配置文件,把cmd窗口关闭重启 xxx.bat 就没问题了
第二种:打开 nssm官网 下载 nssm.exe
解压后在win64/32找到 nssm.exe 放在a目录里,打开 cmd 后cd到a目录下运行
|
nssm install frpc |
输完命令回车后会弹个窗口,根据实际情况按下图填后按 Install service
即可
之后到 任务管理器→服务 中找到 frpc 服务后右键开始就没问题了。如果之后要更新 frpc.toml
配置文件,再次找到此处右键重新启动就没问题了
这一步跟Windows一样,只是选择的版本是Linux
直接 wget 也可以,比如
|
wget -c https://github.com/fatedier/frp/releases/download/v0.53.0/frp_0.53.0_linux_amd64.tar.gz |
如果国内GitHub无法下载,那就把文件下载到本地,再手动传到对应目录
无论是上述哪种方式下载,到最后都要解压到某目录下
比如我要解压到 /usr/local/frpc
下,那么输入
|
tar -zxvf frp_0.53.0_linux_amd64.tar.gz #解压文件 |
|
mv frp_0.53.0_linux_amd64 /usr/local #将frp目录移动到/usr/local下 |
|
mv /usr/local/frp_0.53.0_linux_amd64 /usr/local/frpc #将frp目录改名成frpc |
到这时,我们文件就准备好了,下面开始配置并部署!
第一步我们先安装编辑器,如果已经安装过了请忽略此项
|
sudo yum install vim |
|
sudo apt update |
|
sudo apt install vim |
安装好编辑器后 cd 到 /usr/local/frpc
目录下后编辑 TOML 配置文件
|
cd /usr/local/frpc |
|
vim frpc.toml |
这时我们配置 frpc.toml
文件
示例: (我要把我的SSH端口映射出去,以至于让我在外网可以访问)
注意!以下仅是演示示例,要根据自己的需求参照 2-1 编写
|
serverAddr = "1.1.1.1" #服务器地址 |
|
serverPort = 7000 #服务器端口 |
|
auth.method = "token" #服务端连接身份认证,默认token |
|
auth.token = "test123" #服务端token密码,密码不正确将无法连接服务器 |
|
transport.tls.enable = false #是否和服务端之间启用TLS连接 |
|
transport.tls.disableCustomTLSFirstByte = false |
|
#默认为true,当配置为true时,无法和vhostHTTPSPort端口复用 |
|
|
|
[[proxies]] |
|
name = "ssh" #隧道名称,可自定义,不能重复 |
|
type = "tcp" #隧道类型,可用tcp, udp, http, https, tcpmux, stcp, sudp, xtcp |
|
localIP = "127.0.0.1" #本地IP地址,如果是本机就127.0.0.1 |
|
localPort = 22 #本地端口,本地服务端口,比如mc服务器端口25565 |
|
remotePort = 20022 #远程端口,连接隧道时用的端口 |
|
transport.useEncryption = true #传输加密,加密算法采用 aes-128-cfb |
|
transport.useCompression = true #传输压缩,压缩算法采用 snappy |
配置好后输入 :wq
保存即可
可以cd到 /usr/local/frpc
后使用 ./frpc -c frpc.toml
也可以直接使用
|
/usr/local/frpc/frpc -c /usr/local/frpc/frpc.toml |
如果要设置开机自启,请新建一个frpc的系统服务
|
nano /etc/systemd/system/frpc.service |
然后在 frpc.service
内填入:
|
[Unit] |
|
Description=frpc |
|
After=network.target syslog.target |
|
Wants=network.target |
|
|
|
[Service] |
|
Type=simple |
|
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.toml #填写frpc的安装目录 |
|
Restart=always |
|
|
|
[Install] |
|
WantedBy=multi-user.target |
保存退出后输入下方内容即可设置frpc为开机自启
|
systemctl enable frpc #开启开机自启动frpc服务 |
|
systemctl disable frpc #关闭开机自启动frpc服务 |
|
systemctl start frpc #启动frpc服务 |
|
systemctl stop frpc #停止frpc服务 |
|
systemctl status frpc #查看frpc服务状态 |
这时frpc应该是正常运行了
(其实Linux还有一种方法就是使用Docker部署,但是那个我没玩明白)