![如何從介面中僅刪除一個 IPv6 位址?](https://rvso.com/image/1476418/%E5%A6%82%E4%BD%95%E5%BE%9E%E4%BB%8B%E9%9D%A2%E4%B8%AD%E5%83%85%E5%88%AA%E9%99%A4%E4%B8%80%E5%80%8B%20IPv6%20%E4%BD%8D%E5%9D%80%EF%BC%9F.png)
我的主機板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
- 進入 VLAN 1 介面的介面配置模式。 SEFOS# 設定終端 SEFOS(config)# 介面 vlan 1
- 刪除為該介面配置的 IPv6 位址。 SEFOS(config-if)# 無 ipv6 位址 fec0::1111:0:1 96 SEFOS(config-if)# 無 ipv6 位址 fe80::203:2ff:fe03:501 連結本機 SEFOS(config-if)# 退出SEFOS(設定)#退出
- 查看 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