【内网穿透】公网远程联机,frp服务器与客户端搭建流程

113 阅读2分钟

准备

环境:本地服务器(客户端),云服务器(服务端)

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