解决重启centos后resolv.conf总被清空的问题

最近在机器上装了虚拟机virtualbox,然后安装了centos6.4,安装了免费主机控制面板virtualmin,在本地机器上搭建测试网站。一切都很顺利,网站也运行的很正常。但是第二天再次启动机器时发现无法连接ftp了,现象是超时。于是检查ftp服务端进程,发现进程proftp进程未启动。

找到问题就好办了,输入命令启动就行了,于是输入service proftpd start,却发现启动失败,提示:unable to determine IP address of “xxx.net”。

于是百度谷歌了一番,发现是proftpd启动失败的原因是虚拟机无法解析主机的IP地址,解决方法是在DNS列表中增加本地回送地址127.0.0.1,表示“xxx.com”域名由本机自己解析。加入方法:
如果是图形界面,可以直接在网络管理里修改,也可以打开文件/etc/resolv.conf,加入下面语句:nameserver 127.0.0.1
如果是文字界面,用vi 打开/etc/resolv.conf,加入nameserver 127.0.0.1。注意:nameserver要顶格,前面不要留空格。
这样处理后service proftpd start成功,ftp连接正常了。于是以为问题解决了。

又一次机器重启后,又发现ftp无法连接了,问题现象和上次一模一样提示:unable to determine IP address of “hostbus.net”。于是检查配置文件/etc/resolv.conf,发现上次的修改被清空了。真是奇怪,明明手动修改好了的,怎么会不见了呢?在virtualmin上折腾了许久也没有找到原因,然后搜索引擎上搜索,发现很多人都遇到了这个问题,不同系统的linux都有这个问题,centos从5.6就有这个问题。在众多的解答中终于找到了原因:
/etc/resolv.conf被清空的原因是/etc/sysconfig/network-scripts/ifcfg-eth0中没有dns server信息,所以重启后系统自动使用/etc/sysconfig/network-scripts/ifcfg-eth0中的设置重新设置/etc/resolv.conf,导致修改/etc/resolv.conf无效。只要将/etc/sysconfig/network-scripts/ifcfg-eth0中加入nameserver信息, /etc/resolv.conf根本不用做修改,系统重启或网络重启后会自动根据ifcfg-eth0设置resolv.conf。
知道了原因,彻底解决的方法就有了:打开ifcfg-eth0,在末尾加上下面语句:下面xxx用dns server的地址代替。
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx
改完保存后,重启网络服务:service network restart,然后再打开 /etc/resolv.conf,发现里面已经有了nameserver了,不用再手工修改resolv.conf了。resolv.conf总是被清空的问题就解决了。

解决重启centos后resolv.conf总被清空的问题的更多相关文章

  1. Ubuntu 12.04解决重启后resolv.conf清空的问题

    这跟以前用RHT系的 情况是完全不一样的: 在google上搜了一下,发现这里面还真有些奥妙: 1 /etc/resolv.conf 其实是一个Link 它其实指向的是 /run/resolvconf ...

  2. CentOS7重启后resolv.conf被重置的解决方案

    近期在修改一台CentOS7服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/ne ...

  3. CentOS 修改/etc/resolv.conf 重启network后又恢复到原来的状态?

    问题描述:CentOS 修改/etc/resolv.conf 执行service network restart后,/etc/resolv.conf又恢复到原来的状态 解决方法:/etc/resolv ...

  4. ubuntu网络重启后或主机重启后,/etc/resolv.conf恢复原样的解决办法

    ubuntu网络重启后或主机重启后,/etc/resolv.conf恢复原样的解决办法 /etc/resolv.conf中设置dns之后每次重启该文件会被覆盖,针对这种情况找了一些个解决方法 防止/e ...

  5. Ubuntu Server 中resolv.conf重启时被覆盖的问题

    /etc/resolv.conf中设置dns之后每次重启Ubuntu Server时该文件会被覆盖,针对这种情况找了一些个解决方法 防止/etc/resolv.conf被覆盖的方法 方法一 1.需要创 ...

  6. 两个坑-Linux下Network-Manager有线未托管-DNS resolv.conf文件开机被清空

    Linux里面有两套管理网络连接的方案: 1./etc/network/interfaces(/etc/init.d/networking) 2.Network-Manager 两套方案是冲突的,不能 ...

  7. 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题和DNS域名解析问题(图文详解)

    不多说,直接上干货! 问题情况描述如下: 普及知识:   /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf.  Ubun ...

  8. CentOS6.3 重启后/etc/resolv.conf 被还原解决办法(转)

    今天一台服务器上不了网,设置了nameserver,重启后/etc/resolv.conf文件就被自动还原了,最后发现是被Network Manager修改了.解决方法:停止Network Manag ...

  9. 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题

    问题情况描述如下: 普及知识:   /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf.  Ubuntu 有一个 reso ...

随机推荐

  1. Android网络编程系列之HTTP协议原理总结

    前言 作为搞移动开发的我们,免不了与网络交互打交道.虽然市面上很多开源库都封装的比较到位,我们实现网络访问也轻车熟路.但还是十分有必要简要了解一下其中的原理,以便做到得心应手,也是通往高级开发工程师甚 ...

  2. SVN switch 用法总结

    一直知道SVN有个switch命令,但是对它的介绍教程却很少,大多是生硬的svn帮助文档里的文字,从而一直不怎么会用.今天看了这篇文章,突觉豁然开朗,整理下来以备查阅. 使用SVN,自然是需要与别人合 ...

  3. Python数据类型之list和tuple

    list是一种有序的集合,可以随时添加和删除其中的元素. 用len()函数可以获得list元素的个数. 用索引来访问list中每一个位置的元素,索引是从0开始的.如果要取最后一个元素,除了计算索引位置 ...

  4. redis之安装与简单使用

    python操作redis: https://www.cnblogs.com/melonjiang/p/5342505.html https://www.jianshu.com/p/2639549be ...

  5. 使用SQL Server Management Studio操作replication时,要用机器名登录,不要用IP地址

    如果你在使用SSMS(SQL Server Management Studio)登录SQL Server时,使用的是IP地址,如下图所示: 当你操作replication时,会报错: 从上面的错误提示 ...

  6. unknown host www.baidu.com 解决方法

    今晚一开机发现无法更新yum了,本机是连着wife的,咋无法更新呢,作为小白,一脸懵逼.于是ping了一下百度,网络不可达.... 于是我查看了一下DNS,发现设置了,于是看了一下物理机的DNS,发现 ...

  7. MySQL基础之 统计函数总结

    五种统计函数:count().max().avg().min().max()函数 count()函数 count()函数在进行计算的时候,是分情况进行计算的,主要是一下两种 1.采用count(*)对 ...

  8. UI中新增一个右击按钮的过程

    1.首先给出增加之后的成品 点击后的界面 3.需要增加的部分 新增一个类:DiglogAddUser  用于操作用户填写的数据,写入数据库等操作 3.1首先在资源文件中定义窗口代号 3.2 枚举出该代 ...

  9. 一次gcc编译失败分析

    1. 场景: ​ 在使用gcc编译时,编译器报错:xxx:'xxx'未定义的引用 2. 排查过程: 首先,我很自然的想到是不是自己使用了未定义的函数或者将函数名称写错了,在检查了一边过后,我发现自己使 ...

  10. Python datetime.md

    datetime datetime模块包含了一些用于时间解析.格式化.计算的函数. Times 时间值由time类来表示, Times有小时, 分, 秒和微秒属性. 以及包含时区信息. 初始化time ...