Config frps on Linux PC and connect to remote personal server

less than 1 minute read

Published:

在具有公网IP的服务器上安装frps

  1. 下载frps
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
tar zxvf frp_0.37.1_linux_amd64.tar.gz
cd frp_0.37.1_linux_amd64

  # 启动frps
./frps -c frps.ini

配置Linux PC端

下载frpc

wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
tar zxvf frp_0.37.1_linux_amd64.tar.gz
cd frp_0.37.1_linux_amd64

配置frpc.ini

[common]
server_addr = <你的服务器公网IP>
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000  # 外部访问此端口即可通过 SSH 连接到 Linux PC

启动frpc

./frpc -c frpc.ini

遇到的错误和解决方法

[W] [service.go:104] login to server failed: dial tcp 155.248.201.182:7000: connect: no route to host
dial tcp 155.248.201.182:7000: connect: no route to host

# 解决方法
sudo firewall-cmd --zone=public --add-port=7000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=6000/tcp --permanent
sudo firewall-cmd --reload

开机自启动

把下载的 frp_0.37.1_linux_amd64文件夹中的systmed 中的 frps.service 放到 具有公网IP的服务器的 /systemd/system/ 目录下

# 在远端服务器上执行
cd /lib/systemd/system

编辑 frps.service 文件

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
# 更改为自己的用户名
User=nobody
Restart=on-failure
RestartSec=5s
# 请根据实际情况修改 frps 的路径
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

启动 frps 服务

systemctl daemon-reload
systemctl enable frps
systemctl start frps
systemctl status frps