
【2024年令和最新版】いまどきのDebianで1つのNICに複数IPを設定するIPエイリアスを設定するには

1つのLANポートに2つ以上のIPアドレスを設定する「IPエイリアス」について調べる機会があったので調べると、未だに「eth0:0と書く」と書いてある古すぎる記事ばかり引っかかって辟易。
IPエイリアスについては、以前「systemd-networkdを使って固定IPを簡単に設定するを書いたとき最後に付け足しで少し書いたけど、古い情報がこんなにはびこったままなのは悪なので/etc/network/interfaces
の方法も合わせてまとめておきます。「netplanをインストールしろ」と書いてある記事もゴミです。
- 参照元
- NetworkConfiguration - Debian Wiki: https://wiki.debian.org/NetworkConfiguration
- 第5章 ネットワークの設定: https://www.debian.org/doc/manuals/debian-reference/ch05.ja.html
IPエイリアスを設定する方法は全部で3つ。「/etc/network/interfacesを使う」「systemd-networkdで使う」「NetworkManager(nmcli)で使う」です。ではどうぞ。
1. /etc/network/interfacesでIPエイリアス
こちらの情報はDebian Wikiに載っています。
/etc/network/interfaces
に設定する場合は、連続して書けば設定されます。例は、Debian Wikiからのほぼ引き写しで連続してIPを設定しています。
設定例の最後にaddress 10.10.10.14/24
と書いているような異なるサブネットも設定できます。
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.1.42/24
gateway 192.168.1.1
iface enp0s3 inet static
address 192.168.1.43/24
# adding IP addresses from different subnets is also possible
iface enp0s3 inet static
address 10.10.10.14/24
もう1つの方法はipコマンドで追加する方法ですね。上の方がわかりやすいので、これを使う機会はないような気がします。
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.1.42/24
gateway 192.168.1.1
up ip addr add 192.168.1.43/24 dev $IFACE label $IFACE:0
down ip addr del 192.168.1.43/24 dev $IFACE label $IFACE:0
# adding IP addresses from different subnets is also possible
up ip addr add 10.10.10.14/24 dev $IFACE label $IFACE:1
down ip addr del 10.10.10.14/24 dev $IFACE label $IFACE:1
2. systemd-networkdでIPエイリアス
こちらは以前書いたものを持ってきました。
- 参考: networking - add multiple static ip addresses to a server with systemd-networkd - Super User: https://superuser.com/questions/775884/add-multiple-static-ip-addresses-to-a-server-with-systemd-networkd
systemd-networkdの設定ファイル、たとえば/etc/systemd/network/enp3s0.network
が設定ファイルとするとその設定ファイルのNetworkセクションにAddressを続けて書けばよいです。上の例をsystemd-networkdで設定するならこんな感じです。
[Match]
Name=enp3s0
[Network]
Address=192.168.1.42/24
Address=192.168.1.43/24
Gateway=192.168.1.1
3. nmcliでIPエイリアス
正直いうとNetworkManagerを使うぐらいならsystemd-networkdを使うので自分は使いませんが、もしかすると使う場合もあるかもしれないので、nmcli
を使って設定する場合も書いておきます。
- 参考: Configure Secondary IP Address on Debian 12/11/10 - TechViewLeo: https://techviewleo.com/configure-secondary-ip-address-on-debian/
nmcli con mod enp3s0 +ipv4.addresses 192.168.1.43/24
nmcli con up enp3s0
まとめ
これだけあれば大丈夫なはず。もういい加減、eth0:0
が消えますように。