Linux中國

如何在Ubuntu,Linux Mint,Debian上禁用IPv6

你的系統支持IPv6么?

為了支持IPv6,需要很多事情。首先你需要系統/操作系統支持IPv6。Ubuntu,Linux Mint,和大多是現代發行版都支持它。如果你看一下ifconfig指令的輸出,你就會看見你的網路介面被分配了IPv6地址。

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1c:c0:f8:79:ee  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
          TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:62289395 (62.2 MB)  TX bytes:25169458 (25.1 MB)
          Interrupt:20 Memory:e3200000-e3220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4900560 (4.9 MB)  TX bytes:4900560 (4.9 MB)

看一下行「inet6 addr」。

接下來你需要一個支持ipv6的路由器/數據機。此外,你的ISP也必須支持IPv6。

除了檢查網路設備的每一部分,最好查出你是否可以通過IPv6訪問網站。

有很多網站可以檢測你的網路連接是否支持IPv6. 這裡就是個例子:http://testmyipv6.com/

下面是在內核中啟用IPv6的參數:

$ sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0

$ sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 0

$ sysctl net.ipv6.conf.lo.disable_ipv6
net.ipv6.conf.lo.disable_ipv6 = 0

同樣可以在proc文件中檢查

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0

注意這裡的變數是控制IPv6的「禁用」。所以設置1就會禁用IPv6。

如果它不支持就禁用IPv6

如果你的網路設備中不支持IPv6,那最好就全部禁用它們。為什麼?因為這會引起域名查詢延遲,在網路連接中不必要地嘗試連接到IPv6地址導致延遲等等問題。

我也遇到過像這樣的問題,apt-get命令偶爾會嘗試連接到IPv6地址失敗接著檢索IPv4地址。看一下下面的輸出。

$ sudo apt-get update
Ign http://archive.canonical.com trusty InRelease
Ign http://archive.canonical.com raring InRelease                                                                                                    
Err http://archive.canonical.com trusty Release.gpg                                                                                                  
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://archive.canonical.com raring Release.gpg                                                                                                  
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]

.....

像這樣的錯誤在最近的Ubuntu中更頻繁了,或許它比以前更頻繁地嘗試使用IPv6地址。

我在其他的應用上也注意到了相似的問題,如Hexchat,同樣Google Chrome也會有時會在查詢域名的時候花費更長的時間。

所以最好的方案是完全禁用IPv6來擺脫這些事情。這隻需要一點點配置但可以幫助你解決很多你系統上的很多問題。用戶甚至反應這可以加速網路。

禁用 IPv6 - 方案1

編輯文件 - /etc/sysctl.conf

$ sudo gedit /etc/sysctl.conf

在文件的最後加入下面的行。

# IPv6 disabled
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

保存並關閉

重啟sysctl

$ sudo sysctl -p

再次檢查ifconfig的輸出,這裡應該沒有IPv6地址了。

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:5f:28:8b  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1501691 (1.5 MB)  TX bytes:104883 (104.8 KB)

如果不行,嘗試重啟系統並再次檢查ifconfig

禁用 IPv6 - GRUB 方案

IPv6同樣可以通過編輯grub配置文件禁用。

$ sudo gedit /etc/default/grub

查找包含"GRUBCMDLINELINUX"的行,並如下編輯:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

同樣可以加入名為"GRUBCMDLINELINUX_DEFAULT"的變數,這同樣有用。保存並關閉文件,重新生成grub配置。

$ sudo update-grub2

重啟,現在IPv6應該就已經禁用了。

via: http://www.binarytides.com/disable-ipv6-ubuntu/

譯者:geekpi ,校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國