systemd 实现端口转发

警告
本文最后更新于 2022-04-16,文中内容可能已过时。

基于 Linux 守护进程服务 systemd 实现了端口转发功能,这里有一个小坑,为了保证系统监控到 ssh,需要程序驻留在主进程,也就是不能添加 -f 这个参数选项。

配置 service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## CentOS
cd /usr/lib/systemd/system

## Ubuntu
cd /etc/systemd/system

## 创建服务
vim port_forwarding.service

[Unit]
Description=PordForwaring-Daemon
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
## 使用用户执行命令
User=william
Restart=on-failure
RestartSec=5s
## 注意不能添加 -f 的选项
#ExecStartPre=
ExecStart=/usr/bin/ssh -NC -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 100" -o "ExitOnForwardFailure=True" -R *:10088:localhost:22 lfang@192.168.1.178
#ExecStartPost=

[Install]
WantedBy=multi-user.target

启动服务

1
2
3
4
5
6
7
systemctl daemon-reload
systemctl enable port_forwarding.service
systemctl start  port_forwarding.service
systemctl status port_forwarding.service

## 查看运行日志
journalctl -u port_forwarding.service

相关内容

william 支付宝支付宝
william 微信微信
0%