Я хочу, чтобы мой компьютер подключался по telnet к удаленной машине (напрямую подключенной к Ethernet) при загрузке. Я добавляю 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
обратная связь.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