だから/etc/systemd/networkにlan.networkファイルがあります:
[Match]
Name=eth0
[Network]
DHCP=no
[Address]
Address=192.168.59.1/24
時々、他のデバイスは同じインターフェイスにインポートされますが、別々のサブネット(192.168.1.x)にあります。デバイスにアクセスするために、オプションでインターフェイスで2つのIPアドレスを実行したいと思います。 systemdでこれを行う最善の方法は何ですか?
/etc/network/interfaces
以前のバージョンの Debian (Wheezy) で以下を編集して取得しました:
auto eth0
iface eth0 inet static
address 192.168.59.1
iface eth0:1 inet static
address 192.168.1.5
したがって、デフォルトでeth0インターフェイスが有効になっていて192.168.1.xにアクセスする必要がある場合は、次のようにします。
ifup eth0:1
。
答え1
私が理解したところによれば、これを永久に行うには、すべてのアドレスを一緒に積むだけです。つまり:
Address=192.168.59.1/24 192.168.1.5/24
答え2
Arch Linux、SystemD 249.2-1では、次の3つの方法のいずれも機能しません(この回答も試しました。)
-------------------------
[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
-------------------------
[Network]
Address=192.168.59.1/24 192.168.1.5/24
-------------------------
[Address]
Address=10.2.3.4/16
[Address]
Address=10.6.7.8/16
-------------------------
代わりに、単純な SystemD サービスを使用して起動後に 2 番目の IP を設定できます。この回答systemdサービスの作成の詳細...ボーナスポイント:この方法では、静的またはDHCPをベースアドレスとして使用できます。
- /usr/local/bin/second_ipをタッチします。
- chmod +x /usr/local/bin/second_ip
- ファイルを次のように編集します
#!/bin/bash ip address add 10.10.128.128/16 dev eth0
/etc/systemd/system/second-ip.serviceをタッチします。
ファイルを次のように編集します
systemctlは2番目のIPを有効にします。
[Unit] Description=second ip service After=network.target [Service] User=root ExecStart=/usr/local/bin/second_ip Type=simple [Install] WantedBy=multi-user.target