Linux 下 NetworkManager 自定义 DNS

Linux 下 NetworkManager 自定义 DNS

OS: fedora
Kernel: 2.6.30
Package: NetworManager 0.8

一、常规方法

在 Linux (笔者用fedora) 下当使用 NetworkManager时,更改 DNS 的一般方式:

  1. 修改 /etc/resolv.conf 文件, 添加 “nameserver ip” 行.
  2. 修改 /etc/sysconfig/network-scripts/ifcfg-eth0, 添加 “DNS1=ip”, “DNS2=IP”…行。
  3. 修改 /etc/sysconfig/networking/….目录下的 ifcfg-eth0 或者 default. 方式同上。

修改完文件后需要运行 “service NetworkManager restart” 重启网络以使设置生效。

另说明linux 服务的管理方法:
service NetworkManager restart | start | stop | status
上面的 NetworkManager 可被其他服务名替换。”|” 隔开的命令可任选其一。

注意:以上修改在 关机再次启动 电脑后会被 NetworkManager重置为默认 isp 的 dns. 即 “generated by NetworkManager”.

二、改进

用 NetworkManager 管理网络设置,并永久自定义 DNS. 可以如下设置:

  1. 修改 /etc/resolv.conf , 添加 “nameserver ip”.
  2. 运行 “sudo chattr +i /etc/resolv.conf”, 该命令修改文件属性为 只有 root 用户才能修改该文件。去掉可将参数改为 “-i”.
  3. 以 root 身份运行 “service NetworkManager restart”.

注意:此时 会产生 /etc/resolv.conf.tmp 文件,不必理会。

三、推荐DNS

Google Public DNS: 8.8.8.8; 8.8.4.4.
Norton DNS: 198.153.192.1; 198.153.194.1.
OpenDNS: 208.67.222.222; 208.67.220.220.

四、笔者的 /etc/resolv.conf 文件

#此行注释
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 198.153.192.1
nameserver 198.153.194.1
nameserver 208.67.222.222
nameserver 208.67.220.220

在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重新变成空值。

你可能感兴趣的:(linux)