如何自动删除inet6链接地址?

如何自动删除inet6链接地址?

eth0 接口上有一个 inet6 地址:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:d9:46:f5  
          inet6 addr: fe80::20c:29ff:fed9:46f5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4133 (4.1 KB)  TX bytes:32902 (32.9 KB)
          Interrupt:19 Base address:0x2024 

我不需要这个地址,我使用以下命令将其删除:

sudo ifconfig eth0 inet6 del fe80::20c:29ff:fed9:46f5/64

但是,每次我重新启动系统时,这个地址就会出现。

如何禁用自动配置的 inet6 地址?

答案1

你不能,这就是 IPv6 的工作方式。(但是,你可以禁用 IPv6。见下文。)

解释:

IPv6 不使用地址解析协议要查找哪个 MAC 地址属于哪个 IP,它使用邻居发现协议。作为核心概念,NDP 通过 IP 而非以太网帧工作,因此它需要一个 IP 地址才能进行通信。这就是“fe80”链路本地地址。

解决方案:

如果您根本不想使用 IPv6,我建议您通过添加以下行将 Linux 内核中的 IPv6 模块列入黑名单/etc/modprobe.d/blacklist.conf

blacklist ipv6

重新启动后,所有 IPv6 地址都应该消失。

然而,如果你确实打算使用 IPv6,我建议你认真考虑一下阅读它,否则你将陷入痛苦和安全问题的世界。

相关内容