ubuntu 自从12.04后,会自动刷写 /etc/resolv.conf 文件,导致写入的dns信息会在重启的时候丢失。

============================

转自:http://i2cq.com/2012/05/1343

安装了ubuntu server 12.04 LTS之后,发现用过去的方法配置ip后,会出现dns失效的问题,每次启动后resolv.conf文件就被清空,查看wiki之后发现这个问题的原因。

我配置固定ip喜欢这样做

auto eht0
iface eth0 inet static
address 192.168.1.5
gateway 192.168.1.1
netmask 255.255.255.0

之后/etc/init.d/networking restart后就可以正常访问网络,如果需要配置dns,我选择直接修改resolv.conf文件

$ vi /etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8

在ubuntu 12.04之前是没问题的,更新到ubuntu 12.04之后,却出现文章开头的问题,修改resolv.conf文件,发现一条警告

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGE WILL BE OVERWRITTEN

意思是这个文件已经改由resolvconf程序来动态生成,手动编辑会被覆盖。这个resolvconf我还是第一次遇到,它是怎样的一个程序呢?wiki查询说ubuntu 12.04 lts启用了这个程序,在ubuntu manpage查到了对这个程序的功能说明,http://manpages.ubuntu.com/manpages/lucid/man8/resolvconf.8.html 或者直接man resolvconf。
resolvconf是用来解决大量自动修改resolv.conf配置的程序所设立的,官方页面是http://packages.qa.debian.org/r/resolvconf.html
他解决了一些如手动修改/etc/network/interfaces,pppd拨号,dhcp自动分配,dnsmasq缓存解析等等程序对resolv.conf文件的影响,所有改变自动被resolvconf程序吸收修改而不会相互影响冲突。
resolvconf -a eth0 添加一个设备后,resolvconf –enable-updates开启自动更新功能,我再次修改/etc/network/interfaces

auto eht0
iface eth0 inet static
address 192.168.1.5
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 192.168.1.1 8.8.8.8

之后,此时的resolv.conf文件就多了两行

nameserver 192.168.1.1
nameserver 8.8.8.8

如果不开启自动更新,使用resolvconf -u也能更新一次resolv.conf文件。

resolvconf是在ubuntu 12.04之后引入的一项新功能,这个守护进程能很好的解决手动编辑resolv.conf时遇到的冲突问题,很有实际意义。

ubuntu 永久设置dns信息的更多相关文章

  1. 在Ubuntu中设置DNS域名服务器端

    在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: n ...

  2. 在Ubuntu中设置DNS域名服务器

    在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: n ...

  3. ubuntu下设置DNS服务器

    当网卡通过DHCP获取IP地址时,DHCP会根据DHCP服务器配置,自动给系统分配DNS服务器地址,此时执行 ping www.baidu.com 动作,会将百度的域名在本地转换成ip地址,然后走路由 ...

  4. [转载]--Ubuntu下修改DNS重启也能用的方法

    安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名.想重新设置一下DNS,打开/etc/resolv.conf cat /etc/resolv.conf# Dynamic resolv. ...

  5. 【Ubuntu】Ubuntu网络配置DNS失效问题处理

    安装了Ubuntu Server版本,配置了静态IP地址,并配置了DNS.但重启之后,发现连接外网时候,还是存在问题. 找了一下,是DNS的问题. 可以这样处理: lifeccp@ubuntu:~/w ...

  6. Ubuntu命令设置ip网关dns

    本文系转载,介绍Ubuntu如何设置IP和网络来连接网络 如果是在虚拟机中使用Ubuntu,那么设置之前请先参照我的上一遍文章虚拟机Net方式设置连接外网中的网络设置部分,先设置好主机的网络,然后配置 ...

  7. Ubuntu中设置静态IP和DNS

    在Ubuntu中设置静态IP共两步:1>设置IP:2>设置DNS1>设置IP    编辑 /etc/network/interface文件:       sudo vi /etc/n ...

  8. Ubuntu中设置静态IP和DNS(转载)

    原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP:在Ubuntu中设置静态IP共两步: ...

  9. Linux - ubuntu 设置固定ip和设置dns

    ubuntu 设置固定ip和设置dns 1.ifconfig 查看网卡名称 root@jiqing-virtual-machine:~# ifconfig ens32 Link encap:以太网 硬 ...

随机推荐

  1. python生态环境

    https://docs.python.org/2.7/ 这是文档页 https://docs.python.org/2.7/download.html 2.7的文档下载地址,下载一个包,所有文档就都 ...

  2. wikioi1012 最大公约数和最小公倍数问题(2001年NOIP全国联赛普及组)

    题目描述 Description 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件:  1.P,Q是正整 ...

  3. Html.BeginForm())与Ajax.BeginForm()

     一.@using (Html.BeginForm())参数示例 1.指定表单提交方式和路径等 @using (Html.BeginForm("Index", "Home ...

  4. 转:深入研究mysql中group by与order by取分类最新时间内容

    鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里, (不知道是不是现在水平的限制,总之我还没找到在用ContentProvider时可以使用子查询),主要方法是用SQL ...

  5. C#基础——Func和Action的介绍及其用法

    Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能. ...

  6. C++中的空类与空结构体大小

    今天面试遇到了一个很有意思的问题,即空结构体在C++中所占的内存大小是多少?参见如下代码: #include <iostream> struct S0 { }; int main() { ...

  7. 使用UpdatePanel 页面脚本不起作用

    在后台中这样注册js方法 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "", " ...

  8. js 如何生成二维数组

    想了几种方法都不能很好的,用js定义二维数组.这种定义,指的是:定义按需确认数组大小. 网上看了下,都是用for循环创建,大小必须提前设定.不是我想要的.(感觉不能和php一样,真是麻烦!) 先贴出代 ...

  9. Android外派(安卓外派) — 长年提供安卓开发工程师外派业务(可签合同)

    北京动点飞扬长年提供安卓工程师外派业务. 平均技术情况如下: 1.2~3年以上Android平台开发经验2.熟练掌握java技术,熟悉面向对象编程设计3.熟悉Android应用开发框架及Activit ...

  10. VBA相关

    --能否彻底隐藏某行或某列 用代码隐藏列,将其放在Private Sub Worksheet_SelectionChange(ByVal Target As Range)Columns(1).Enti ...