web-dev-qa-db-ja.com

インターフェイスからIPv6アドレスを1つだけ削除するにはどうすればよいですか?

linux kernel 2.6.23.12どこにeth0インターフェースは2つのIPv6アドレスを持っています。

root@ramana:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FF:AB:CD:EF:85:94  
          inet addr:192.168.20.107  Bcast:192.168.20.255 Mask:255.255.255.0
          inet6 addr: fe80::20d:b9ff:fe3c:8594/64 Scope:Link
          inet6 addr: 2001:1890:110e:1111::a245/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12197 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:587799 (574.0 KiB)  TX bytes:2057305 (1.9 MiB)
          Interrupt:10 Base address:0x4000

これで最初のipv6アドレスを無効にしたいと思います。それ、どうやったら出来るの?

さて、質問があります ここ 。しかし、私のカーネルにはそのようなファイルはありません。

5
Ramana Reddy

通常、ネイバーディスカバリー(IPv6 ARPなど)などのコアIPv6機能が機能するために必要なため、リンクローカルアドレスは本当にすべきではない削除します。

つまり、ip addr IPv4/6アドレスを追加または削除するには:

ip addr del 2001:1890:110e:1111::a245/64 dev eth0

ipは最新のLinuxネットワーク構成ツールであり、ifconfigはLinuxでは使用しないでください。それでも個々のアドレスを削除できますが、IPv6の場合のみです。

ifconfig eth0 del 2001:1890:110e:1111::a245/64
9
user1686

その最初のIPv6アドレスはリンクローカルアドレスです。すべてのIPv6インターフェースに1つ必要です。インターフェイスが複数のIPv6アドレスを持つことは完全に正常です。

4
Sander Steffann