最近得到一個比較好用的DNS,每次重啟后都修改DNS配置文件 /etc/resolv.conf 重啟就會失效
從網上得知 /etc/resolv.conf中的DNS配置是從/etc/resolvconf/resolv.conf.d/head中加載而來,所以每回改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程序動態創建的,不要直接手動編輯,修改將被覆蓋。
所以我們不能直接修改這個文件了
查資料得到兩種方法:
方法1:
sudo vim /etc/network/interfaces dns-nameservers 8.8.8.8
方法2:(這個文件默認是空的)
sudo vim /etc/resolvconf/resolv.conf.d/base nameserver 8.8.8.8 nameserver 8.8.4.4
如果有多個DNS就一行一個
修改好保存,然后執行
resolvconf -u
sudo vim /etc/resolvconf/resolv.conf.d/head
打開里面顯示如下
再看/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
現在此DNS已經生效了,無需重啟,當然重啟也不會丟失
此外還有一種方法是修改/etc/resolvconf/resolv.conf.d/head
sudo vim /etc/resolvconf/resolv.conf.d/head