环境:

$ uname -a
Linux 10-57-19-61 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS release 6.6 (Final)

本文介绍三种修改dns的方法:

方法一:dhcp client从dhcp server获取dns,同时可以通过配置/etc/sysconfig/network-scripts/ifcfg-*添加其他dns;===>[  dns=yes;    PEERDNS=yes  DNS20=xxxx  ]

方法二:不使用从dhcp server处获得的dns,使用配置/etc/sysconfig/network-scripts/ifcfg-*里的dns信息生成/etc/resolv.conf;===>[ dns=yes; PEERDNS=no DNS1=xxx DNS2=xxx ]

方法三:即不使用从dhcp server处获得的dns,也不使用配置/etc/sysconfig/network-scripts/ifcfg-*里的dns信息,手动配置/etc/resolv.conf ===>[dns=no; PEERDNS=no ]

方法一:

1、zstack管理的虚拟机(CentOS release 6.6 (Final))dns是由zstack统一配置的,zstack相当于配置的是DHCP server的dns信息

2、配置下面的dns

3、这样新申请的机器,每次重启后,拥有的配置就是这两条配置

4、另外,根据参考的文章,还可以修改/etc/sysconfig/network-scripts/ifcfg-eth0的配置

注意,配置是DNS1=x.x.x.x,这里DNS之后的数值表示是第一条DNS配置,数值从 1 开始,必须有这个数字,这个序号表示在/etc/resolv.conf里的上下顺序

然后重启虚拟机或者service network restart,再次查看cat /etc/resolv.conf,生效,可以查看到新添加的DNS

如果已经存在序号为1的配置,再配置DNS1,不生效

上面这种方式的作用是,除了从DHCP服务器获得的dns外,另外添加dns,不会覆盖从服务器获取的dns

方法二:

1、另外根据鸟哥的文章,修改ifcfg-eth0的配置,然后重启网络,这样每次重启网络(service network restart)或者重启设备(sudo reboot),/etc/resolv.conf里的配置都是下面的三条DNS

方法三:

1、如果/etc/NetworkManager/NetworkManager.conf里设置dns=none;同时在配置/etc/sysconfig/network-scripts/ifcfg-*里设置PEERDNS=no,这样dns信息的来源就是手动配置的/etc/resolv.conf文件

dns=one + PEERDNS=no ==> 手动配置的/etc/resolv.conf在设备重启和service network restart两种情况下都会保持不变

2、在配置/etc/NetworkManager/NetworkManager.conf里设置dns=none使得网络管理不再管理dns配置。如果删除这条配置,那么重启网络服务(service network restart),网络服务会在/etc/sysconfig/network-scripts/ifcfg-*配置里查找dns配置(DNS1=xxx),然后使用这些配置生成/etc/resolv.conf文件,供dns解析使用

cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=none

3、在配置/etc/sysconfig/network-scripts/ifcfg-*里设置PEERDNS=no,表示不使用DHCP传过来的服务器配置,直接使用人工配置的/etc/resolv.conf文件,重启网络,也不会重新生成/etc/resolv.conf文件

4、由于bug(见参考2)的存在,实现2(PEERDNS=no),必须先配置1(dns=none),新的系统,可能已经解决这个问题

5、需要重启设备(reboot)使配置1生效(dns=none),不然,使用命令service network restart后,会使用/etc/sysconfig/network-scripts/ifcfg-*里的dns配置生成文件/etc/resolv.conf

6、这样所有的dns以手工配置的/etc/resolv.conf为准

重要提醒:

1、另外resolve.conf里的DNS只支持3条配置,然后轮询查找,依次从上往下查找

2、这个还牵扯到redhat的一个20170801份关闭的一个bug:https://bugzilla.redhat.com/show_bug.cgi?id=1405431

3、要使配置在reboot和service network restart两种情况下都不变

总结一下:目前系统现状是  dns=none配置表示不使用/etc/sysconfig/network-scripts/ifcfg-*里的dns配置;PEERDNS=no表示不使用dhcp server传过来的dns配置

参考:

1、http://blog.csdn.net/w670328683/article/details/61923858

2、http://cn.linux.vbird.org/linux_server/0350dns.php

3、https://ma.ttias.be/centos-7-networkmanager-keeps-overwriting-etcresolv-conf/

