天天看點

DHCP的基本原理

DHCP隻适用于以太網,序列槽不适用

DHCP可以說是BOOTP的增強版本

DHCP補充了BOOTP兩方面:允許計算機快速、動态的擷取IP位址

dhcp請求封包和應答封包都采用UDP封裝

DHCP封包格式

<a href="https://s5.51cto.com/wyfs02/M01/8D/B1/wKioL1impYuROti4AAL9Fs6jTpU387.jpg" target="_blank"></a>

DHCP擷取位址幾個階段

1、發現階段:用戶端尋找DHCP伺服器階段(Source 68  destination 67)

2、提供階段:DHCP伺服器提供IP位址階段(Source 67  destination 68)

3、選擇階段:用戶端選擇某台DHCP伺服器提供的IP位址階段(出現多給DHCP伺服器時、先到先得)

4、确認階段:DHCP伺服器确認提供的IP位址的階段

<a href="https://s1.51cto.com/wyfs02/M01/8D/B4/wKiom1impc-TXYyIAAC1gRUaF_M447.jpg" target="_blank"></a>

DHCP伺服器為用戶端配置設定IP位址的優先次序:

1、與用戶端MAC位址或用戶端ID靜态綁定的IP位址

2、DHCP伺服器記錄的曾經配置設定給用戶端的IP位址

3、用戶端發送的DHCP-DISCOVER封包中option50字段指定的IP位址

4、在DHCP位址池中,順序查找可供配置設定的IP位址,最先找到的IP位址

5、如果未找到可用的IP位址,則依次查詢租約過期、曾發生過沖突的IP位址,如果找到則進行配置設定,否則将不予處理

DHCP伺服器配置設定IP位址,需要确定沒有被其他裝置所使用的。DHCP伺服器通過發送icmp封包進行探測,如果沒有在規定時間沒有應答再次發送ping封包,達到規定次數沒有應答可以配置設定,否則将探測的IP位址記錄為沖突位址,并重新選擇IP位址進行配置設定

DHCP用戶端收到DHCP伺服器傳回的DHCP-ack之後,會以廣播的方式發送免費ARP封包,探測是否有主機使用該IP位址

DHCP snooping:DHCP服務的二層監聽功能、利用該功能可以從接收到的DHCP-ACK和DHCP-request封包中的提取并記錄IP位址和MAC位址資訊

DHCP中繼出現

DHCP協定要求用戶端和伺服器隻能在同一個子網内,不可以跨越網段,DHCP中繼解決此情況              

<a href="https://s1.51cto.com/wyfs02/M00/8D/B1/wKioL1impejCxOYFAAFXFdmM7x4522.jpg" target="_blank"></a>

用戶端配置ip address dhcp-alloc 後不會立即發送DHCP-discover封包,而是1-10s内随機發送,如果沒有收到DHCP伺服器的回應封包繼續發送,直到回應為止

DHCP攻擊方式:

1、餓死攻擊:MAC位址限制,不斷擷取IP位址,這種結合交換機端口安全技術防範

2、DHCP Server仿冒者攻擊:信任(Trusted)/不信任(Untrusted)

3、中間人攻擊/IP/MAC Spoofing攻擊:DHCP Snooping綁定表

4、改變CHADDR值的DoS攻擊:檢查DHCP封包的CHADDR字段(不斷申請IP位址)

DHCP Server仿冒者攻擊:

由于DHCP使用discovery廣播包、offer封包提供IP/mask GW,requset先來先得位址,ACK确認包

ARP欺騙,MAC位址綁定

update arp 開啟定期ARP詢問

interfaca g0/0/2

arp authorized 禁止動态更新ARP

arp timeout 60 60s無應答則删除ARP條目

snooping窺探機制工作在交換機上,把端口設為trusted或untrusted

trusted:可以收發DHCP消息

untrusted:可以收到discovery、offer消息、執行drop,不發送任何DHCP消息

ip dhcp snooping 開啟snooping,預設是untrusted

ip dhcp snooping vlan 20 vlan20開啟snooping

interface f0/0  定義信任端口

ip dhcp snooping trust 交換機連接配接DHCP伺服器端口設為trusted

中繼

interface f0/0

ip helper-address 1.1.1.1

ip dhcp relay information trust 

dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0,配置IP與MAC綁定表的靜态表項

DHCP利用Option字段傳遞控制資訊和網絡配置參數,實作位址的動态配置設定,為用戶端提供更加豐富的網絡配置信

DHCP配置

dhcp enable 開啟dhcp

dhcp server ip-pool pool  建立dhcp名稱

 network 172.16.18.0 mask 255.255.255.0  位址段

 gateway-list 172.16.18.1  網關

 dns-list 202.106.0.20  DNS

 expired day 8  租用天數

 option 43 hex 800B0000 02AC1267 03AC1267 04    十六進制    (無線用的)

 dhcp server forbidden-ip 172.16.18.1  排除位址

 dhcp server forbidden-ip 172.16.18.254

dhcp snooping trusted指令用來設定三層接口或VLAN為“信任”狀态

undo dhcp snooping trusted指令用來設定三層接口或VLAN為 “非信任”狀态

啟用portfast的優勢在于能夠防止DHCP逾時的問題

display ip interface br

interface vlan 1 

ip add dhcp-alloc 自動擷取位址

dhcp selsect global all 全局配置設定位址

display dhcp server ip-in-use all 檢視位址池可用位址資訊

reset dhcp server ip-in-use all 重置正在使用的IP位址

address-check enable dhcp中繼的安全特性

靜态表項和動态表項

1、靜态綁定:通過手工配置産生綁定表項來完成端口的控制功能,适用于區域網路絡中主機數較少或者針對某台做綁定比對

2、動态綁定:通過DHCP snooping或DHCP relay的綁定表項來完成端口控制功能,能有效控制IP位址沖突、盜用等問題

ip dhcp relay information trust-all 合法的DHCP服務路由,為了形成一個綁定表

no ip dhcp conflict logging  關閉DHCP沖突日志

debugging dhcp server all 

1、PC拿不到位址:鍊路不通、server未啟用、缺乏中繼、位址耗盡(抓包隻拿到前兩個包)

2、PC拿到位址,上不了網:DHCP池沖突

UDP Helper能夠實作對指定UDP端口的廣播封包進行中繼轉發

将廣播封包轉換為單點傳播封包發送給指定的目的伺服器,解決了當主機與待查詢的伺服器不在同一個廣播域時,無法利用廣播封包進行通信,主機無法從伺服器中擷取所需要的資訊的問題;

差別:IP Helper Address支援對DHCP封包的中繼,UDP HELPER不支援對DHCP封包的中繼

使能UDP Helper功能後,裝置接收到廣播封包,将根據封包的UDP目的端口号來判斷是否要對其中繼轉發,并進行相應的處理:

如果封包的UDP目的端口号與配置的需要中繼轉發的UDP端口号比對,且目的MAC為廣播MAC,則修改IP封包頭的目的IP位址,将封包發給指定的目的伺服器; 否則,直接将封包丢棄

本文轉自 周小玉 51CTO部落格,原文連結:http://blog.51cto.com/maguangjie/1898852,如需轉載請自行聯系原作者

下一篇: SNMP筆記

繼續閱讀