Linuxでネットワーキングを実行するためにsystemdを使用しているときに奇妙な問題が発生しました。
私のネットワークはeth0
DHCPサーバーを介して会社のネットワークに接続されています。
# more /etc/systemd/network/main.network
#Main connection to the outside world
[Match]
Name=eth0
[Network]
DHCP=yes
IPForward=yes
# networkctl status eth0
2: eth0
Link File: n/a
Network File: /etc/systemd/network/main.network
Type: ether
State: routable (configured)
HW Address: 00:03:2d:32:85:3a (IBASE Technology, Inc.)
MTU: 1500
Address: 10.0.7.134
fe80::203:2dff:fe32:853a
Gateway: 10.0.7.1
DNS: 10.0.7.10
しかし、オンラインスタンバイサービスが失敗しました。
# /lib/systemd/systemd-networkd-wait-online --interface eth0 --timeout=10
ignoring: sit0
Event loop failed: Connection timed out
システムに有効なIPアドレスが付与されているのに、eth0
なぜオンラインになれないのか理解できません。
システムにeth1
接続されていない他のインターフェイスがあります。
答え1
そのフラグを指定しましたが、systemd-networkd-wait-online
他のインターフェイスが表示されるのを待っているようです。マンページにはフラグがまたは形式である必要があるとマークされていますが、--interface
最初に提供したフラグ形式が表示されるため、これが問題になる可能性があります。--interface eth0
-i eth0
--interface=eth0
マンページによると、この問題を解決するもう1つの方法は、--any
すべてのインターフェイスがオンラインになるのを待つコマンドを実行することです。
つまり
systemd-networkd-wait-online --any
返信するこの問題systemd-networkd
および構成について見つけた構成に関する情報ここまた、次のコマンドを実行して、この待機を実行するsystemdサービスを編集する方法も示します。
sudo systemctl edit systemd-networkd-wait-online.service
次に、次のように入力します。
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any