如何在RHEL 5.6上完全禁用IPv6回送接口

我已经做了大量的关于如何在RedHat Linux上禁用IPv6的研究,而且我几乎完全禁用了它。 但是,回送接口仍然得到一个inet6回送地址(:: 1/128)。 我找不到IPV6仍在启用环回的位置。

要禁用IPV6,我在/etc/sysctl.conf中添加了以下设置:

net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.all.disable_ipv6=1 

并且将以下行添加到/ etc / sysconfig / network:

 NETWORKING_IPV6=no 

重新启动后,inet6地址从我的物理接口(eth0)中消失了,但仍然存在于lo:

 # ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 10.xxx/21 brd 10.xxx scope global eth0 

如果我手动从回送中删除IPV6地址,然后popup界面,它会回来:

 # ip addr del ::1/128 dev lo # ip addr show lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo # ip link set lo down # ip link set lo up # ip addr show lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 

我相信IPV6应该在sysctl确认的内核级别被禁用:

 # sysctl net.ipv6.conf.lo.disable_ipv6 net.ipv6.conf.lo.disable_ipv6 = 1 

任何想法什么会导致回送接口获得IPV6地址?

1)通过创build文件/etc/modprobe.d/ECS.conf禁用ipv6内核模块,其中包含:

 alias net-pf-10 off alias ipv6 off 

2)编辑/ etc / sysconfig / network并设置:

 NETWORKING_IPV6=off 

3)禁用iptables的IPV6:

 chkconfig ip6tables off 

4)重新启动(我不build议手动删除ipv6内核模块)

我通常只使用modprobe / modload框架来禁用加载ipv6内核模块( /etc/modules ,Debian上的/etc/modprobe.d – Red Hat可能select了不同的目录),或者只是在构build时不build立IPv6支持一个定制的内核。