【Ubuntu】Ubuntu網絡配置DNS失效問題處理
阿新 • • 發佈:2017-08-23
修改 auto -name resolve address logs ask cat 其中
nameserver 8.8.8.8
nameserver 8.8.4.4
安裝了Ubuntu Server版本,配置了靜態IP地址,並配置了DNS。但重啟之後,發現連接外網時候,還是存在問題。
找了一下,是DNS的問題。
可以這樣處理:
[email protected]:~/webapp/osprey$ cat /etc/network/interfaces auto lo iface lo inet loopback auto enp3s0 iface enp3s0 inet static address 192.168.21.11 netmask 255.255.255.0 gateway 192.168.21.1 dns-nameservers 8.8.8.8
註意,關鍵是其中最後的一行需要配置在這裏。
之前我是配置在了 /etc/resolv.conf 中,但是重啟就會丟失。
問題分析:
再回頭去看一下 /etc/resolv.conf ,我們會發現其中的描述是:
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
這裏也就是說:這個文件是resolvconf程序動態創建的,不要直接手動編輯,修改將被覆蓋。
而事實也是如此,修改後重啟就失效了。
搜索了Ubuntu下設置DNS的相關資料,總結出兩個辦法:
方法一,修改/etc/network/interfaces
通過/etc/network/interfaces,在它的最後增加一句:
dns-nameservers 8.8.8.8
8.8.8.8是Google提供的DNS服務,這裏只是舉一個例子,你也可以改成電信運營商的DNS。重啟後DNS就生效了。
方法二 ,修改/etc/resolvconf/resolv.conf.d/base
通過修改:/etc/resolvconf/resolv.conf.d/base(這個文件默認是空的)
在裏面插入:
nameserver 8.8.4.4
如果有多個DNS就一行一個。
修改好保存,然後執行
resolvconf -u
再看/etc/resolv.conf,最下面就多了2行:
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 8.8.4.4
可以看到我們的設置已經加上了,然後再ping一個域名,當時就可以解析了,無需重啟。
附:
CentOS下修改DNS則容易的多了,直接修改/etc/resolv.conf,內容是:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存就生效,重啟也沒問題。
【Ubuntu】Ubuntu網絡配置DNS失效問題處理