Linux下开机自动启动FRP

Linux下开机自动启动FRP

前提已经安装frp,配置好了frps.ini(服务端)或者frpc.ini(客户端)

以下教程为frpc(客户端),frps只需要将frpc改为frps即可。

配置frpc.ini

参考frp配置说明

#打开frpc配置文件 
vim /usr/frp/frpc.ini

参考说明,进行配置

#frps服务端地址
server_addr = xxx.xxx.xxx.xxx
#frps服务端通讯端口,客户端连接到服务端内网穿透传输数据的端口
server_port = 7000
#特权模式密钥,客户端连接到FRPS服务端的验证密钥
privilege_token = JKSDF@341OKQ
#日志存放路径
log_file = frpc.log
#日志记录类别,可选:trace, debug, info, warn, error
log_level = info
#日志保存天数
log_max_days = 7
#设置为false,frpc连接frps失败后重连,默认为true不重连
login_fail_exit = false
#如连接报错,则去掉
#KCP协议在弱网环境下传输效率提升明显,但是对frps会有一些额外的流量消耗。服务端须先设置kcp_bind_port = 7000,freenat.bid服务端已设置支持
#protocol = kcp

[http_dsm]
#穿透服务名称,不能和其他已建立的相同,使用公共服务器的建议修改成复杂一点的名称,避免与其他人冲突,很多路由器内置frpc的默认服务名
称为[web],很容易很其他人冲突
#穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,这个设置之前必须自行搞清楚应该是什么
type = http
#本地监听IP,可以是本机IP,也可以是本地的局域网内某IP,例如你的局域网是互通的,你可以在路由器上安装frpc,然后local_ip填的群晖的ip,这样也可以把群晖穿透出去
local_ip = 192.168.1.2
#本地监听端口,通常有ssh端口22,远程桌面3389等等
local_port = 5000
#对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源
use_compression = true
#将 frpc 与 frps 之间的通信内容加密传输
use_encryption = true
#自定义域名访问穿透服务,一般域名设置了二级域名泛解析以后,这里填*.freenat.bid即可,*自定义,如果不想用域名或者自行搭建frps没有域名,则穿透协议类型选择tcp,见以下tcp部分详解
custom_domains = dsm.freenat.bid

配置systemctl进行开机启动

创建frpc.service服务

vim /lib/systemd/system/frpc.service
[Unit]
#服务描述
Description=frpc service 
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#执行命令 
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini

[Install]
WantedBy=multi-user.target

!!!此处直接运行systemctl命令会提示需要重载!!!

于是终端里输入

systemctl daemon-reload  

使用systemctl命令来控制frpc

#启动
sudo systemctl start frpc 
#关闭
sudo systemctl stop frpc
#重启
sudo systemctl restart frpc
#查看状态
sudo systemctl status frpc

设置开机自动启动

sudo systemctl enable frpc

linux下FRP常用命令

后台运行frp

#定位至frp文件所在位置
服务端: nohup ./frps -c frps.ini >/dev/null 2>&1 &
客户端: nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

查看frp进程

ps -aux|grep frp| grep -v grep

结束frp进程

kill -9 12345(找到的进程号)
Share