系统启动时systemd的与网络有关的问题求助
发表于 : 2019-11-07 16:15
我想在系统启动时让系统自动建立到一个服务器的反向隧道,首先创建了/etc/systemd/system/autossh.service文件,其内容为:
[Unit]
Description= autossh
[Service]
ExecStart=/bin/sh /usr/local/bin/autossh.sh
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
After=network-online.target
Wants=network-online.target
其中要执行的脚本/usr/local/bin/autossh.sh里的命令是:
/bin/su -c 'ssh -CNfg -R 3583:127.0.0.1:22 xhsh@192.168.1.3' - xhsh
测试时,直接运行systemctl start autossh.service成功,可以在实现在服务器上通过端口3583实现反向登陆我自己的机器。然而重启机器时,则提示Network is not reachable. 我怀疑是因为在启动这个服务时,系统网络还没准备好。请问After=和Wants=后面怎么写才能在系统的网络准备好后才开始启动这项服务?或者,systemd最后启动的服务是什么,以便我能把我的autossh服务放在systemd中的最后一个启动?谢谢!
[Unit]
Description= autossh
[Service]
ExecStart=/bin/sh /usr/local/bin/autossh.sh
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
After=network-online.target
Wants=network-online.target
其中要执行的脚本/usr/local/bin/autossh.sh里的命令是:
/bin/su -c 'ssh -CNfg -R 3583:127.0.0.1:22 xhsh@192.168.1.3' - xhsh
测试时,直接运行systemctl start autossh.service成功,可以在实现在服务器上通过端口3583实现反向登陆我自己的机器。然而重启机器时,则提示Network is not reachable. 我怀疑是因为在启动这个服务时,系统网络还没准备好。请问After=和Wants=后面怎么写才能在系统的网络准备好后才开始启动这项服务?或者,systemd最后启动的服务是什么,以便我能把我的autossh服务放在systemd中的最后一个启动?谢谢!