分享一篇Linux ipv6模組載入失敗解決方法
導讀 | 同事一個SUSE Enterprise Server 11 SP3環境配置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
沒有問題
# cat /etc/modprobe.conf |grep -i ipv6 alias sit0 ipv6
發現一個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 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命令後檢查模組載入情況:
# 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載入不完整。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2710670/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx 動態模組 nginx-mod-http-image-filter 載入失敗解決NginxHTTPFilter
- php5.2載入mssql 模組失敗PHPSQL
- pyhanlp下載失敗解決方法HanLP
- 監測Linux上失敗的登入嘗試方法分享Linux
- win10系統提示模組initpki.dll載入失敗如何解決Win10
- 解決linux rz傳輸失敗Linux
- Win10系統使用WPS提示Null載入失敗的解決方法Win10Null
- dbsnmp啟動失敗解決方法
- anaconda安裝失敗解決方法
- gitbook 入門教程之解決windows熱載入失敗問題GitWindows
- 【Python】pydot安裝失敗解決方法Python
- npm install安裝失敗解決方法NPM
- mysql(mariadb)啟動失敗解決方法MySql
- Token驗證失敗的解決方法
- anaconda prompt開啟失敗解決方法
- Python程式設計時候,匯入模組失敗Python程式設計
- windows10系統下網易雲音樂載入失敗的解決方法Windows
- win10應用商店登入失敗的解決方法Win10
- Linux驅動模組載入方法和如何判斷Linux驅動是否載入成功Linux
- Arch linux下安裝bochs失敗解決Linux
- 關於Gradle編譯時下載依賴失敗解決方法Gradle編譯
- keras cifar-10 載入資料失敗 的解決辦法Keras
- 某應用上架AG谷歌地圖載入失敗解決方案谷歌地圖
- npm install 安裝模組失敗了的簡單的解決辦法!!NPM
- 關於npm install失敗的解決方法NPM
- kubernetes映象拉取失敗解決方法 ErrImagePull
- ssh免密碼登入失敗解決密碼
- 對USB驅動下載失敗的解決
- go get下載包失敗的解決方案Go
- 電腦開機提示windows寫入延緩失敗的解決方法Windows
- 三種方法解決docker構建失敗(alpine)Docker
- idea漢化包安裝失敗解決方法Idea
- 遠端連線 Mysql 失敗的解決方法MySql
- Win10系統開啟linux子系統失敗的解決方法Win10Linux
- Linux解決MySQL-python安裝失敗問題LinuxMySqlPython
- 圖片載入失敗解決方案 以及canvas即時生成提示圖片Canvas
- 資源載入失敗,你是如何排查它的原因並解決呢?
- win10系統下提示延緩寫入失敗的解決方法Win10