Linux下永久修改DNS服务器地址

回复 收藏
在Debian系统环境下,可以通过修改dhclient.conf文件,追加prepend参数实现把预设的dns服务器加入resolv.conf文件当中
变更DHCP Client的配置文件,在特定的环节追加我们的设定.
    Linux (Ubuntu Dist.):
        在 /etc/dhcp3/dhclient.conf 中增加如下设定:prepend domain-name-servers  , ;
    FreeBSD:
        在 /etc/dhclient.conf 中增加如下设定: prepend domain-name-servers  , ;
这个方法不会变更系统框架, 还是原来执行流程。 我们只是在默认的prepend环节,多增加prepend的内容,让DHCP Client
在得到DNS server信息后,把我们所需要的配置追加在前面。

在RedHat体系里面上面的方法就不好用了,需要通过修改ifcfg-ethx脚本确保dhcp下不会自动覆盖resolv.conf配置来实现
先修改/etc/resolv.conf 在里面添加
; generated by /sbin/dhclient-script
nameserver 223.5.5.5
nameserver 114.114.114.114
然后修改/etc/sysconfig/network-scripts/ifcfg-eth1 在里面添加
DEVICE=eth1
HWADDR=08:00:27:E8:1D:38
TYPE=Ethernet
UUID=fd3a6fcc-dbc0-4a8b-aaa4-ebec6121ff0c
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
PEERDNS=no  //这句关键,要求程序不要去打扰resolv.conf文件了
2015-03-07 17:57 举报
已邀请:
0

gjc159357

赞同来自:

顶一个
0

xiaotuanyu120

赞同来自:

PEERDNS=no
字面意思,不用盯着dns了,哈哈。
不过不清楚在实际工作中,固定ip的多还是dhcp的多
0

lyhabc

赞同来自:

在ifcfg-ethx里面指定DNS1 DNS2就行了,除非是CentOS5.X
0

田埂上的梦

赞同来自:

还有NetworkManager、dhclient进程杀掉..     不然/etc/resolv.conf里的DNS仍然继承ifcef-eth0内的DNS.
0

加多宝

赞同来自:

学习了,感谢分享
0

cmzsteven

赞同来自:

xiaotuanyu120 发表于 2015-3-9 12:35
PEERDNS=no
字面意思,不用盯着dns了,哈哈。
不过不清楚在实际工作中,固定ip的多还是dhcp的多

如果是服务器的话,还是固定IP的多
0

qidi2015

赞同来自:

本帖最后由 qidi2015 于 2015-3-12 13:37 编辑

我没搞清楚这个神奇的逻辑
第一 dhclient不去管他,管他运行不运行
第二 /etc/sysconfig/network-scripts/ifcfg-eth0里面
BOOTPROTO=static
不用写DNS相关的语句
第三 /etc/resolv.conf里面写入
nameserver 114.114.114.114
nameserver 8.8.8.8
这样 随便怎么/etc/init.d/network restart
DNS都是固定的。


以上的说法是错的。
重启网络服务  DNS是不会变  但重新dhclient DNS会变。
0

hehong

赞同来自:

学习了,感谢分享!!!
0

定海偶然

赞同来自:

好帖不错!
0

xiaotuanyu120

赞同来自:

cmzsteven 发表于 2015-3-10 20:12
如果是服务器的话,还是固定IP的多

那如果是大项目,部署超过百台的,岂不是很麻烦,如果用kickstart批量部署的话可以顺便把ip分配了吗?还是必须要后期去改呀
0

psh

赞同来自:

学习了,感谢分享
0

1032150061

赞同来自:

测试了下,静态ip的话貌似效果不明显呀,提示没有dns!
0

q913555

赞同来自:

谢谢分享
0

乐宝儿

赞同来自:

补充一点:如果是显示Generated by NetworkManager,则需要在/etc/sysconfig/network-scripts/ifcfg-ethx里加上一行NM_CONTROLLED=no 方可不影响/etc/resolv.conf里DNS的IP

[root@www ~]# cat /etc/resolv.conf

# Generated by NetworkManager

search 123.com

nameserver 8.8.8.8

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: