我有一台已禁用 IPv6 的 RHEL 6.3 服务器。如果我输入 ifconfig,则会得到以下信息:
eth0 Link encap:Ethernet HWaddr 00:50:56:9F:0F:61
inet addr:10.3.72.76 Bcast:10.3.75.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1708252 errors:0 dropped:0 overruns:0 frame:0
TX packets:27566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:409249072 (390.2 MiB) TX bytes:4583283 (4.3 MiB)
我的问题是,由于缺少 IPv6,我们的产品无法使用,我希望能够重现这种情况(这样我们以后就不会再这样失败了)。不幸的是,我不知道 IPv6 是如何被禁用的。
我知道禁用 IPv6 的一种方法是在 /etc/sysconfig/network 文件中将 NETWORKING_IPV6 和 IPV6INIT 设置为 false。但尚未这样做:
[root@foo bin]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=foo.ds.net
我知道的另一种方法是禁用 ipv6 模块。但是,这也没有做到:
[root@foo bin]# lsmod | grep ipv6
ipv6 322541 0
我想尽可能地重现这种情况,但我不知道对该服务器做了什么来禁用 IPv6。有人有什么想法吗?
答案1
我的第一个猜测是一些 /etc/sysctl* 设置,一些脚本更改 /proc/sys/net/ipv6/* 或 /etc/rc.local 中的类似内容,但很难给出答案,因为有很多地方可以做到这一点。
答案2
有一个很好的答案,但为了以防万一,我会添加我的其他场景:旧版本的 ifconfig 中有一个错误,当你有复杂的接口名称时,它会停止显示 ipv6 地址。使用
ip -6 addr ls
确保分配了 IPv6 地址。