当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Ubuntu和DHCP的兼容性问题

Linux服务器
在Linux下建立VPN服务器来做加密代理
有备无患Linux服务器备份和恢复技巧
如何测试和调试Apache服务器
在Linux系统下面架设Sendmail服务器
Linux操作系统下NFS服务的搭建过程
Linux操作系统下SAMBA服务的搭建过程
使用Linux应用服务器场的远程计算
高效配置Linux代理服务器Squid介绍
基于FedoraCoreNFS服务器搭建过程
sendmail+squirrelmail设置邮件服务器
用VSFTPD搭建FTP服务器
在Centos5环境下搭建安全的SSH服务器
实例解析DHCP服务器单子网配置应用
Linux系统服务器网络安全管理小技巧
Debian学习Linux系统服务器的搭建方法
NFS(网络文件系统)的建立与配置方法
Linux上的heartbeat双机热备服务架设
基于Linux系统服务器优化及安全配置
高手进阶Linux架设最简单的VPN系统
Linux系统服务器安装后的安全配置

Linux服务器 中的 Ubuntu和DHCP的兼容性问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 59 ::
收藏到网摘: n/a

我在vmware上使过Ubuntu6、7和8,它们都存在这样一个问题:通过DHCP,能够取到DNS服务器地址,但是不起作用。结果就是导致域名不能解析,除非直接使用IP,否则无法访问互联网。

解决办法就是,不要用DHCP,直接指定静态IP。具体操作:

sudosim/etc/resolv.conf
可以看到这个文件存放了取回的DNS服务器地址。把前几个地址删掉,只剩下最后一个,也就是当前网络的网关的地址,在我的机器上是:

searchdomain
nameserver192.168.1.1

然后
sudovim/etc/network/interfaces

把autoeth0部分的内容修改为:
autoeth0
ifaceeth0inetstatic
address192.168.1.110
netmask255.255.255.0
gateway192.168.1.1

最后重启网络:
sudo/etc/init.d/networkingrestart

再ping一下外网,就没问题了。

但是,过一段时间以后又会连接不上,这时候再查看/etc/resolv.conf,发现又被修改回去了。这时候,只能把/etc/resolv.conf设成只读,让别的程序改不了。从网上找到的办法是:

sudochattr+i/etc/resolv.conf

但在我的机器上报错:
chattr:Inappropriateioctlfordevicewhilereadingflagson/etc/resolv.conf

我直接用
sudochmoda-w/etc/resolv.conf

也没有问题。

防止/etc/resolv.conf被改写,有几种不同的办法,见
http://blog.csdn.net/xport/archive/2007/05/03/1595769.aspx

至于导致这个问题的原因,我开始以为是vmware和ubuntu的兼容性问题,后来在网上一找,无数人遇到过同样的问题,不运行在vm上的也有,甚至在FreeBSD上也有。有人说这是nat环境下的问题,但我的vm没有使用nat,而是直接通过bridge连接到家庭局域网。有人归结为Ubuntu的bug,如果是这样话,经过这么多版本还没有修正,也太过分了。但同一环境下的Fedora6确实没有这个问题。