科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Linux DHCP网络故障排除一例

Linux DHCP网络故障排除一例

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一天在网络中部署了一台SuSE Linux9.1 DHCP服务器。DHCP就是动态主机配置协议,这个协议用于向计算机自动提供IP地址,子网掩码和路由信息。

作者:论坛整理 来源:zdnet网络安全 2008年3月27日

关键字: DHCP DHCP协议 DHCP服务器 网络协议

  • 评论
  • 分享微博
  • 分享邮件

  一天在网络中部署了一台SuSE Linux9.1 DHCP服务器。DHCP就是动态主机配置协议,这个协议用于向计算机自动提供IP地址,子网掩码和路由信息。 软件在服务器和客户机安装过程都很简单。

  但是网络中的客户机(使用操作系统:Mandrake Linux 9.0、SuSE Linux 9.1)却没办法取得IP地址。根据经验可能是Linux DHCP服务器没有办法接收来自255.255.255.255的DHCP客户机的Request 封包。使用ifconfig -a命令查询服务器网卡设置:

  [root@www cao]# ifconfig

  eth0 Link encap:Ethernet HWaddr 00:50:FC:56:75:F5

  inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0

  UP BROADCAST RUNNING MTU:1500 Metric:1

  RX packets:0 errors:0 dropped:0 overruns:0 frame:0

  TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

  collisions:0 txqueuelen:100

  RX bytes:0 (0.0 b) TX bytes:240 (240.0 b)

  Interrupt:10 Base address:0x2000

  ……

  果然上面没有发现MULTICAST设置,为什么系统需要具有MULTICAST功能呢?其理由是:为了让dhcpd(dhcp程序的守护进程)能够正常的和DHCP客户机沟通,dhcpd必须传送封包到255.255.255.255这个IP地址,但是有些Linux系统里255.255.255.255这个IP地址被用来做为监听区域子网域(local subnet)广播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能;使用命令:route add -host 255.255.255.255 dev eth0

  故障得以排除。

  如果发生了 255.255.255.255: Unknown host 的错误信息,先修改文件:/etc/hosts, 加入一行:

  255.255.255.255 dhcp

  存盘后再使用命令:

  route add -host 255.255.255.255 dev eth0

  为了保存设置,在文件/etc/sysconfig/static-routes, 加入 一行:

  eth0 host 255.255.255.255

  服务器重新开机就会自动设定路由表(routing table)。然后使用ifconfig查询命令,检查发现使用SuSE Linux 9.1系统的客户机工作正常,而使用Mandrake Linux 9.0客户机还是没有获得IP地址。经过参考Linux工具书以及和Linux社区的朋友探讨,发现问题出在Mandrake Linux 9.0客户机使用的DHCP客户端程序和DHCP服务器不兼容上。

  故障排除方法:使用rpm命令卸载Mandrake Linux 9.0客户机使用的缺省 DHCP客户端程序:dhclient;安装其他和DHCP服务器兼容的客户端程序:dhcpcd。

  # /etc/rc.d/init.d/network stop

  #rpm -e dhclient

  #rpm -ivh dhcpcd-1.3.22pl4-2mdk.i586.rpm

  # /etc/rc.d/init.d/network start

  网络和新的DHCP 客户机,数秒之后再一次启动。使用ifconfig 命令查看每个Mandrake Linux 9.0 客户机已经分配到一个IP地址。 在网络中为那么每台计算机设置IP地址比较麻烦,利用DHCP,这些事都迎刃而解。DHCP服务器可以自动分配IP地址,但是有些时候服务器和客户端有不兼容的情况,此时就必须更换客户端程序,Linux提供了四种DHCP客户端程序:pump, dhclient, dhcpxd, 和dhcpcd。了解不同Linux发行版本的客户端程序对于Linux网管员工作是重要的。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章