![CentOS 禁用 IPv6 SLAAC EUI-64 地址生成](https://linux22.com/image/760803/CentOS%20%E7%A6%81%E7%94%A8%20IPv6%20SLAAC%20EUI-64%20%E5%9C%B0%E5%9D%80%E7%94%9F%E6%88%90.png)
在 CentOS 7.9.2009 版本上手动分配静态 IPv6 地址时,我注意到正在生成另一个(第二个)IPv6 地址,即所谓的 EUI-64,其中包含地址主机部分中间的 ff::fe。我想删除它并只保留手动分配的地址,但不幸的是无法做到。目前在接口下我有以下参数。
/etc/sysconfig/network-scripts/ifcfg-br0
界面如下:
DEVICE=br0
BOOTPROTO=static
NM_CONTROLLED=no
ONBOOT=yes
USERCTL=no
TYPE=Bridge
MACADDR=01:02:03:01:02:03
MTU=9000
IPADDR=MY_PUBLIC_IPV4
PREFIX=29
NETWORK=MY_PUBLIC_IPV4_NETWORK
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6INIT=yes
IPV6_AUTOCONF=no
DHCPV6C=no
IPV6ADDR=MY_GLOBAL_IPV6/48
IPV6_DEFAULTGW=MY_GLOBAL_IPV6_GATEWAY
IPV6_MTU=9000
ZONE=public
接口本身正在启动,L2 和 L3 网络在 v4 和 v6 上运行良好,但是当我发出命令时
ip addr show dev br0
我不仅看到了静态配置的 ipv6,还看到了基于 EUI-64 生成的第二个 ipv6。我想删除这个第二个 IPv6。如何在 CentOS 中做到这一点?
我还从所有区域删除了 dhcpv6-client 服务,以查看是否会改变任何内容,但事实并非如此。
firewall-cmd --zone=internal --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=home --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=block --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=dmz --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=drop --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=external --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=trusted --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=work --remove-service=dhcpv6-client --permanent
之后,我重新加载了防火墙,以确保万无一失。
firewall-cmd --reload
如何在 CentOS/RHEL/FEDORA 中摆脱该 EUI-64 地址?
跑步:
Linux server 3.10.0-1160.6.1.el7.x86_64 #1 SMP Tue Nov 17 13:59:11 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
我试图删除的有问题的 IPv6 地址具有范围:范围全局 mngtmpaddr 动态,即我们在这里不讨论链接本地地址,即不是 fe80::
答案1
就我而言,
IPV6_AUTOCONF=no
在接口配置下。还必须在/etc/sysconfig/network
然后 SLAAC 被完全禁用,EUI-64 地址也被禁用。