パーソナルツール
現在の場所: ホーム Linuxの設定 複数IPアドレス設定

複数IPアドレス設定

Linuxで一つのNICに複数のIPアドレスを設定する方法です。

NIC(Network Interface Card)にIPアドレスを複数設定する方法です。

Redhat系Linuxの場合

Redhat系linux (FredoraCore CentOS Vine等) のIPアドレス設定ファイルはNICが1個ならば通常/etc/sysconfig/network-scripts/ifcfg-eth0 となります。1枚のNICに複数のIPを設定する場合はこの設定ファイルを流用してIPアドレスを設定していきます。

IPアドレスを追加していくたびに設定ファイルは以下のように増えていきます。

  • /etc/sysconfig/network-scripts/ifcfg-eth0 
  • /etc/sysconfig/network-scripts/ifcfg-eth0:1  <--追加IP設定1
  • /etc/sysconfig/network-scripts/ifcfg-eth0:2  <--追加IP設定2
  • /etc/sysconfig/network-scripts/ifcfg-eth0:3  <--追加IP設定3
静的IP(固定IP)の場合

一から作るのが面倒なので、既存の設定ファイルをコピーして編集していきます。 eth0がDHCPでIPを取得している場合などは、一から設定ファイルを作成してください。

# cp -p ifcfg-eth0  ifcfg-eth0:1
# vi ifcfg-eth0:1
設定内容

通常のIPアドレス設定と同様に設定ファイルを編集します。

DEVICE=eth0:1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0

設定反映

設定ファイルの変更が終了しても、その情報を反映させなくてはIPアドレスは変更されません。
/etc/rc.d/init.d/networkをrestartすることにより、設定が反映されます。

# /etc/rc.d/init.d/network restart
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ネットワークパラメーターを設定中:                          [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:                          [  OK  ]
設定確認

/etc/rc.d/init.d/networkのrestartが完了しましたら、ifconfig コマンドを使用して設定内容が正しく反映されているか確認します。

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:87:92:9C
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe87:929c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1445 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1175 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:126449 (123.4 KiB)  TX bytes:204789 (199.9 KiB)
          Interrupt:10 Base address:0x1080

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:C8:F9:CF
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:177 Base address:0x1080
※ ifconfig -a で、全てのデバイスの情報を表示させることができます。

一時的なIPアドレス追加

一時的にIPアドレスを追加したいという場合は、ifconfigコマンドを使用することにより IPアドレスを変更することができます。

※ただし、このコマンドで変更したIPアドレスはサーバの再起動や/etc/rc.d/init.d/network restart等で /etc/sysconfig/network-scripts/ifcfg-eth ファイルに設定されているIP情報に戻ってしまいます。

書式

ifconfig [デバイス名] [IPアドレス] netmask [サブネットマスク]

設定例

ネットワークデバイスeth0:1に172.16.0.1/16のIPアドレスを
ネットワークデバイスeth0:2に192.168.200.5/24のIPアドレスを設定する場合

# ifconfig eth0:1 172.16.0.1 netmask 255.255.0.0
# ifconfig eth0:2 192.168.200.5 netmask 255.255.255.0
設定確認
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:C8:F9:CF
          inet addr:192.168.85.128  Bcast:192.168.85.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:202667 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23295066 (22.2 MiB)  TX bytes:10431848 (9.9 MiB)
          Interrupt:177 Base address:0x1080

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:C8:F9:CF
          inet addr:172.16.0.1  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:177 Base address:0x1080

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:C8:F9:CF
          inet addr:192.168.200.5  Bcast:192.168.200.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:177 Base address:0x1080

----- 以下省略 -----