這裡介紹如何在各種作業系統與瀏覽器中設定使用 Google Public DNS,讓上網的速度可以更快。

在上網瀏覽網頁時,當我們輸入 tw.yahoo.com 這樣的網址,電腦必須先把這樣的網址透過 DNS 伺服器轉換為 IP 位址,才能真正連上這個網站,所以 DNS 伺服器對所有上網的人都非常重要,而通常這種伺服器都沒有什麼大問題,所以大家都沒在注意他的重要性。

但是如果你發現你的上網速度突然很慢,網頁都開不起來的時候,除了檢查網路現有沒有插好之外,DNS 伺服器是否正常也是要檢查的一個項目,如果你使用的 DNS 伺服器太慢、甚至對你的請求沒有反應,那麼你就可以換成 Google 所提供的免費 DNS 伺服器看看。


Google 所提供的 DNS 伺服器可以讓你的上網速度更快,而且也更穩定,另外 Google 也對於 DNS 相關網路攻擊的防範也花了許多心力,所以相信 Google 所提供的 DNS 伺服器在安全性上應該也會高一些。

Google 所提供的 DNS 伺服器是這兩台(IPv4):

主要 DNS 伺服器:8.8.8.8
次要 DNS 伺服器:8.8.4.4

如果是 IPv6 的位址則為:

主要 DNS 伺服器:2001:4860:4860::8888
次要 DNS 伺服器:2001:4860:4860::8844

由於 Google 的伺服器大概都會比一般的 DNS 穩定一些,所以如果想一勞永逸,你也可以直接把自己的 DNS 伺服器設定成這兩個。下面是各種作業系統設定 DNS 伺服器的步驟。

這裡請注意一點,在你更換 DNS 伺服器之前,請先把原本的 DNS 伺服器設定記錄下來,以免更換的過程出問題時,無法回覆成原來的設定。

Linux

這裡示範在 Linux 中更改 DNS 設定的方式。

Linux 桌面環境

如果是使用一般桌面版本的 Linux(如 Ubuntu),通常透過圖形化的使用者界面就可以設定了,以下這個是我在 Ubuntu Linux 中設定的步驟。

首先在桌面上 network manager applet 的選單中選擇「編輯」。

linux-desktop-network-configure

從「網路連線」中選擇自己目前所使用的網路。這裡示範使用 Wi-Fi 無線網路的設定方式,而有線網路的設定方式都大同小異。

linux-wifi-network-configure

開啟網路的設定之後,在「IPv4 設定」就可以設定 DNS 伺服器。如果你是使用無線網路的話,通常都是以 DHCP 自動取得網路位址,這種情況可以直接把 Google 的 DNS 伺服器加在「額外的 DNS 伺服器中」,並用逗點分隔多個伺服器 IP 位址。

google-dns-1

如果想讓系統直接使用 Google 的 DNS 伺服器,而不要使用 DHCP 所提供的 DNS 的話,可以在「方法」中選擇「只用自動(DHCP)位址」,然後在自己指定下方的 DNS 伺服器。

google-dns-2

最後按下「儲存」即可。

Linux 伺服器

如果是 Linux 伺服器要更改 DNS 設定的話,就要修改 /etc/resolv.conf 這個檔案。你可以自己選擇習慣的編輯器以 root 管理者權限修改這個檔案:

sudo vi /etc/resolv.conf

在修改前,請先把這個檔案中所有 nameserver 的設定記下來作為備份。接著把 nameserver 的設定改為 Google 的 DNS 伺服器:

nameserver 8.8.8.8
nameserver 8.8.4.4

如果是使用 IPv6 的伺服器,則改為這樣:

nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

存檔離開後,還要重新啟動系統的網路服務讓設定生效。

若要測試新的 DNS 設定是否可以正常運作,可以使用 dig 指令:

dig www.google.com

輸出應該會類似這樣:

; <<>> DiG 9.8.1-P1 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26524
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com. IN A

;; ANSWER SECTION:
www.google.com. 300 IN A 74.125.23.104
www.google.com. 300 IN A 74.125.23.106
www.google.com. 300 IN A 74.125.23.99
www.google.com. 300 IN A 74.125.23.103
www.google.com. 300 IN A 74.125.23.147
www.google.com. 300 IN A 74.125.23.105

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec 15 08:24:39 2013
;; MSG SIZE rcvd: 128
ANSWER SECTION 看起來都有查到對應的 IP 位址,而 SERVER 則是使用 Google 的 8.8.8.8 這台 DNS 伺服器,這樣就沒問題了。