session 1 DHPC服務器的配置
不需跨越L3層設備配置DHCP
在cisco3560上配置爲例:開啓3560的L3層功能,劃分3個vlan,爲每一個v lan分配DHCP地址池。實現不一樣vlan不一樣的地址池。
3560(config)#vlan 3
3560(config-vlan)#name 17.31net
3560(config-vlan)#exit
3560(config)#service dhcp 開啓dhcp服務功能,若是想停用dhcp功能而不刪除DHCP地址池及其餘的配置可使用no service dhcp,想啓用dhcp功能的時候service dhcp就能夠了。
3560(config)#ip dhcp pool vlan3_31net 配置vlan3要分配的地址池範圍
3560(dhcp-config)#network 172.17.31.0 255.255.255.0
3560(dhcp-config)#default-router 172.17.31.1
3560(dhcp-config)#dns-server 61.134.1.4 8.8.8.8
3560(dhcp-config)#lease ? 配置dhcp分配的地址的租約時間,默認是1天
<0-365> Days
infinite Infinite lease 無限期,表明分配後一直有效
3560(dhcp-config)#exit
3560(config)#ip dhcp excluded-address 172.17.31.1 vlan3地址池中不分配的ip地址,通常都是網關
3560(config)#ip dhcp pool ip_31.243 配置vlan3要給固定主機分配的ip地址
3560(dhcp-config)#host 172.17.31.243 255.255.255.0
3560(dhcp-config)#client-identifier 01d0.67e5.1e7b.65 //IP地址和主機的mac地址綁定,注意開頭的01表示以太網網類型指示符號,後面的d067.e51e.7b65是mac地址, 不一樣的cisco交換機這裏設置的格式可能不一樣,有的交換機設置形式是0100.0002.af65.0c55,應該用哪一個形式,能夠先經過show ip dhcp binding來看。
3560R#show ip dhcp binding
IP address Client-ID/ Lease expiration Type
Hardware address
172.17.17.243 01d0.67e5.1e7b.65 Infinite Manual
紅色的表示PC的mac地址,01是表示網絡類型是以太網
3560(config)#interface vlan 3 配置vlan3的網關SVI接口的ip地址
3560(config-if)#ip address 172.17.31.1 255.255.255.0
3560(config-if)#no shutdown
這樣vlan3的整個DHCP就配置完成,全部接入vlan3的主機就能夠獲取到ip地址了。若是客戶端獲取不到ip地址通常兩種狀況:交換機鏈接客戶端的接口不是postfast接口,會延遲客戶端獲取ip的時間。二是SW和客戶端不是同一個網段或vlan的,這就須要在鏈接客戶端的L3層設備接口上配置dhcp中繼代理解決。若是是使用三層交換的SVI劃分多vlan不會出現以上問題。
若是還須要配置其餘vlan的dhcp也和vlan3同樣:
一、建立vlan的dhcp地址池、網關、dns等
二、排除不須要分配的ip地址
三、綁定ip+mac用來給固定主機分配固定ip
四、在vlan網關接口上配置ip地址,供客戶端設置網關
這樣就實現了多vlan多個dhcp地址池分配ip地址效果。
手動釋放已經分配的ip地址命令:3560#clear ip dhcp binding *
3560#clear ip dhcp conflict *
好比設置了固定主機分配固定ip,在沒有配置前可能該主機已經被dhcp分配了別的ip地址(dhcp條目有了緩存記錄),因此就須要使用上面兩條命令對dhcp的地址分配條目作清除,來從新分配ip地址。
五、若是配置了訪問控制列表ACL,那麼須要在ACL中perimt ip host 0.0.0.0 host 255.255.255.255來放行dhcp的discovery請求報文。
最後注意,對於配置了DHCP安全擴展的須要使用以下命令:
3560(config)#ip dhcp relay information trust-all 這兩條命令的做用就是容許被插入了選項82信息,但其giaddr字段爲0.0.0.0這兩條命令的做用就是容許被插入了選項82信息,但其giaddr字段爲0.0.0.0容許被插入了選項82信息,但其giaddr字段爲0.0.0.0的 DHCP請求報文經過。
若是交換機不插入選項82信息,即配置了no ip dhcp relay information trusted,那麼就不會出現客戶端沒法獲得IP地址的狀況
(option)選項82是dhcp中的一個協議,它擴展了dhcp功能,使dhcp能夠藉助兩個參數來分辨dhcp請求是從哪一個交換機的哪一個vlan發出的,也就是說,它使dhcp支持多vlan。不是交換機的功能模塊,通常二層交換機都支持,但徹底支持的不多!一般只支持一部分,好比只支持兩個參數中的一個,或者只支持兩個參數的複用。
session 2 DHCP安全
一、爲了防止網絡中非法dhcp向用戶提供dhcp服務,可使用dhcp snooping(dhcp探測功能)。
DHCP Snooping技術是DHCP安全特性,經過創建和維護DHCP Snooping綁定表過濾不可信任的DHCP信息,這些信息是指來自不信任區域的DHCP信息(也就是非法dhcp服務器)。DHCP Snooping綁定表包含不信任區域的用戶MAC地址、IP地址、租用期、VLAN-ID 接口等信息,該技術在接口上設置是否信任該接口上鍊接的dhcp服務器(若是有)。
當交換機開啓了 DHCP-Snooping後,交換機全部端口會對本身接受來的DHCP報文進行偵聽,並能夠從接收到的DHCP Request或DHCP Ack報文中提取並記錄IP地址和MAC地址信息。另外,DHCP-Snooping容許將某個物理端口設置爲信任端口或不信任端口。信任端口能夠正常接收並轉發DHCP Offer報文,而不信任端口會將接收到的DHCP Offer報文丟棄。這樣,能夠完成交換機對假冒DHCP Server的屏蔽做用,確保客戶端從合法的DHCP Server獲取IP地址。
默認狀況下開啓了DHCP Snooping後,交換機全部接口都被設置爲不信任狀態,就是任何一個端口收到dhcp服務器的offer響應包後都會丟棄,能夠手動配置合法dhcp所在的端口爲信任端口,不丟棄dhcp服務器向外發送的offer包,來實現dhcp的安全。 具體配置:
3560(config)#ip dhcp snooping 啓用dhcp snooping開關
3560(config)#ip dhcp snooping vlan 3 在vlan3中使用dhcp snooping
3560(config)#interface f0/48 進入f0/48接口(鏈接DHCP服務器的接口)
3560(config-if)#ip dhcp snooping trust 在該接口下信任dhcp offer包
通常全部交換機都開啓dhcp snooping功能,信任接口通常都是sw之間相連的接口(若是是匯聚層交換機的話須要在該交換機鏈接上游核心sw和下游接入sw的接口上都開啓dhcp trust才能夠,核心L3層交換機做爲dhcp服務器的話),非信任接口都是sw鏈接PC的接口。
二、dhcp snooping只能阻止非法的dhcp服務器發送的offer包,可是不能阻止外來威脅主機對於dhcp所發出的大量的dhcp discovery請求包來消耗dhcp的帶寬和地址數量,可使用arp檢測
3560(config)#interface rang f0/1 - 48
3560(config-if)#ip dhcp snooping limit rate 5 限制接口的dhcp發現包5/s
三、設置DHCP SNooping,啓用DAI,把用戶接入的端口劃爲不信任端口,能夠禁止用戶私自配置靜態IP地址上網。原理是交換機檢測只有DAI的arp表項中的ip+mac才能鏈接,不然私自設置的ip+mac在DAI的表項中沒有,那麼就會被禁止鏈接入網。
具體配置
IOS 全局命令:
ip dhcp snooping vlan 3
no ip dhcp snooping information option
ip dhcp snooping
ip arp inspection vlan 3 定義對哪些 VLAN 進行 ARP 報文檢測
ip arp inspection log-buffer entries 1024
ip arp inspection log-buffer logs 1024 interval 10
IOS 接口命令:
ip dhcp snooping trust 定義哪些接口是信任接口,一般是交換機於交換機之間的接口
ip arp inspection trust 定義哪些接口是信任接口,一般是交換機於交換機之間的接口
ip arp inspection limit rate 15 (pps) 定義接口每秒 ARP 報文數量
session 3 dhcp中繼代理
dhcp中繼代理的做用就是:在一個L3層網絡中,若是dhcp服務器和客戶端不在同一個網段時,客戶端發送的dhcp-discovery廣播包將會被網關設備丟棄(L3層隔離廣播特性)。dhcp中繼就是在網關接口上配置一種能讓網關識別客戶端發送的dhcp-discovery廣播包,當網關收到該包後不作丟棄處理,而是以單播形式代理客戶端來向dhcp服務器請求ip地址,而後再將dhcp迴應的offer包轉發給客戶端,幫助客戶端完成ip地址的獲取過程。
只須要再L3網關的接口上配置中繼代理:
3560(config)#interface f0/1
3560(config-if)#interface f0/17
3560(config-if)#ip helper-address 10.0.0.130 幫助客戶端將dhcp請求廣播發給10.0.0.130這個服務器
3560(config)#exit緩存