systemd-networkd構成ファイルを使用してTapインターフェースを構成しようとしています。次のファイルを作成しました。
/etc/systemd/network/tap_test.network
/etc/systemd/network/tap_test.netdev
コンテンツ:
tap_test.network:
[Match]
Name=tap_test
[Network]
Description=TEST tap interface
Address=192.168.2.100
tap_test.netdev:
[Match]
[NetDev]
Name=tap_test
Kind=tap
その後、systemd-networkd
サービスを再起動します。
sudo systemctl restart systemd-networkd.service
期待どおりにifconfig
実行すると、新しいクリックインターフェイスが表示されます。しかし、設定ファイルのIPアドレスをtap_test.network
itで終わるように変更し101
て再起動しようとすると、systemd-networkd
再実行しても何も変わりませんifconfig
(IPアドレスはまだ古いアドレスです)。
また、インターフェイスを終了しifconfig tap_test down
てサービスを再起動してみましたが、やはり役に立ちませんでした。
systemd-networkdに設定ファイルを再ロードするように指示する方法は?
答え1
見積もりsystemd.netdev(5):
Networkd は起動時に仮想ネットワークデバイスを作成します。指定された名前のnetdevがすでに存在する場合、networkdは独自のnetdevを作成するのではなく、そのnetdevをそのまま使用します。 networkdは既存のnetdevの設定を変更しません。
明らかに、これは意図的に設計されています。 (可能な場合)タブデバイス割り当てを直接解放し、必要なコマンドをExecStopPost=
デバイスに追加する方法を見つける必要があると思いますsystemd-networkd.service
。
後者のプラグインを使用できます。
/etc/systemd/system/systemd-networkd.service.d/tuntap.conf
:
[Service]
ExecStopPost=<your command goes here>
答え2
代わりにifdown tap_test
andを試してください。ifup tap_test
ifconfig
要点は、ifup
より多くのことをすることです。ifconfig
最小です。
ifup ethX
設定ファイルを使用し、正しいIPアドレスなどでインターフェイスを起動します。
ifconfig ethX up
インターフェイスを起動します。