CentOS6からのNICに複数IPを設定する方法です。
NIC設定ファイルで設定(サーバ再起動でも設定は消えません)
CentOS5までは、一枚のNICに複数のIPを設定する場合は、「ifcfg-eth0:1」といったような設定ファイルを作って設定を行ってきましたが、CentOS6からは「ifcfg-eth0」ファイルに複数のIPアドレスを設定できるようになりました。
設定書式
「IPADDR」と「PREFIX」の後に番号を振ることで、複数のIPアドレスを設定することができます。
IPADDR=xxx.xxx.xxx.xxx PREFIX=xx IPADDR1=xxx.xxx.xxx.xxy PREFIX1=xx IPADDR2=xxx.xxx.xxx.xxz PREFIX2=xx
上記は「IPADDR1」「PREFIX1」と「IPADDR2」「PREFIX2」を追加した場合の例です。
設定例
「192.168.1.160/24」のIPアドレスを設定している「eth0」のNICに、追加で「192.168.1.161/24」と「192.168.1.162/24」のアドレスを追加で設定した場合の例です。
# vi /etc/sysconfig/network-script/ifcfg-eth0
設定例
IPアドレス設定部分を抜粋しています。
IPADDR=192.168.1.160 PREFIX=24 IPADDR1=192.168.1.161 PREFIX1=24 IPADDR2=192.168.1.162 PREFIX2=24
設定反映
設定ファイルの編集後「network」サービスを再起動することで設定を反映させることが出来ます。
CentOS6の場合
「service」コマンドを使用して「network」サービスを再起動します。
# service network restart
CentOS7の場合
「systemctl」コマンドを使用して「network」サービスを再起動します。
# systemctl restart network
設定確認
設定の確認には「ip addr」コマンドを使用します。
「ip addr」コマンドを使用して設定を確認すると、複数のIPが設定されていることが確認できます。
# ip addr show eth0 2: eth0:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:07:cf:27 brd ff:ff:ff:ff:ff:ff inet 192.168.1.160/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.161/24 brd 192.168.1.255 scope global secondary eth0 inet 192.168.1.162/24 brd 192.168.1.255 scope global secondary eth0 inet6 fe80::20c:29ff:fe07:cf27/64 scope link valid_lft forever preferred_lft forever
「ifconfig」コマンドを使用すると、設定されたIPが表示されませんので注意してください。
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:07:CF:27 inet addr:192.168.1.160 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe07:cf27/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:66248 errors:0 dropped:0 overruns:0 frame:0 TX packets:25519 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:51776757 (49.3 MiB) TX bytes:2960680 (2.8 MiB)
nmcliコマンドで設定(サーバ再起動でも設定は消えません)
CentOS7であれば、「nmcli」コマンドを使用することでも、NICに複数IPを設定することが出来ます。
設定書式
nmcli connection modify デバイス名 +ipv4.addresses "IPアドレス/ネットマスク(10進数)"
設定例
「eno1677984」というデバイスに、「192.168.1.153/24」のIPアドレスを追加する場合は、下記のように設定を行います。
# nmcli connection modify eno16777984 +ipv4.addresses "192.168.1.153/24"
※ ちなみに、「nmcli c m eno16777984 +ipv4.addresses "192.168.1.152/24"」 といったように、すこしコマンドを省略することもできます。
このコマンドを実行すると、NICの設定ファイルに「IPADDR1=192.168.1.153」「PREFIX1=24」といったように設定が追加されます。
設定反映
「nmcli」コマンドで設定を行った場合も、「systemctl」コマンドで「network」サービスを再起動することで、設定を反映させることが出来ます。
# systemctl restart network
IPコマンドで設定(サーバ再起動で設定が消えます)
「ip addr add」コマンドを使用することで、一時的に複数(secondary)IPアドレスを設定することが出来ますが、この方法は一時的に設定する場合の方法ですので、サーバを再起動すると設定は消えてしまいます。
また、コマンドを実行した時点ですぐに設定は反映されます。
設定書式
ip addr IPアドレス/ネットマスク(10進数) dev デバイス名
設定例
「eth0」のNICデバイスに「192.168.1.161/24」のIPアドレスを追加場合の例です。
# ip addr add 192.168.1.161/24 dev eth0
設定確認
NICにIPアドレスを追加されているか、「ip addr」コマンドで確認してみます。
「ip addr add」コマンドでIPアドレスを追加した場合は、即時反映されるので「network」サービスの再起動処理は必要ありません。
# ip addr show eth0 2: eth0:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:07:cf:27 brd ff:ff:ff:ff:ff:ff inet 192.168.1.160/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.161/24 scope global secondary eth0 inet6 fe80::20c:29ff:fe07:cf27/64 scope link valid_lft forever preferred_lft forever
「192.168.1.161/24」が追加されていることが確認できました。
コメント