问题描述
1. linux设置dns设置ip等通过修改文件
/etc/resolv.conf
2. 问题:
cat的时候会发现 # Generated by NetworkManager 有这么一句话。
修改之后,重启电脑发现文件自动还原成了之前的配置,
3. 原因:
这是由于networkmanager配置自动修改这个文件的原因。
常规方法
在 Linux (笔者用fedora) 下当使用 NetworkManager时,更改 DNS 的一般方式:
- 修改 /etc/resolv.conf 文件, 添加 "nameserver ip" 行.
- 修改 /etc/sysconfig/network-scripts/ifcfg-eth0, 添加 "DNS1=ip", "DNS2=IP"...行。
- 修改 /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. 可以如下设置:
- 修改 /etc/resolv.conf , 添加 "nameserver ip".
- 运行 "sudo chattr +i /etc/resolv.conf", 该命令修改文件属性为 只有 root 用户才能修改该文件。去掉可将参数改为 "-i".
- 以 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