DHCP下私自指定ip和私自搭建dhcp

網絡管理員:現在用戶真是不省心,自己改個IP地址;私接AP、忘關DHCP,還有的下個小***程序,就想在你內網裏試試。單靠交換機能管嗎?

    測試工程師:能!很多交換機上的小功能都可幫大忙。
    測試實況:
    IP與MAC綁定
    思科的Catalyst 3560交換機支持DHCP Snooping功能,交換機會監聽DHCP的過程,交換機會生成一個IP和MAC地址對應表。思科的交換機更進一步的支持IP source guard和Dynamic ARP Inspection功能,這兩個功能任啓一個都可以自動的根據DHCP Snooping監聽獲得的IP和MAC地址對應表,進行綁定,防止私自更改地址。
    Dynamic ARP Inspection功能還有一個好處是可以防範在2層網絡的中間人***(見圖4)。
    思科在DHCP Snooping上還做了一些非常有益的擴展功能,比如Catalyst 3560交換機可以限制端口通過的DHCP數據包的速率,粒度是pps,這樣可以防止對DHCP服務器的進行地址請求的DoS***。另外Catalyst 3560交換機還支持DHCP Tracker,在DHCP請求中插入交換機端口的ID,從而限制每個端口申請的IP地址數目,防止***程序對DHCP服務器進行目的爲耗盡IP地址池的***。華碩雖然不能調整速率,但是也會限制DHCP請求的數量。
    DHCP(動態主機配置協議)是一種簡化主機IP地址配置管理的TCP/IP標準。該標準爲DHCP服務器的使用提供了一種有效的方法:即管理網絡中客戶機IP地址的動態分配以及啓用網絡上DHCP客戶機的其它相關配置信息。
    在基於TCP/IP協議的網絡中,每臺計算機都必須有唯一的IP地址才能訪問網絡上的資源,網絡中計算機之間的通信是通過IP地址來實現的,並且通過IP地址和子網掩碼來標識主計算機及其所連接的子網。在局域網中如果計算機的數量比較少,當然可以手動設置其IP地址,但是如果在計算機的數量較多並且劃分了多個子網的情況下,爲計算機配置IP地址所涉及的管理員工作量和複雜性就會相當繁重,而且容易出錯,如在實際使用過程中,我們經常會遇到因IP地址衝突、網關或DNS服務器地址的設置錯誤導致無法訪問網絡、機器經常變動位置而不得不頻繁地更換IP地址等問題。
    DHCP則很好地解決了上述的問題,通過在網絡上安裝和配置DHCP服務器,啓用了DHCP的客戶機可在每次啓動並加入網絡時自動地獲得其上網所需的IP地址和相關的配置參數。從而減少了配置管理,提供了安全而可靠的配置。
    配置DHCP服務的服務器可以爲每一個網絡客戶提供一個IP地址、子網掩碼、缺省網關,以及DNS服務器的地址。DHCP避免了因手工設置IP地址及子網掩碼所產生的錯誤,也避免了把一個IP地址分配給多臺主機所造成的地址衝突。降低了IP地址管理員的設置負擔,使用DHCP服務器可以大大地縮短配置網絡中主機所花費的時間。
    但是,隨着DHCP服務的廣泛應用,也產生了一些問題。首先,DHCP服務允許在一個子網內存在多臺DHCP服務器,這就意味着管理員無法保證客戶端只能從管理員所設置的DHCP服務器中獲取合法的IP地址,而不從一些用戶自建的非法DHCP服務器中取得IP地址;其次,在部署DHCP服務的子網中,指定了合法的IP地址、掩碼和網關的主機也可以正常地訪問網絡,而DHCP服務器卻仍然會有可能將該地址分配給其他主機,這樣就會造成地址衝突,影響IP地址的正常分配。
    針對上述問題,本文給出了一個解決方案,即通過使用Cisco提供的DHCP Snooping技術和Dynamic ARP Inspection技術,可以有效地防止以上問題的發生。
    這裏首先對兩種技術做一個簡要的介紹,然後將給出一個應用實例加以說明。
    二、DHCP Snooping技術DHCP Snooping是一種通過建立DHCP Snooping Binding數據庫,過濾非信任的DHCP消息,從而保證網絡安全的特性。DHCP Snooping就像是非信任的主機和DHCP服務器之間的防火牆。通過DHCP Snooping來區分連接到末端客戶的非信任接口和連接到DHCP服務器或者其他交換機的受信任接口。
    DHCP Snooping Binding數據庫包括如下信息:MAC地址、IP地址、租約時間、binding類型、VLAN ID以及來自本地非信任端口的接口信息,但不包含通過受信任端口互相連接的接口信息。在啓用了DHCP Snooping的VLAN中,如果交換機收到來自非信任端口的DHCP包,交換機將對目的MAC地址和DHCP客戶端的地址進行對比,如果符合則該包可以通過,否則將被丟棄掉。
    在下述情況中,DHCP包將同樣被丟棄:
    l 來自外網或者防火牆的DHCP服務器,包括DHCPOFFER、DHCPACK、DHCPNAK、DHCPLEASEQUERY.
    l 來自非信任端口,且目的MAC地址和DHCP客戶端的硬件地址不匹配。
    l 交換機收到DHCPRELEASE或者DHCPDECLINE的廣播信息,其MAC地址包含在DHCP snooping binding 數據庫中,但與數據庫中的接口信息不匹配
    l 通過DHCP中繼代理轉發的包不包括在內
    三、Dynamic ARP Inspection技術Dynamic ARP inspection是一種驗證網絡中ARP包的安全特性,可以阻止、記錄並丟棄非法IP和MAC地址綁定的ARP包。
    Dynamic ARP inspection保證只有合法的ARP請求和響應可以傳播。交換機會完成如下工作,截取所有來自非信任端口ARP請求和響應,在更新ARP緩存或傳播數據包之前驗證所截取的數據包IP-MAC地址綁定是否合法,丟棄非法的ARP包。
    前面提到,DHCP Snooping會建立一個包含合法IP-MAC地址綁定信息的數據庫,Dynamic ARP inspection基於該數據庫檢驗所截取ARP包的合法性。如果ARP包來自非信任接口,那麼只有合法的可以通過。如果來自受信任端口,將可以直接通過。
   
