frps 服务端

frps 复制到 /usr/bin,将 frps.ini 复制到 /etc/frp 目录。

编辑 frps 配置文件

~$ sudo nano /etc/frp/frps.ini

[common]
bind_port = 7000
privilege_token = 1234567890

创建 systemd 配置文件:

~$ sudo nano /lib/systemd/system/frps.service

[Unit]
Description=frp is a fast reverse proxy.
After=network.target

[Service]
Type=simple
User=herald
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

frpc 客户端

frpc 复制到 /usr/bin,将 frpc.ini 复制到 /etc/frp 目录。

编辑 frpc 配置文件:

~$ sudo nano /etc/frp/frpc.ini

[common]
server_addr = 45.63.45.63
server_port = 7000
login_fail_exit = false
privilege_token = 1234567890

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[syncthing]
type = tcp
local_port = 8384
remote_port = 8888

创建 systemd 配置文件:

~$ sudo nano /lib/systemd/system/frpc.service

[Unit]
Description=frp is a fast reverse proxy.
After=network.target

[Service]
Type=simple
User=herald
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc -c /etc/frp/frpc.ini --reload
Restart=on-failure

[Install]
WantedBy=multi-user.target

为了避免服务端未启动时客户端自动退出,在 /etc/frp/frpc.ini 配置文件中的 common 部分增加 login_fail_exit = false 项。

sys-init 启动脚本

适用于 alpine linux 的 frp 客户端启动脚本,将 command 替换成 frpc 二进制文件的实际路径。

#!/sbin/openrc-run

name="busybox $SVCNAME"
command="/mnt/disk/frp/$SVCNAME"
command_args="-c /etc/frp/frpc.ini &"