4、https://askubuntu.com/questions/623940/network-manager-how-to-stop-nm-updating-etc-resolv-conf

zstack分配的虚拟机的dns设置的更多相关文章

  1. 网络基础 外网IP,内网IP,虚拟机的网络设置

    外网IP,内网IP的关系 在这三类地址中,绝大多数的IP地址都是公有地址,需要向国际互联网信息中心申请注册.但是在IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用. 这三个地址 ...

  2. VirtualBox 虚拟机 centos7 下 设置静态ip 并支持 xshell 远程登陆的设置方法

    1.设置虚拟机使用“桥接模式” 2.使用 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3  打开配置文件(其中 enp0s3 是你的linux的网卡名,在 ...

  3. windows虚拟机中DNS服务配置

    在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器——角色— ...

  4. OpenWrt之DNS设置

    目录 OpenWrt之DNS设置 0.前言 1.WAN口 2.Lan口 3.LAN口DHCP选项 4.DHCP/DNS 5.总结 参考(Thanks) 附录.DHCP OPTION OpenWrt之D ...

  5. virturalbox 本地win8 虚拟机为Linux-- 网络设置

    网络地址转换 NAT(适合Linux临时上网,无法连接本地网络)  ,Linux需要设置为自动连接 既DHCP,并service network restart 桥接 适合本地和虚拟机对接,虚拟机网络 ...

  6. ubuntu的dns设置

    ubuntu的dns设置为: dns-nameservers 8.8.8.8 注意不要少s

  7. 虚拟机中Ubuntu设置固定IP方法

    --2013年7月29日20:39:16 场景:在搭建hadoop分布式系统的时候,每次重启节点,节点对应的ip发生变化,现在需要将每个节点绑固定的ip --原理: 设置节点用的网卡->绑定ip ...

  8. centos6.5静态IP和DNS设置

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0EVICE=eth0HWADDR=60:02:92:62:30:2ATYPE=EthernetBROA ...

  9. 路由器动态DNS设置

    路由器中的动态DNS设置非常的简单,只需要注册动态域名服务商的账号,然后在路由器中登录该账号就可以了 一.路由器动态DNS作用 无线路由器连接宽带上网后,路由器会从宽带运营商那里获取一个IP地址,这个 ...

随机推荐

  1. Vue Cli 移动端开发

    一.

  2. C#实现Base64处理加解密

    using System;using System.Text; namespace Common{    /// <summary>    /// 实现Base64加密解密    ///  ...

  3. Educational Codeforces Round 42 (Rated for Div. 2) E. Byteland, Berland and Disputed Cities(贪心)

    E. Byteland, Berland and Disputed Cities time limit per test2 seconds memory limit per test256 megab ...

  4. Saving Tang Monk II HihoCoder - 1828 2018北京赛站网络赛A题

    <Journey to the West>(also <Monkey>) is one of the Four Great Classical Novels of Chines ...

  5. Vue的css动画原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 京东供应链模式TC转运流程

    TC转运分上门提货和自己送货到网点 上门提货是TC委托第三方货运到商家提货,他们没有装货义务,需要商家自己装货等问题 上门提货简要流程: 采购单创建 商家打单打包出库(自己公司内部建单发货) TC预约 ...

  7. Python代码2转3、3转2的方法

    众所周知,Python2和Python3不兼容. 那么,假如遇到了超大的工作量,我们是不是需要一行一行地手动去改呢? 当然不是. (一)2转3 Python3.7(顺便提一句,现在装3.7发现好像安装 ...

  8. 015:URLs分层模块化

    URLs分层模块化: 经过上面的14节课程,大伙有没有发现一个问题:那就是随着的项目功能模块越来越多,所有url匹配都写在一个urls.py文件中,其结果是:文件长,看着心累——需要分门别类:因此能不 ...

  9. JavaScript求取水仙花数

    一.什么是水仙花数 水仙花数也称为超完全数字不变数.自幂数.阿姆斯壮数.阿姆是特朗数. 水仙花数是指一个三位数,每个位数上数字的3次幂之和等于数字它本身. 水仙花数是自幂数的一种,三位的三次自幂数才叫 ...

  10. html button标签 语法

    html button标签 语法 button标签怎么用? 作用:定义一个按钮. 语法:<button type="button">按钮</button> ...