同事一个SUSE Linux Enterprise Server 11 SP3环境配置ipv6地址失败,提示不支持IPv6,请求帮助,第一反应是应该ipv6相关内核模块没有加载。
主要检查内容:
ipv6地址是否存在
ifconfig |grep inet6
没有默认inet6地址
ipv6模块是否存在
代码语言:javascript复制 modinfo -n ipv6
/lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6.ko
modinfo -n ipv6_lib
/lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6_lib.ko
系统是否加载IPv6相关模块
代码语言:javascript复制lsmod |grep ipv6
lsmod |grep ipv6
ipv6_lib 341467 0
只有ipv6_lib模块,没有主模块ipv6
从上面信息得知,ipv6模块是存在的,只是加载出现了问题,由此想到可能是配置导致的。
首先检查模块的依赖关系是否正确:
代码语言:javascript复制 cat /lib/modules/`uname -r`/modules.dep |grep -w ipv6.ko:
/lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6.ko: /lib/modules/3.0.101
-0.47.90-default/kernel/net/ipv6/ipv6_lib.ko
没有问题
其次检查modprobe配置,是否屏蔽了ipv6模块加载:
代码语言:javascript复制 cat /etc/modprobe.conf |grep -i ipv6
alias sit0 ipv6
最后检查了/etc/modprobe.d/目录下文件
发现一个50-ipv6.conf文件,内容如下:
代码语言:javascript复制 cat /etc/modprobe.d/50-ipv6.conf
install ipv6 /bin/true
这句话是什么含义呢?通过modprobe.conf(5)文档,有如下内容:
比较长,关键的第一句我们来解释一下: This is the most powerful primitive: it tells modprobe to run your command instead of inserting the module in the kernel as normal. 这句话的意思是它让modprobe命令执行命令行里的command命令,而不是一般情况下去加载指定的内核模块。
该怎么理解这句话呢?我们通过两个命令的执行来说明:
代码语言:javascript复制 modprobe -v -n ipv6
insmod /lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6_lib.ko
install /bin/true
-n –dry-run –show 表明不做真正的插入模块的操作 -v: 打印有关程序所做事情的信息 所以上述输出表明modprobe只做了加载ipv6_lib.ko模块和install /bin/true的动作, 而没有做加载ipv6.ko模块
代码语言:javascript复制 modprobe --show-depends ipv6
insmod /lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6_lib.ko
install /bin/true
–show-depends 只列出模块依赖关系,以insmod开头; install命令也不做实际的加载操作,只列出要做的加载动作 从以上信息可以看出,也不会做ipv6.ko模块加载。
去掉/bin/true之后,重新执行modprobe ipv6命令后检查模块加载情况:
代码语言:javascript复制 modprobe -v ipv6
lsmod |grep ipv6
ipv6 12758 1
ipv6_lib 341467 71 ipv6
# ifconfig |grep inet6
inet6 addr: fe80::9af5:37ff:fe00:9527/64 Scope:Link
inet6 addr: fe80::9af5:37ff:fee3:3ac4/64 Scope:Link
inet6 addr: ::1/128 Scope:Host
综上,可以认为是50-ipv6.conf文件的配置导致了ipv6加载不完整。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。 转载本站文章请保留原文链接,如文章内说明不允许转载该文章,请不要转载该文章,谢谢合作。