


Linux DHCP網絡故障排除事例
一天在網絡中部署了一臺SuSE Linux 9.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網管員工作是重要的。
關鍵字:DHCP、網絡、服務器、客戶端
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解