您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么在Ubuntu Linux上禁用IPv6”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么在Ubuntu Linux上禁用IPv6”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
由于IPv4存在網絡地址資源不足,嚴重制約了互聯網的應用和發展所以出現了互聯網協議第6版也就是IPv6不僅能解決網絡地址資源數量的問題,而且也解決了多種接入設備連入互聯網的障礙。據觀察,在某些情況下,禁用 IPv6 有助于提高 Ubuntu 的 WiFi 速度。
注意:接下來大部分輸入終端的命令都需要 root 權限(sudo)。
警告!
如果你是一個普通 Linux 桌面用戶,并且偏好穩定的工作系統,請避開本教程,接下來的部分是為那些知道自己在做什么以及為什么要這么做的用戶準備的。
首先,可以執行以下命令來檢查 IPv6 是否已經啟用:
ip a
如果啟用了,你應該會看到一個 IPv6 地址(網卡的名字可能會與圖中有所不同)
要禁用 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
如果命令生效,你應該會發現 IPv6 的條目消失了:
然而這種方法只能臨時禁用 IPv6,因此在下次系統啟動的時候,IPv6 仍然會被啟用。
(LCTT 譯注:這里的臨時禁用是指這次所做的改變直到此次關機之前都有效,因為相關的參數是存儲在內存中的,可以改變值,但是在內存斷電后就會丟失;這種意義上來講,下文所述的兩種方法都是臨時的,只不過改變參數值的時機是在系統啟動的早期,并且每次系統啟動時都有應用而已。那么如何完成這種意義上的永久改變?答案是在編譯內核的時候禁用相關功能,然后要后悔就只能重新編譯內核了(悲)。)
一種讓選項持續生效的方式是修改文件 /etc/sysctl.conf,在這里我用 vim 來編輯文件,不過你可以使用任何你想使用的編輯器,以及請確保你擁有管理員權限(用 sudo):
將下面這幾行(和之前使用的參數相同)加入到文件中:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
執行以下命令應用設置:
sudo sysctl -p
如果在重啟之后 IPv6 仍然被啟用了,而你還想繼續這種方法的話,那么你必須(使用 root 權限)創建文件 /etc/rc.local 并加入以下內容:
#!/bin/bash
# /etc/rc.local
/etc/sysctl.d
/etc/init.d/procps restart
exit 0
接著使用 chmod 命令 來更改文件權限,使其可執行:
sudo chmod 755 /etc/rc.local
這會讓系統(在啟動的時候)從之前編輯過的 sysctl 配置文件中讀取內核參數。
另外一種方法是配置 GRUB,它會在系統啟動時向內核傳遞參數。這樣做需要編輯文件 /etc/default/grub(請確保擁有管理員權限)。
現在需要修改文件中分別以 GRUB_CMDLINE_LINUX_DEFAULT 和 GRUB_CMDLINE_LINUX 開頭的兩行來在啟動時禁用 IPv6:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
(LCTT 譯注:這里是指在上述兩行內增加參數 ipv6.disable=1,不同的系統中這兩行的默認值可能有所不同。)
保存文件,然后執行命令:
sudo update-grub
(LCTT 譯注:該命令用以更新 GRUB 的配置文件,在沒有 update-grub 命令的系統中需要使用 sudo grub-mkconfig -o /boot/grub/grub.cfg )
設置會在重啟后生效。
要想重新啟用 IPv6,你需要撤銷之前的所有修改。不過只是想臨時啟用 IPv6 的話,可以執行以下命令:
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
否則想要持續啟用的話,看看是否修改過 /etc/sysctl.conf,可以刪除掉之前增加的部分,也可以將它們改為以下值(兩種方法等效):
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0
然后應用設置(可選):
sudo sysctl -p
(LCTT 譯注:這里可選的意思可能是如果之前臨時啟用了 IPv6 就沒必要再重新加載配置文件了)
這樣應該可以再次看到 IPv6 地址了:
另外,你也可以刪除之前創建的文件 /etc/rc.local(可選):
sudo rm /etc/rc.local
如果修改了文件 /etc/default/grub,回去刪掉你所增加的參數:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
然后更新 GRUB 配置文件:
sudo update-grub
讀到這里,這篇“怎么在Ubuntu Linux上禁用IPv6”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。