読者です 読者をやめる 読者になる 読者になる

らくがきちょう

なんとなく

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

Network macOS

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

IP アドレスを追加する

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

$ 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

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

$ 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 アドレスが表示されています。

$ 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

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

$ 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

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

$ 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