linux ipv6模块,有关Linux ipv6模块加载失败的问题

有关Linux ipv6模块加载失败的问题

同事一个SUSE11sp3环境配置ipv6地址失败,提示不支持IPv6,请求帮助,第一反应是应该ipv6相关内核模块没有加载。

主要检查内容:

ipv6地址是否存在ifconfig |grep inet6

没有默认inet6地址ipv6模块是否存在# 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相关模块lsmod |grep ipv6

# lsmod |grep ipv6

ipv6_lib              341467  0

只有ipv6_lib模块,没有主模块ipv6从上面信息得知,ipv6模块是存在的,只是加载出现了问题,由此想到可能是配置导致的。

首先检查模块的依赖关系是否正确:# 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模块加载:# cat /etc/modprobe.conf |grep -i ipv6

alias sit0 ipv6最后检查了/etc/modprobe.d/目录下文件,发现一个50-ipv6.conf文件,内容如下:# cat /etc/modprobe.d/50-ipv6.conf

install ipv6 /bin/true这句话是什么含义呢?通过modprobe.conf(5)文档,有如下内容:

install modulename command...

This  is the most powerful primitive: it tells modprobe to run your command instead of inserting the module in the kernel as normal.

The command can be any shell command: this allows you to do any kind of complex processing you might wish.

For example, if the module "fred" works better with the module "barney" already  installed (but  it  doesn't  depend  on  it, so modprobe won't automatically load it), you could say "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred", which would do what you wanted.

Note the --ignore-install, which stops the second modprobe from running the same install command again. See also remove below.

You can also use install to make up modules which don't otherwise exist.

For example: "install probe-ethernet /sbin/modprobe e100 || /sbin/modprobe  eepro100",  which

will first try to load the e100 driver, and if it fails, then the eepro100 driver when you do "modprobe probe-ethernet".

If  you  use  the  string  "$CMDLINE_OPTS" in the command, it will be replaced by any options specified on the modprobe command line. This can be useful because users expect "modprobe fred opt=1" to pass the "opt=1" arg to the module, even if there's an install command in  the  configuration  file.  So  our  above  example  becomes "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS"

比较长,关键的第一句我们来解释一下: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命令,而不是一般情况下去加载指定的内核模块。该怎么理解这句话呢?我们通过两个命令的执行来说明:

# 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模块# modprobe --show-depends ipv6insmod /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命令后检查模块加载情况:

# 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加载不完整。

在网上搜到一篇禁用ipv6的博文,也有相关说明,读者可以参考一下。

PS:

您的支持是对博主最大的鼓励regsvr32提示模块加载失败 请确保二进制

微软官方的一部分解释 https://support.microsoft.com/en-us/kb/249873 关于32位和64位的说明 http://csi-windows.com/blog/al ...

模块“XXX.dll”加载失败

具体问题:模块“XXX.dll”加载失败 请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题  找不到指定的模块. 1.在安装C++软件的时候,有时候安装失败提示 ...

vs2008包加载失败

由于安装vs2008sp1后,新建项目报错,解决未遂,于是重装vs2008,装完后又出现包加载失败问题: Microsoft.Data.Entity.Design.Package.MicrosoftD ...

实现简单的 JS 模块加载器

实现简单的 JS 模块加载器 1. 背景介绍 按需加载是前端性能优化的一个重要手段,按需加载的本质是从远程服务器加载一段JS代码(这里主要讨论JS,CSS或者其他资源大同小异),该JS代码就是一个模块 ...

RequireJS 主入口加载模块经常会加载失败的问题

在接入requirejs时,在main入口遇到了这样的问题,使用jquery,刷新10次页面会有3-4次加载失败,找不到$符号等等 require.config({ 'baseUrl': './mod ...

linux模块加载竞争

到目前, 我们的讨论已来到一个模块加载的重要方面: 竞争情况. 如果你在如何编写你的 初始化函数上不小心, 你可能造成威胁到整个系统的稳定的情形. 我们将在本书稍后讨论 竞争情况; 现在, 快速提几点 ...

insmod模块加载过程代码分析1【转】

转自:http://blog.chinaunix.net/uid-27717694-id-3966290.html 一.概述模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到 ...

Insmod模块加载过程分析

一.背景 a) 在进行JZ2440的一个小demo开发的时候,使用自己编译的内核(3.4.2)及lcd模块进行加载时,insmod会提示加载失败因为内核版本不匹配(提示当前内核版本为空),并且显示模块 ...

node模块加载层级优化

模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载.但是随着应用规模的加大,目录层级越来越深,若是在某个 ...

随机推荐

[转载]CAsyncSocket及CSocket注解

MFC疑难注解:CAsyncSocket及CSocket MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的.以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的.故CAs ...

html 符号大全

░ ▒ ▬ ♦ ◊ ◦ ♠ ♣ ▣ ۰•● ❤ ●•۰► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ♧♡♂♀♠♣♥❤☜☞☎☏⊙◎ ☺☻☼▧▨♨◐◑↔↕▪ ▒ ◊◦▣▤▥ ▦▩◘ ◈◇♬♪♩♭♪の ...

二模09day2解题报告

T1.domino骨牌 n张有黑有白的骨牌排一排,连续三张同色排一起就不好看,求共多少方案不好看. 分析一下,f[3]=2,f[4]=6,f[n]:如果n-1==n 那么方案数为f[n-2],如果不同 ...

scanf,sscanf利用format跳过干扰的空格

scanf,sscanf利用format跳过干扰的空格 用了一点时间做读取配置部分的代码,希望一次记录上读取N个数据, 希望读取的格式就是一个IP地址加上端口号,希望把IP地址读取到4个短整数里面,端 ...

WS_EX_TOOLWINDOW 属性的陷阱

WS_EX_TOOLWINDOW,带有这个属性的窗口有以下特点: 1. 不在任务栏显示. 2. 不显示在Alt+Tab的切换列表中. 3. 在任务管理器的窗口管理Tab中不显示. 我们可能会出于某种目 ...

linux下双网卡双网关配置

要求: eth0:192.168.100.203 连接内网,网关为192.168.100.1.需要和192.168.10.0.192.168.12.0.192.168.100.0.10.2.2.0.1 ...

洛谷SP22343 NORMA2 - Norma(分治,前缀和)

洛谷题目传送门 这题推式子恶心..... 考虑分治,每次统计跨过\(mid\)的所有区间的答案和.\(i\)从\(mid-1\)到\(l\)枚举,统计以\(i\)为左端点的所有区间. 我们先维护好\( ...

css布局与文档流的关系之float(浮动)

所谓文档流,指元素在排版布局的过程中,元素会自动从左到右,从上到下的流式排列.脱离文档流呢,就是元素打乱了这个排列,或是从排版中拿走. 说到文档流呢,我们先来说一下元素,每个元素呢,都有display ...

GraphQL:你的容颜,十万光年

What? GraphQL 是一种类似于 SQL 的结构化查询语言,由 facebook 于2012年创造,于2015年开源.SQL 在服务端定义,GraphQL 在客户端定义,也就是说 GraphQ ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值