四、應用實例
我校1#學生公寓,PC擁有數量大約1000臺。採用DHCP分配IP地址,擁有4個C類地址,實際可用地址數約1000個。由於樓內經常存在私開的DHCP服務器,導致大量主機無法分配到合法IP地址;另外,由於有相當數量的主機指定IP地址,因此造成了與DHCP分配的IP地址衝突。以上兩方面,均造成了該公寓樓大量主機無法正常訪問網絡。
經過一段時間的分析、實驗,我們決定對該公寓樓部署DHCP Snooping和Dynamic ARP Inspection兩項技術,以保證網絡的正常運行。
該公寓網絡設備使用情況如下,接入層爲××臺Cisco 2950交換機上聯至堆疊的4臺Cisco 3750,再通過光纖上聯至匯聚層的Cisco 3750交換機。同時匯聚層的Cisco 3750交換機還兼做DHCP服務器。
部署過程
首先按如下過程配置DHCP Snooping
1 configure terminal
2 ip dhcp snooping 在全局模式下啓用DHCP Snooping
3 ip dhcp snooping vlan 103 在VLAN 103中啓用DHCP Snooping
4 ip dhcp snooping information option Enable the switch to insert and remove DHCP relay information(option-82 field) in forwarded DHCP request messages to the DHCP server. The default is enabled.
5 interface GigabitEthernet1/0/28,進入交換機的第28口
6 ip dhcp snooping trust 將第28口設置爲受信任端口
7 ip dhcp snooping limit rate 500 設置每秒鐘處理DHCP數據包上限
9 end 退出
完成配置後,可用如下命令觀察DHCP Snooping運行狀況:
show ip dhcp snooping
得到如下信息:
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
103
Insertion of option 82 is enabled
Verification of hwaddr field is enabled
Interface Trusted Rate limit (pps)
------------------------ ------- ----------------
GigabitEthernet1/0/22 yes unlimited
GigabitEthernet1/0/24 yes unlimited
GigabitEthernet1/0/27 yes unlimited
GigabitEthernet1/0/28 no 500
show ip dhcp snooping binding,得到如下信息:
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- -----------------------------------------------------------
00:11:09:11:51:16 210.77.5.201 3209 dhcp-snooping 103 GigabitEth ernet1/0/28
00:50:8D:63:5A:05 210.77.6.134 2466 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:4C:A17:80 210.77.4.26 3070 dhcp-snooping 103 GigabitEthernet1/0/28
00:0F:EA:A8:BC:22 210.77.5.198 1887 dhcp-snooping 103 GigabitEthernet1/0/28
10:E0:8C:50:805 210.77.5.95 3034 dhcp-snooping 103 GigabitEthernet1/0/28
00:03:0D:0E:9A:A5 210.77.6.230 3144 dhcp-snooping 103 GigabitEthernet1/0/28
00:50:8D:6C:08:9F 210.77.4.17 3012 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:50:00:0B:54 210.77.6.18 3109 dhcp-snooping 103 GigabitEthernet1/0/28
00:0F:EA:13:40:54 210.77.7.7 2631 dhcp-snooping 103 GigabitEthernet1/0/28
00:E0:4C:45:21:E9 210.77.7.77 2687 dhcp-snooping 103 GigabitEthernet1/0/28
   
