Debian 9 Stretchに移行計画中です。今回の内容は、一つのNIC(ネットワークインタフェース)で複数のIPアドレスを利用する設定方法です。Jessieでのeth0:0,eth0:1,eth0.2…と設定する方法ではエラーが出て起動しなくなりました。NICの名前がお馴染みのeth0からenp2s0のように見慣れない名前になったのが原因でした。
恒久的な設定方法
常に複数の固定IPアドレスを使う設定に変更する場合は /etc/network/interfaces を編集します。ひとつのNICで3つのIPアドレスを利用する場合の、Jessieでの設定内容とStretchでの設定内容です。IPアドレスはダミー値です。
まずはJessieで利用していた /etc/network/interfaces の内容です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet static address 222.222.222.222 netmask 255.255.255.0 gateway 222.222.222.1 allow-hotplug eth0:0 iface eth0:0 inet static address 222.222.222.223 netmask 255.255.255.0 allow-hotplug eth0:1 iface eth0:1 inet static address 222.222.222.224 netmask 255.255.255.0 |
続いてStretchで上手くいった /etc/network/interfaces の内容です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
auto lo iface lo inet loopback allow-hotplug enp2s0 iface enp2s0 inet static address 222.222.222.222 netmask 255.255.255.0 gateway 222.222.222.1 iface enp2s0 inet static address 222.222.222.223 netmask 255.255.255.0 iface enp2s0 inet static address 222.222.222.224 netmask 255.255.255.0 |
確認
サーバーを再起動後にIPアドレスを調べて確認します。打ち間違えがあるとエラーで起動しないので、テストはサーバー機の近くにいる時にした方が良いでしょう。
1 |
ip address |
IPアドレスの確認といえばifconfigがお馴染みですが、今回のStretchには標準でifconfigはインストールされていません。Linuxではifconfigは非推奨になっており、iproute2(ipコマンド)を利用するのが推奨なのだそうです。
一時的にIPアドレスを追加するなら
一時的にIPアドレスを追加して使したい場合は、iproute2(ipコマンド)を利用します。
1 2 |
# ip address add 222.222.222.225/24 dev enp2s0 # ip address add 222.222.222.226/24 dev enp2s0 |
追加したIPアドレスを外す場合です。サーバー再起動でも外れます。
1 2 |
# ip address del 222.222.222.225/24 dev enp2s0 # ip address del 222.222.222.226/24 dev enp2s0 |
enp2s0の意味
今回のNICの名前はenp2s0でしたが、これは搭載NICの種類やインターフェイスによって名前が違うようです。
- en…イーサネット (Ethernet)
- p2…バス ナンバー
- s0…スロット ナンバー
というようにハードウェア構成により固有の名前が付きます。eth0だと1番目のNICという意味で分かりやすいですが、複数NICになるとどれが何番目かややこしくなるのに比べるとこちらの方が良いのでしょうか
固定IPは確かに登録できるようですが
apt updateではエラーが出るようです。
原さん
Stretchを新規インストールしたときの内容です。
Jessieからのアップグレードでは未確認です。