systemd 服务错误:启动后没有到主机的路由

systemd 服务错误:启动后没有到主机的路由

我希望我的计算机在启动时 telnet 到远程计算机(直接连接到以太网)。我feedback.service/etc/systemd/system/

[Unit]
Description=Feedback relay daemon
Wants=network-online.target network.target
After=network-online.target network.target

[Service]
Type=oneshot
WorkingDirectory=/usr/local/
ExecStart=/usr/local/bin/feedback.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

feeback.sh:

#!/bin/bash
telnet 192.180.0.60 9000
exit 0

我使用该选项After=network-online.target确保此脚本在网络配置完成后运行。但是,重启后systemctl status feedback仍然显示错误。似乎路由表在激活No route to host时设置不正确。feedback.sh

我已经检查过远程主机是否已启动并且网络可以访问。ping重启完成后我就可以远程主机了。我尝试sleep 10在脚本顶部添加,然后它运行良好。

#!/bin/bash
sleep 10
telnet 192.180.0.60 9000
exit 0

但这只是权宜之计。我需要一个真正的解决方案。

=====================2019/08/22 更新=============================

root@host# systemctl list-dependencies network-online.target
network-online.target
● └─networking.service

相关内容