如何自动重启 sshuttle

如何自动重启 sshuttle

我正在使用 sshuttle 通过 ssh 跳转服务器自动路由一些流量。它运行良好,但在某些情况下,例如切换到另一个 Wifi 网络时,连接会中断,我必须手动重新启动 sshuttle。

是否可以以某种方式启动 sshuttle,使其在网络连接再次可用时自动重新启动?

我们已经建立了一个解决方法,until循环重试直到再次连接,但我觉得这不对吗?

答案1

只需使用systemd它,首先创建一个systemd服务文件sshutle

sudo nano /etc/systemd/system/sshuttle.service

然后将其放入其中(将your_username和替换ssh_jump_server为您的 ssh 跳转服务器的地址,将另一个替换为您要路由的网络sshutle

[Unit]
Description=sshuttle tunnel

[Service]
Restart=always
User=<your_username>
Group=<your_username>
ExecStart=/usr/bin/sshuttle -r <ssh_jump_server> <local_network>

[Install]
WantedBy=multi-user.target

然后您可以保存并重新加载,systemd sudo systemctl daemon-reload然后启用我们的新sshuttle服务在启动时启动,现在sshutle服务在退出时自动重新启动,如果网络连接丢失,则sshutle当连接再次工作时,服务将自动重新启动。

相关内容