Skip to content

OS X で NIC に複数の IP アドレスを割り当てるには

検証や作業時、NIC に複数の IP アドレスを割り当てておくと便利な場合があります。OS X で NIC に複数の IP アドレスを割り当てるには ifconfig NIC alias コマンドを使います。

IP アドレスを追加する

alias 設定前は以下のようになっていました。今回は en4 インターフェイスで検証します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ ifconfig en4
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=23<RXCSUM,TXCSUM,TSO4>
    ether 00:24:9b:0b:89:b4
    inet6 fe80::224:9bff:fe0b:89b4%en4 prefixlen 64 scopeid 0x4
    inet6 2001:db8::77 prefixlen 64
    inet 192.168.253.102 netmask 0xffffff00 broadcast 192.168.253.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (1000baseT <full-duplex>)
    status: active

en4 インターフェイスに以下の 5 アドレスを追加で割り当てます。

  1. 172.16.1.1/24
  2. 172.16.2.1/24
  3. 172.16.3.1/24
  4. 172.16.4.1/24
  5. 172.16.5.1/24

設定コマンドは以下の通りです。

1
2
3
4
5
$ sudo ifconfig en4 alias 172.16.1.1 netmask 0xffffff00
$ sudo ifconfig en4 alias 172.16.2.1 netmask 0xffffff00
$ sudo ifconfig en4 alias 172.16.3.1 netmask 0xffffff00
$ sudo ifconfig en4 alias 172.16.4.1 netmask 0xffffff00
$ sudo ifconfig en4 alias 172.16.5.1 netmask 0xffffff00

設定後のインターフェイス状態は以下の通りです。追加設定した IP アドレスが表示されています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$ ifconfig en4
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=23<RXCSUM,TXCSUM,TSO4>
    ether 00:24:9b:0b:89:b4
    inet6 fe80::224:9bff:fe0b:89b4%en4 prefixlen 64 scopeid 0x4
    inet6 2001:db8::77 prefixlen 64
    inet 192.168.253.102 netmask 0xffffff00 broadcast 192.168.253.255
    inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
    inet 172.16.2.1 netmask 0xffffff00 broadcast 172.16.2.255
    inet 172.16.3.1 netmask 0xffffff00 broadcast 172.16.3.255
    inet 172.16.4.1 netmask 0xffffff00 broadcast 172.16.4.255
    inet 172.16.5.1 netmask 0xffffff00 broadcast 172.16.5.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (1000baseT <full-duplex>)
    status: active

IP アドレスを削除する

反対に、IP アドレスを削除する場合は ifconfig NIC -alias コマンドを使います。今回は以下のアドレスを削除します。

  1. 172.16.2.1/24
  2. 172.16.3.1/24
  3. 172.16.4.1/24

設定コマンドは以下の通りです。

1
2
3
$ sudo ifconfig en4 -alias 172.16.2.1 netmask 0xffffff00
$ sudo ifconfig en4 -alias 172.16.3.1 netmask 0xffffff00
$ sudo ifconfig en4 -alias 172.16.4.1 netmask 0xffffff00

設定後のインターフェイス状態は以下の通りです。削除したアドレスは表示されません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ ifconfig en4
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=23<RXCSUM,TXCSUM,TSO4>
    ether 00:24:9b:0b:89:b4
    inet6 fe80::224:9bff:fe0b:89b4%en4 prefixlen 64 scopeid 0x4
    inet6 2001:db8::77 prefixlen 64
    inet 192.168.253.102 netmask 0xffffff00 broadcast 192.168.253.255
    inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
    inet 172.16.5.1 netmask 0xffffff00 broadcast 172.16.5.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (1000baseT <full-duplex>)
    status: active