Ubuntu16.04でセカンダリIPアドレス追加
networking - How do I add an additional IP address to /etc/network/interfaces? - Ask Ubuntu とそこでコメントされていた NetworkConfiguration - Debian Wiki の iproute2 method を見て試してみたメモです。
NetworkConfiguration - Debian Wiki の iproute2 method で書かれていたのは /etc/network/interfaces
で同じネットワークインタフェース名に対して iface
セクションを繰り返して複数書くという方式です。ドライバとハードウェアの組み合わせによっては正しく動かず危険とのことなので要注意です。
/etc/network/interfaces
を管理者権限で編集します。
sudo vim /etc/network/interfaces
私の手元の環境で enp0s25
の設定を以下のようにして試してみました。
auto enp0s25
iface enp0s25 inet static
address 192.168.2.200
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 192.168.2.1
iface enp0s25 inet static
address 192.168.2.203
netmask 255.255.255.0
ネットワーク再起動。
sudo systemctl restart networking
IPアドレスは期待通りついていました。
$ ip a s dev enp0s25 | grep 'inet '
inet 192.168.2.200/24 brd 192.168.2.255 scope global enp0s25
inet 192.168.2.203/24 brd 192.168.2.255 scope global secondary enp0s25
ですが、DNSの名前解決ができない状態でした。
具体的には ping 8.8.8.8
はOKですが ping ping google-public-dns-a.google.com
はNGでした。
NetworkConfiguration - Debian Wiki の iproute2 method のManual approachを試してみるとこちらでは問題なかったです。
が、 label $IFACE:0
と :0
付きだと Legacy method と実質同じだったりしないのかなと気になりました。
:0
を取って試してみようかとも思ったのですが、ふと思いついて以下のように2個めの iface
にも dns-nameservers
を書くようにしてみたら、DNSの名前解決もできました。
auto enp0s25
iface enp0s25 inet static
address 192.168.2.200
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 192.168.2.1
iface enp0s25 inet static
address 192.168.2.203
netmask 255.255.255.0
dns-nameservers 192.168.2.1
正しい方法かは不明ですが、とりあえず手元の環境ではこれでできたということでメモでした。