1. 程式人生 > 其它 >解決一個共享網路中,計算機指定獲取DHCP地址

解決一個共享網路中,計算機指定獲取DHCP地址

如何讓計算機獲取指定DHCP,這個要從DHCP的協議原理以及交換機高階特性說

環境展示

要求:PC1指定獲取R2的IP地址,PC2不限制獲取哪個IP

如何解決?DHCP伺服器指定?若提供DHCP服務的不是伺服器而是其他裝置呢?

先看DHCP協議報文互動原理

1.計算機網絡卡執行時,由於網絡卡未配置IP地址,會向網路中尋找DHCP伺服器,這個過程,資料報文叫做 DHCP-Discover(DHCP發現報文)

由於計算機還沒有IP地址,所以源地址0.0.0.0,目標地址255.255.255.255。由於不知道伺服器地址,所以目的地址也是廣播地址,目的埠68,伺服器監聽68埠

  1. 為了防止一個網路裡出現了多個DHCP伺服器而計算機無法區分哪個報文是哪個伺服器傳送的,DHCP互動報文中封裝了 隨機的事務ID

3.伺服器收到後,由於客戶端也還沒有IP地址,也會發送目的地址255.255.255.255,源是伺服器自己IP地址的資料包,目標埠67,計算機監聽67埠,收到的 事務ID不變,這個資料過程叫 DHCP-Offer(DHCP提供報文)

DHCP-Offer報文裡包含裡要給予的,沒有被記錄使用的IP地址、子網掩碼、閘道器地址、DNS地址、地址租期等內容

4.由於DHCP的工作原理是計算機按先後順序,先收到誰的 DHCP-Offer ,就向哪個伺服器傳送 DHCP-Request

(DHCP請求報文),事務ID不變,去向DHCP伺服器確認該地址可用

DHCP-Request報文源地址還是0.0.0.0,目的地址255.255.255.255,這樣的目的是不用向網路中的每一個DHCP伺服器單播發送DHCP請求報文,節省了互動時間

5.此時多個伺服器均會收到 DHCP-Request,然後根據報文中的 事務ID去辨別是否是發給我的請求,若不是發給我的則丟棄。若是發給我的,則回覆 DHCP-Ack(DHCP確認報文)告知計算機可以使用該IP地址了,目的地址255.255.255.255,源是伺服器

6.計算機收到 DHCP-Ack後,也會發送 免費ARP,這個 免費ARP源是給予的IP地址,目的也是這個地址。用來確認該網路中沒有存在相同的IP地址,若存在,則向伺服器傳送 DHCP-Decline

(DHCP拒絕報文),此時計算機會重新發送 DHCP-Discover進行新的開始

7.若計算機發現地址不存在衝突,則進行使用。

至此,DHCP的互動流程結束。地址續約及釋放不在講解,接下來回到題目要求進行操作

基於拓撲圖可以分析出來, DHCP-Snooping技術無法使用,因為要求中寫到PC2可以獲取任意地址,設定哪個埠為Trust都無法進行PC1要求的控制。

也無法劃開VLAN進行隔離,要求就是同一個廣播域中。

所以此操作基於華為 MQC技術(模組化QOS命令列),也可以說是流策略。進行控制

在SW2上,配置

acl number 3000
 rule permit ip source 20.0.0.254 0
#
traffic classifier 20
 it-match 3000
#
traffic behavior 20
deny
#
traffic policy 20
classifier 20 behavior 20
#
interface GigabitEthernet0/0/2
traffic-policy 20 outbound

配置思路:
既然無法劃開VLAN,那就對 DHCP報文互動過程進行限制,以計算機收到的第一個Offer報文進行控制。
為什麼要進行三層控制,如果控制了二層,那計算機獲取地址後就無法和R2進行互動,也不符合要求。
在SW2中,ACL定義了源地址為R2 20.0.0.254,就是定義了DHCP-Offer報文的返回資料幀。
在流分類中掛載ACL,為什麼ACL是 permit?因為如果是 deny的話,流行為控制將不會掛載該條資料包
最後用流策略匹配流分類及流行為,應用在連線計算機的接口出方向即可。

此時效果為:PC1的DHCP請求報文可以被R2接收,R2也會發DHCP提供報文給計算機,該DHCP提供報文可以被SW2接收,但是不會下發給PC1,至此PC1僅能收到R1的DHCP報文。
這就完成了指定獲取DHCP地址的控制。

若沒有要求同一個VLAN進行控制,其實也可以通過 MUX VLAN進行控制(思科系叫 Private VLAN
將主VLAN設成R2的介面VLAN,互通型VLAN設計成R1與PC2的介面。在將隔離型VLAN配置為PC1的介面。
所有互通型VLAN和隔離型VLAN均可和主VLAN互動,隔離型VLAN不可訪問其他VLAN,而互通型VLAN,也就是PC2和R1的介面,既可以互訪也可以訪問主VLAN-R2的介面。
這也是另一種辦法獲取指定DHCP地址的解決方案。