解决Linux下DNS配置重启失效问题

DNS

有时候能ping通ip地址,却ping不通域名,这就是dns没有配置的缘故。
但是DNS配置文件 /etc/resolv.conf 每次重启就会失效。

那么问题来了,怎么解决每次都要配置的问题呢?

Ubuntu系统下

打开这个配置文件,发现有注释提示:

# 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

原来系统已经提示我们不要手动改此文件,因为这里每次重启会被覆盖。

方法1

  • 执行sudo vim /etc/network/interfaces
  • 添加一行DNS配置,比如dns-nameservers 8.8.8.8

方法2

  • 执行sudo vim /etc/resolvconf/resolv.conf.d/base
  • 添加DNS配置,比如nameserver 8.8.8.8
  • 如果有多个DNS就添加多行,一行一个
  • 保存后执行resolvconf -u
    此时,再打开/etc/resolv.conf会发现刚才添加的DNS配置了。

CentOS系统下

直接编辑/etc/resolv.conf,重启之后一样会失效。

方法:直接将DNS配置写入网卡中

  • 执行 cd /etc/sysconfig/network-scripts/
  • 编辑网卡配置文件 vi ifcfg-eth0,在后面加入DNS配置

    DNS1=223.5.5.5
    DNS1=223.6.6.6

  • 重启网卡service network restart即可
    此时,再打开/etc/resolv.conf会发现刚才添加的DNS配置了。
    以后在重启就没问题了 ^_^