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,如需轉載請自行聯系原作者