1. 程式人生 > 實用技巧 >Ubuntu設定永久DNS

Ubuntu設定永久DNS

有時候會出現配置好網路之後,可以ping通閘道器卻ping不通www.baidu.com

orangepi@orangepi3:~$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=94.1 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=6.14 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=6.02 ms
^C
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3025ms
rtt min/avg/max/mdev = 6.026/35.455/94.192/41.533 ms
orangepi@orangepi3:~$ ping www.baidu.com
ping: www.baidu.com: Name or service not known

出現上面所顯示的情況,多數原因是因為沒有正確的配置DNS(域名解析服務)。

解決方法

修改檔案/etc/resolv.conf

sudo vim /etc/resolv.conf

修改為

# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114

如果有更多的NDS,可以繼續新增nameserver x.x.x.x,不出意外,修改完過一會兒,應該就能成功ping通。

orangepi@orangepi3:~$ ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=56 time=8.49 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=56 time=9.15 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=56 time=13.1 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=5 ttl=56 time=7.44 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=6 ttl=56 time=12.7 ms
^C
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 331074581ms
rtt min/avg/max/mdev = 7.440/10.198/13.169/2.317 ms

但是這個方式重啟之後就會失去效果,想要永久生效,可以採用第二個

修改檔案/etc/resolvconf/resolv.conf.d/base

sudo vim /etc/resolvconf/resolv.conf.d/base

這裡我修改的是/etc/resolvconf/resolv.conf.d/head檔案,我發現效果是一樣的,因為我修改base沒有生效。

增加DNS

nameserver 8.8.8.8
nameserver 114.114.114.114

執行resolvconf -u更新resolv.conf檔案

然後就和上面效果效果相同了,之後重啟也能生效了。