因為上級的要求,所以學校的電腦絕大部都會設定有 IPv6,尤其是 Server 的部分。但這造成一個問題,就是電腦在網路連線時,常常會以 IPv6 為優先連線,如果對方有提供 IPv6 的相關資訊。
如:Debain / Ubuntu 更新時的 free.nchc.org.tw
# host free.nchc.org.tw
free.nchc.org.tw has address 211.73.64.9
free.nchc.org.tw has IPv6 address 2001:e10:3c00:8::e274
所以在做 apt-get update 連線時,會先以 IPv6 連線,等到 IPv6 無法連線時,再改以 IPv4 連線,但這一個過程中,已耗費了一些時間。
# apt-get update
0% [Connecting to free.nchc.org.tw (2001:e10:3c00:8::e274)]
…
….
Ign http://free.nchc.org.tw trusty/multiverse Translation-en_US
Ign http://free.nchc.org.tw trusty/restricted Translation-en_US
Ign http://free.nchc.org.tw trusty/universe Translation-en_US
Reading package lists… Done[@more@]解決方式:參考 使用 IPv6 DualStack 連線速度變慢 @ 黃昏的甘蔗 :: 隨意窩 Xuite日誌
在 Linux 中,以 Ubuntu 14.04.1 Server 為例
1. 備份設定檔 /etc/gai.conf
# cp /etc/gai.conf /etc/gai.conf.$(date +%F)
2. 修改 /etc/gai.conf
# vim /etc/gai.conf
加入下面的設定
label ::1/128 0
label ::/0 1
label 2002::/16 2
label ::/96 3
label ::ffff:0:0/96 4
precedence ::ffff:0:0/96 60
precedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::/96 20
3. 進行測試,系統就會直接以 IPv4 連線,速度就會就多了!
# apt-get update
Ign http://free.nchc.org.tw trusty InRelease
Hit http://free.nchc.org.tw trusty-updates InRelease
Hit http://free.nchc.org.tw trusty-backports InRelease
Hit http://free.nchc.org.tw trusty-security InRelease
Hit http://free.nchc.org.tw trusty Release.gpg
