准备
环境:本地服务器(客户端),云服务器(服务端)
frp 下载地址:https:/github.com/fatedier/frp/releases
选择下载系统对应的版本(最好服务器跟客户端都下载同一版本的包),终端可以通过 wget 命令下载
下载完成后解压到指定目录(建议 解压到/usr/local/bin 目录下)
tar -zxvf frp_0.34.3_linux_amd64.tar.gz // 以 linux_amd64 为例
部署
服务端:修改解压目录下的 frps.ini 文件为
[common]
bind_port = 7000 # frp 服务的端口号,可以自己定
dashboard_port = 7500 # frp 的 web 界面的端口号
dashboard_user = user # web 界面的登陆账户,自己修改
dashboard_pwd = pass # web 界面的登陆密码,自己修改
authentication_method = token
token = xxxxx # frp 客户端连接时的密码,自己修改
客户端:修改解压目录下的 frpc.ini 文件为
[common]
server_addr = xx.xx.xx.xx # 你的云服务器的公网 ip
authentication_method = token
token = xxxxx # 刚刚配置的 frp 连接密码
server_port = 7000 # 刚刚配置的 frp 服务端口
[Fusion-ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 20022
[Fusion-rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 23389
[Fusion-gitlab]
type = tcp
local_ip = 127.0.0.1
local_port = 8809
remote_port = 18809
注意不要修改错误文件,解压目录下有两个配置文件,frps 是服务器配置文件,frpc 是客户端配置文件
修改完成后
sudo systemctl enable frpc.service
sudo systemctl start frpc.service
通过下面的命令查看服务状态,如果是 running 的话就说明可以了:
sudo systemctl status frpc.service
如果报错 203,查看配置文件是否填写错误,自检包括有无空格,修改完未保存,路径有误,拼写错误等
添加并开放端口
以 Linux 系统命令为例,以上配置中,我需要开放 7000(frp 端口),7500(frp web 界面端口),18809(gitlab 端口)
sudo firewall-cmd --zone=public --add-port=7000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=7500/tcp --permanent
sudo firewall-cmd --zone=public --add-port=18809/tcp --permanent
# 然后刷新防火墙配置
sudo firewall-cmd --reload
至此,frp 安装完成,你可以通过在安装目录下运行以下命令启动服务
./frpc ./frpc.ini # 客户端
./frps ./frps.ini # 服务端
但是这样总归不太优雅,所以我们需要让他自启避免手动操作
开机自启配置
路径:/etc/systemed/system/frpc.service(frps.service)
在 /etc/systemed/system 下新建 .service 文件,服务端取名 frps 客户端取名 frpc 注意不要搞混了
下面配置文件以 frpc 为例,frps 配置需注意替换 ExecStart,不要搞错路径
[Fusion]
Description=Frp Server Daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini # 修改为你的 frp 实际安装目录
#ExecStop=/usr/bin/killall frpc
# 启动失败 1 分钟后再次启动
# RestartSec=1min
# KillMode=control-group
# 重启控制:总是重启
# Restart=always
[Install]
WantedBy=multi-user.target
修改后刷新规则,启动 service
systemctl start frpc/frps.service
设置开机自启
systemctl enable frpc/frps.service
# 验证是否开机自启
systemctl is-enable frpc/frps