新聞中心
IPv6和IPv4同屬于網(wǎng)絡(luò)協(xié)議,在Linux系統(tǒng)中,IPv6和IPv4同時存在時可能會出現(xiàn)連接超時的情況,這時只需將IPv6禁用即可解決這個問題,本篇文章重點為大家講解一下Ubuntu 上禁用 IPv6 具體方法。

為湛河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及湛河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都網(wǎng)站制作、湛河網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
在 Ubuntu 上禁用 IPv6 [高級用戶]
在本節(jié)中,我會詳述如何在 Ubuntu 上禁用 IPv6 協(xié)議,請打開終端(默認(rèn)快捷鍵:CTRL+ALT+T),讓我們開始吧!
注意:接下來大部分輸入終端的命令都需要 root 權(quán)限(sudo)。
警告!
如果你是一個普通 Linux 桌面用戶,并且偏好穩(wěn)定的工作系統(tǒng),請避開本教程,接下來的部分是為那些知道自己在做什么以及為什么要這么做的用戶準(zhǔn)備的。
1. 使用 sysctl 禁用 IPv6
首先,可以執(zhí)行以下命令來檢查 IPv6 是否已經(jīng)啟用:
ip a
如果啟用了,你應(yīng)該會看到一個 IPv6 地址(網(wǎng)卡的名字可能會與圖中有所不同)
怎樣在 Ubuntu 上禁用 IPv6 ?怎樣在 Ubuntu 上禁用 IPv6 ?
IPv6 Address Ubuntu
IPv6 Address Ubuntu在教程《在 Ubuntu 中重啟網(wǎng)絡(luò)》(LCTT 譯注:其實這篇文章并沒有提到使用 sysctl 的方法……)中,你已經(jīng)見過 sysctl 命令了,在這里我們也同樣會用到它。要禁用 IPv6,只需要輸入三條命令:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
檢查命令是否生效:
ip a
如果命令生效,你應(yīng)該會發(fā)現(xiàn) IPv6 的條目消失了:
怎樣在 Ubuntu 上禁用 IPv6 ?怎樣在 Ubuntu 上禁用 IPv6 ?
IPv6 Disabled Ubuntu
然而這種方法只能臨時禁用 IPv6,因此在下次系統(tǒng)啟動的時候,IPv6 仍然會被啟用。
(LCTT 譯注:這里的臨時禁用是指這次所做的改變直到此次關(guān)機(jī)之前都有效,因為相關(guān)的參數(shù)是存儲在內(nèi)存中的,可以改變值,但是在內(nèi)存斷電后就會丟失;這種意義上來講,下文所述的兩種方法都是臨時的,只不過改變參數(shù)值的時機(jī)是在系統(tǒng)啟動的早期,并且每次系統(tǒng)啟動時都有應(yīng)用而已。那么如何完成這種意義上的永久改變?答案是在編譯內(nèi)核的時候禁用相關(guān)功能,然后要后悔就只能重新編譯內(nèi)核了(悲)。)
一種讓選項持續(xù)生效的方式是修改文件 /etc/sysctl.conf,在這里我用 vim 來編輯文件,不過你可以使用任何你想使用的編輯器,以及請確保你擁有管理員權(quán)限(用 sudo):
怎樣在 Ubuntu 上禁用 IPv6 ?怎樣在 Ubuntu 上禁用 IPv6 ?
Sysctl Configuration
將下面這幾行(和之前使用的參數(shù)相同)加入到文件中:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
執(zhí)行以下命令應(yīng)用設(shè)置:
sudo sysctl -p
如果在重啟之后 IPv6 仍然被啟用了,而你還想繼續(xù)這種方法的話,那么你必須(使用 root 權(quán)限)創(chuàng)建文件 /etc/rc.local 并加入以下內(nèi)容:
#!/bin/bash
# /etc/rc.local
/etc/sysctl.d
/etc/init.d/procps restart
exit 0
接著使用 chmod 命令 來更改文件權(quán)限,使其可執(zhí)行:
sudo chmod 755 /etc/rc.local
這會讓系統(tǒng)(在啟動的時候)從之前編輯過的 sysctl 配置文件中讀取內(nèi)核參數(shù)。
2. 使用 GRUB 禁用 IPv6
另外一種方法是配置 GRUB,它會在系統(tǒng)啟動時向內(nèi)核傳遞參數(shù)。這樣做需要編輯文件 /etc/default/grub(請確保擁有管理員權(quán)限)。
怎樣在 Ubuntu 上禁用 IPv6 ?怎樣在 Ubuntu 上禁用 IPv6 ?
GRUB Configuration
現(xiàn)在需要修改文件中分別以 GRUB_CMDLINE_LINUX_DEFAULT 和 GRUB_CMDLINE_LINUX 開頭的兩行來在啟動時禁用 IPv6:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
(LCTT 譯注:這里是指在上述兩行內(nèi)增加參數(shù) ipv6.disable=1,不同的系統(tǒng)中這兩行的默認(rèn)值可能有所不同。)
保存文件,然后執(zhí)行命令:
sudo update-grub
(LCTT 譯注:該命令用以更新 GRUB 的配置文件,在沒有 update-grub 命令的系統(tǒng)中需要使用 sudo grub-mkconfig -o /boot/grub/grub.cfg )
設(shè)置會在重啟后生效。
*在 Ubuntu 上重新啟用 IPv6*
要想重新啟用 IPv6,你需要撤銷之前的所有修改。不過只是想臨時啟用 IPv6 的話,可以執(zhí)行以下命令:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
否則想要持續(xù)啟用的話,看看是否修改過 /etc/sysctl.conf,可以刪除掉之前增加的部分,也可以將它們改為以下值(兩種方法等效):
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0
然后應(yīng)用設(shè)置(可選):
sudo sysctl -p
(LCTT 譯注:這里可選的意思可能是如果之前臨時啟用了 IPv6 就沒必要再重新加載配置文件了)
這樣應(yīng)該可以再次看到 IPv6 地址了:
怎樣在 Ubuntu 上禁用 IPv6 ?怎樣在 Ubuntu 上禁用 IPv6 ?
IPv6 Reenabled in Ubuntu
另外,你也可以刪除之前創(chuàng)建的文件 /etc/rc.local(可選):
sudo rm /etc/rc.local
如果修改了文件 /etc/default/grub,回去刪掉你所增加的參數(shù):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
然后更新 GRUB 配置文件:
sudo update-grub
當(dāng)前標(biāo)題:Ubuntu上禁用IPv6具體方法
鏈接分享:http://m.fisionsoft.com.cn/article/dhpjdpi.html


咨詢
建站咨詢
