如何從介面中僅刪除一個 IPv6 位址?

如何從介面中僅刪除一個 IPv6 位址?

我的主機板linux kernel 2.6.23.12上的eth0介面有兩個 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 位址。我怎麼做?

那麼有一個問題這裡。但我的核心中沒有這樣的檔案。

答案1

一般來說,你真的不應該刪除鏈路本地位址,因為核心 IPv6 功能需要它才能運作,例如鄰居發現(即 IPv6 ARP)。

也就是說,您可以使用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

答案2

第一個 IPv6 位址是鏈路本地位址。每個 IPv6 介面都必須有一個。一個介面有多個 IPv6 位址是完全正常的。

答案3

若要從介面中刪除 IPv6 位址,您需要為「ip」指令指定「-6」參數,如下所示:

$ sudo ip -6 addr del fe80::20d:b9ff:fe3c:8594/64 dev eth0

如果沒有它,命令將成功執行,但介面不會發生任何變化。

答案4

  1. 進入 VLAN 1 介面的介面配置模式。 SEFOS# 設定終端 SEFOS(config)# 介面 vlan 1
  2. 刪除為該介面配置的 IPv6 位址。 SEFOS(config-if)# 無 ipv6 位址 fec0::1111:0:1 96 SEFOS(config-if)# 無 ipv6 位址 fe80::203:2ff:fe03:501 連結本機 SEFOS(config-if)# 退出SEFOS(設定)#退出
  3. 查看 VLAN 1 介面的 IPv6 資訊。 SEFOS# 顯示 ipv6 介面 vlan 1

vlan1 已啟動,線路協定已啟動 IPv6 已啟用 連結本機位址:fe80::214:4fff:fe6c:560f ... 當您刪除 IPv6 介面中的連結本機位址時,會自動設定鏈路本機位址。或點擊下面的連結了解更多信息 https://docs.oracle.com/cd/E39109_01/html/E24662/z40000f71393620.html

相關內容