HOWTO — 在 Ubuntu/Linux 中關閉 IPv6 支援

舊文分享,英翻中。原文鍊結: http://blog.geeky.name/post/2011/04/15/HOWTO-Disable-IPv6-support-in-Ubuntu/Linux.
同文分享於 Ubuntu-TW 論壇

因為 IPv4 的耗盡,現在全世界都在推行 IPv6。大家可能都知道,Ubuntu 預設支援 IPv6。
這是很好的事情,但有時候你在所處得環境中根本無法使用 IPv6。
而且,有時候在不適當的場合,他會在你管理系統時造成好些複雜性。

比如說,如果你在某個服務的設定檔中設定了 listen_ip=0.0.0.0:80 並且希望這個服務能自動跑在你所有的網路介面,你可能得不到你想要的。

這是因為,如果這個服務同時支援了 IPv4 和 IPv6 而且沒做好防呆,你的系統會預設自動讓他聽 IPv6 :::80。這就是為什麼即使你的網路是通的,你還是沒法連接到你的服務上。
(當然,也可以增加 Firefox 的查詢速度。)
請注意,只有在你的網路環境不支援 IPv6 時,才推薦從系統上關閉。否則,請支持 IPv6 普及化的推動。

HowTo:

你會從人們或網路上聽到許多不同的、或是奇怪的方法,告訴你那能關掉 IPv6。
但最棒的方法莫過於與使用 /etc/sysctl.conf 來從 kernel 中關掉它。

1. 用以下的指令來增加設定到 /etc/sysctl.conf 中。

$ echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
$ echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
$ echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
$ echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

2. 馬上啟用這些設定!

$ sudo sysctl -p

完成!
剛剛的這些設定會被保留,而且在以後重開機時也會被自動啟用。

測試環境: Ubuntu 8.04 LTS, Ubuntu 10.04 LTS

Trackback URL : http://blog.geeky.name/trackback/848182


Originally published at blog.geeky.name on June 23, 2011.

GeekyLog

BlueT’s LoGeeks, Logics of Geeky Thoughts.

    BlueT / Matthew Lien 練喆明

    Written by

    Just another Perl / OpenSource / Security Hacker. CTO / Co-founder @Imonology, Leader @Ubuntu_TW, Founder @OSSPlanet. Promote Ubuntu Linux, Networking, Privacy.

    GeekyLog

    GeekyLog

    BlueT’s LoGeeks, Logics of Geeky Thoughts.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade