downさせた実NICのIPアドレスを削除したい
最初はSolarisのunplumb的な動きをしてくれるオプションをifconfigで探したんだけれど、どうもなさそう。
調べてみるとLinuxではipコマンドで削除するのが良さそうなのでメモ。
■まずはIPアドレスを設定
普通にifconfigコマンドで設定してみる。
当然ながらIPアドレス設定に成功してステータスもUPとなっている。
$ ifconfig eth1 172.16.100.100 $ ifconfig eth1 eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.16.100.100 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::226:2dff:fe0b:34db/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:23 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:480 (480.0 b) TX bytes:1802 (1.7 KiB) Memory:cd1c0000-cd1e0000
■NICをdownさせる
本当は、ここでIPアドレスも解放してほしい...しかし、してくれない。
もちろんステータス的にはUPが消えてdown状態となっている。
※IPエイリアス(eth0:N)は、down時に解放しているみたい。
$ ifconfig eth1 down $ ifconfig eth1 eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.16.100.100 Bcast:172.16.255.255 Mask:255.255.0.0 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:480 (480.0 b) TX bytes:2298 (2.2 KiB) Memory:cd1c0000-cd1e0000
■ipコマンドで削除する
これでキレイになった。
$ ip addr del 172.16.100.100/16 dev eth1 $ ifconfig eth1 eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:480 (480.0 b) TX bytes:2298 (2.2 KiB) Memory:cd1c0000-cd1e0000
ifconfigコマンドでも、これくらいできればいいのにね...所詮はipコマンドのラッパーだからか...