接下來配置Dynamic ARP Inspection
1 show cdp neighbors 檢查交換機之間的連接情況
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
 
Device ID Local Intrfce Holdtme Capability Platform Port ID
ap Gig 1/0/23 149 T AIR-AP1230Fas 0
hall-3750 Gig 1/0/27 135 S I WS-C3750-2Gig 1/0/1
1#west-3750 Gig 1/0/28 173 S I WS-C3750G-Gig 1/0/25
2 configure terminal 進入全局配置模式
3 ip arp inspection vlan 103 在VLAN 103上啓用Dynamic ARP Inspection
4 interface GigabitEthernet1/0/28 進入第28端口
5 ip arp inspection trust 將端口設置爲受信任端口
The switch does not check ARP packets that it receives from the other switch on the trusted interface. It simply forwards the packets.
6 end
配置完成後可以用如下命令觀察Dynamic ARP Inspection的運行情況
show arp access-list [acl-name] Displays detailed information about ARP ACLs.
show ip arp inspection interfaces [interface-id] Displays the trust state and the rate limit of ARP packets for the specified interface or all interfaces.
Interface Trust State Rate (pps) Burst Interval
--------------- ----------- ---------- --------------
Gi1/0/21 Untrusted 15 1
Gi1/0/22 Trusted None N/A
Gi1/0/23 Untrusted 15 1
Gi1/0/24 Trusted None N/A
Gi1/0/25 Untrusted 15 1
Gi1/0/26 Untrusted 15 1
Gi1/0/27 Trusted None N/A
Gi1/0/28 Untrusted None N/A
show ip arp inspection vlan vlan-range, Displays the configuration and the operating state of dynamic ARP inspection for all VLANs configured on the switch, for a specified VLAN, or for a range of VLANs.
yql-2#-3750#sh ip arp inspection vlan 103
 
Source Mac Validation : Disabled
Destination Mac Validation : Disabled
IP Address Validation : Disabled
Vlan Configuration Operation ACL Match Static ACL
---- ------------- --------- --------- ----------
103 Enabled Active
Vlan ACL Logging DHCP Logging
---- ----------- ------------
103 Deny Deny
注意事項:
DHCP Snooping
l 在配置DHCP Snooping以前,必須確認該設備作爲DHCP服務器。
l 建議對非信任端口的上限不要超過100。對於被設置爲受信任的trunk端口,需要適當增加
Dynamic ARP Inspection
必須限制trunk端口處理ARP包的數量
五、一些問題的討論
在實際使用過程中我們發現,在配置完上述命令後,Cisco 3750交換機會在運行一段時間以後變得緩慢,CPU利用率達到100%,性能嚴重下降。經過分析我們發現,在開始應用Dynamic ARP Inspection時,交換機會記錄大量的數據包,當端口通過的數據包過多時,交換機會認爲遭受DoS***,從而將端口自動errdisable,造成通信中斷。爲了解決這個問題,我們需要加入命令errdisable recovery cause arp-inspection。
由於Cisco 3750交換機能力有限,因此我們建議在使用Cisco 3750交換機配置上述命令時應逐級增大port limit rate。
六、小結
DHCP服務在網絡中的廣泛應用,極大地減輕了網絡管理員的負擔,方便了用戶使用網絡。但是由於有些用戶私自指定IP地址,造成了IP地址自動分配時引起的IP地址衝突,進而影響其他用戶的使用。我們經過實際測試,給出了上述解決方案,本方法不僅適合於Cisco的3750交換機,也適用於Cisco的65系列交換機。
DHCP防指定IP地址的方法在我校已經得到了成功的應用,經過實踐檢驗,我們認爲這是一個非常實用的功能。在系統設置好以後,網絡中的用戶只有設置爲自動獲取IP地址才能上網,否則將無法上網。從而解決了在使用DHCP的網絡中,用戶私自指定IP地址而帶來的IP地址衝突問題。

如果公司內網由於用戶自行安裝了Windows Server版本的操作系統而小心啓用了DHCP服務,或其他因素在內網中出現了非授權的DHCP服務器,會給網絡造成什麼樣的影響呢?
DHCP server可以自動爲用戶設置網絡IP地址、掩碼、網關、DNS、WINS 等網絡參數,簡化了用戶網絡設置,提高了管理效率。但是,此時如果服務器和客戶端沒有認證機制,網絡上存在的非法的DHCP服務器將會給部分主機的地址分配、網關及DNS參數照成混亂,導致主機無法連接到外部網絡。出現這種情況,如何解決這些問題呢?
作爲客戶端計算機來說,可以嘗試使用ipconfig /release釋放獲得的網絡參數後,然後用ipconfig /renew重新嘗試獲取正確的DHCP服務器配置服務,但這種方法很被動,往往要十幾次甚至幾十次才偶爾有可能成功一次,不能從根本解決問題。
另外一個解決辦法,在windows系統組建的網絡中,如果非法DHCP服務器也是用Windows系統建立的話我們可以通過“域”的方式對非法DHCP服務器進行過濾。將合法的DHCP服務器添加到活動目錄(Active Directory)中,通過這種認證方式就可以有效的制止非法DHCP服務器了。原理就是沒有加入域中的DHCP Server在相應請求前,會向網絡中的其他DHCP Server發送DHCPINFORM查詢包,如果其他DHCP Server有響應,那麼這個DHCP Server就不能對客戶的要求作相應,也就是說網絡中加入域的DHCP服務器的優先級比沒有加入域的DHCP服務器要高。這樣當合法DHCP存在時非法的就不起任何作用了。
授權合法DHCP的過程如下:
第一步:開始->程序->管理工具->DHCP
第二步:選擇DHCP root, 用鼠標右鍵單擊,然後瀏覽選擇需要認證的服務器。
第三步:點“添加”按鈕, 輸入要認證的DHCP服務器IP地址, 完成授權操作。
但是該方法只適用於非法DHCP服務器是windows系統,需要用到域和活動目錄,配置較複雜,另外對於非Windows的操作系統,就顯得力不從心了。
還有更好的方法,就是利用交換機的DHCP監聽,通過建立和維護DHCP Snooping綁定表過濾不可信任的DHCP信息,也就是過濾掉非法DHCP服務器向網絡上發送的數據包。首先定義交換機上的信任端口和不信任端口,將DHCP服務器所連接的端口定義爲信任端口,其它連接到普通客戶端的端口全部定義爲不信任端口,對於不信任端口的DHCP報文進行截獲和嗅探,drop掉來自這些端口的非正常 DHCP 報文,從而達到過濾非法DHCP服務器的目的。
基本配置示例:
switch(config)#ip dhcp snooping vlan 100,200
/* 定義哪些 VLAN 啓用 DHCP 嗅探
switch(config)#ip dhcp snooping
switch(config)#int fa4/10 /* dhcp服務器所在端口
switch(config-if)#ip dhcp snooping trust
switch(config)#int range fa3/1 - 48 /* 其它端口
switch(config-if)#no ip dhcp snooping trust (Default)
switch(config-if)#ip dhcp snooping limit rate 10 (pps)
/* 一定程度上防止 DHCP 拒絕服 /* 務***
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章