戰(zhàn):從原理到排錯(cuò)的園區(qū)網(wǎng)經(jīng)典方案)
1. 項(xiàng)目概述一次典型的園區(qū)網(wǎng)絡(luò)綜合配置實(shí)戰(zhàn)最近在整理網(wǎng)絡(luò)工程師的實(shí)戰(zhàn)案例翻到了2022年國賽的一道經(jīng)典綜合題題目是“神州路由器單臂路由和DHCP綜合應(yīng)用”。這道題之所以讓我印象深刻是因?yàn)樗鼛缀醢阎行⌒蛨@區(qū)網(wǎng)從接入到核心、從尋址到路由的幾大核心痛點(diǎn)濃縮在了一個(gè)拓?fù)淅?。很多新手朋友一看到“單臂路由”和“DHCP”放在一起再結(jié)合交換機(jī)、VLAN就覺得頭大配置起來總是丟三落四不是PC拿不到地址就是VLAN間死活不通。其實(shí)只要你把每個(gè)設(shè)備的角色、每個(gè)配置步驟背后的“為什么”想明白整個(gè)流程就會(huì)變得異常清晰。今天我就以這道題為例帶大家從頭到尾拆解一遍不僅告訴你配置命令更重點(diǎn)分享我在實(shí)際調(diào)試中踩過的坑和解決問題的思路目標(biāo)是讓你看完后能獨(dú)立在華為eNSP或華三HCL模擬器上完整復(fù)現(xiàn)并真正理解其網(wǎng)絡(luò)流轉(zhuǎn)原理。簡單來說這個(gè)項(xiàng)目模擬了一個(gè)典型的兩層網(wǎng)絡(luò)結(jié)構(gòu)一臺(tái)三層交換機(jī)負(fù)責(zé)劃分多個(gè)VLAN并充當(dāng)用戶的默認(rèn)網(wǎng)關(guān)一臺(tái)路由器通過一個(gè)物理接口即“單臂”連接交換機(jī)并作為整個(gè)網(wǎng)絡(luò)的DHCP服務(wù)器為不同VLAN的用戶自動(dòng)分配IP地址。這里面的核心挑戰(zhàn)在于如何讓路由器的一個(gè)接口“識(shí)別”并處理來自交換機(jī)上多個(gè)VLAN的流量同時(shí)又能精準(zhǔn)地為每個(gè)VLAN下發(fā)正確的IP地址池。這不僅是認(rèn)證考試的??透瞧髽I(yè)辦公網(wǎng)、校園網(wǎng)宿舍區(qū)等場景的簡化模型搞懂了它你對二層隔離、三層轉(zhuǎn)發(fā)、DHCP協(xié)議交互的理解會(huì)上一個(gè)大臺(tái)階。2. 網(wǎng)絡(luò)拓?fù)渑c核心需求深度解析2.1 拓?fù)浣Y(jié)構(gòu)與設(shè)備角色定位我們先在腦子里或模擬器里構(gòu)建出這個(gè)網(wǎng)絡(luò)的骨架。典型的拓?fù)涫沁@樣的一臺(tái)三層交換機(jī)比如華為的S5700或華三的S5820系列它是整個(gè)網(wǎng)絡(luò)的交通樞紐。它的核心任務(wù)有兩個(gè)第一在接口上劃分多個(gè)VLAN例如VLAN 10, VLAN 20實(shí)現(xiàn)二層廣播域的隔離第二為每個(gè)VLAN創(chuàng)建一個(gè)虛擬的三層接口SVI接口即VLANIF接口并配置IP地址這個(gè)地址就是該VLAN內(nèi)所有主機(jī)的默認(rèn)網(wǎng)關(guān)。一臺(tái)路由器例如神州數(shù)碼或華為的AR系列路由器。它在這里扮演兩個(gè)關(guān)鍵角色單臂路由的臂和核心DHCP服務(wù)器。它通常只用一個(gè)物理接口如G0/0/1通過一條網(wǎng)線連接到交換機(jī)的某個(gè)端口。連接方式路由器的一個(gè)物理接口連接到交換機(jī)的一個(gè)端口。這個(gè)交換機(jī)端口必須配置為Trunk類型并允許相關(guān)VLAN的流量通過。多臺(tái)PC主機(jī)分別屬于不同的VLAN通過交換機(jī)接入網(wǎng)絡(luò)。它們將通過DHCP協(xié)議自動(dòng)獲取IP地址、網(wǎng)關(guān)和DNS。這個(gè)結(jié)構(gòu)的精妙之處在于用最少的物理接口路由器僅用一個(gè)解決了多VLAN間的路由問題。所有跨VLAN的流量都需要從交換機(jī)“上行”到路由器那個(gè)唯一的接口由路由器進(jìn)行三層路由決策后再“下行”返回交換機(jī)最終到達(dá)目標(biāo)VLAN。路由器那個(gè)接口就像一條繁忙的“單行道”立交橋承載著去往不同方向VLAN的車流。2.2 核心需求與實(shí)現(xiàn)目標(biāo)拆解面對這樣一個(gè)拓?fù)湮覀兊呐渲帽仨氝_(dá)成以下幾個(gè)清晰的目標(biāo)它們環(huán)環(huán)相扣二層連通與隔離在交換機(jī)上正確創(chuàng)建VLAN并將連接PC的端口劃入對應(yīng)的Access VLAN連接路由器的端口配置為Trunk。確保同VLAN內(nèi)PC可二層通信不同VLAN間二層隔離。三層網(wǎng)關(guān)就位在交換機(jī)上為每個(gè)VLAN配置VLANIF接口并配置IP地址。這是實(shí)現(xiàn)三層轉(zhuǎn)發(fā)的第一步也是PC網(wǎng)關(guān)的所在地。打通單臂路由通道這是最關(guān)鍵的一步。需要在路由器的物理接口上創(chuàng)建多個(gè)子接口Sub-interface每個(gè)子接口對應(yīng)一個(gè)VLAN并封裝對應(yīng)的802.1Q VLAN標(biāo)簽。同時(shí)為每個(gè)子接口配置IP地址該地址需要與交換機(jī)上對應(yīng)VLAN的VLANIF地址處于同一網(wǎng)段。此外必須在路由器的全局或接口下開啟ARP廣播功能通常arp broadcast enable這是很多初學(xué)者容易忽略導(dǎo)致故障的點(diǎn)。部署集中式DHCP服務(wù)在路由器上為每個(gè)VLAN創(chuàng)建獨(dú)立的DHCP地址池。地址池的網(wǎng)絡(luò)號必須與對應(yīng)VLAN的網(wǎng)關(guān)地址匹配。需要正確配置排除地址、網(wǎng)關(guān)、DNS和租期。最關(guān)鍵的是必須指明DHCP服務(wù)器響應(yīng)的“出口”是哪個(gè)子接口這通常通過dhcp select global或dhcp select interface命令在子接口上應(yīng)用并結(jié)合dhcp server relay或直接指定網(wǎng)關(guān)地址來實(shí)現(xiàn)。路由可達(dá)性交換機(jī)需要知道去往非直連網(wǎng)絡(luò)其他VLAN的流量下一跳是路由器的哪個(gè)地址。這通常通過在交換機(jī)上配置一條指向路由器子接口IP的默認(rèn)路由來實(shí)現(xiàn)。反之路由器也需要知道如何到達(dá)各個(gè)VLAN由于VLAN網(wǎng)關(guān)VLANIF和路由器子接口直連路由通常會(huì)自動(dòng)生成。只要這五個(gè)目標(biāo)逐一實(shí)現(xiàn)網(wǎng)絡(luò)就能正常運(yùn)轉(zhuǎn)。下面我們就進(jìn)入具體的配置環(huán)節(jié)。3. 分步配置詳解與原理剖析我將以華為設(shè)備兼容神州數(shù)碼部分命令的配置邏輯為例進(jìn)行說明因?yàn)槠潴w系在業(yè)界應(yīng)用最廣。請?jiān)谀愕哪M器如eNSP中搭建好類似拓?fù)洹?.1 交換機(jī)基礎(chǔ)配置構(gòu)建二層框架首先配置核心交換機(jī)。# 進(jìn)入系統(tǒng)視圖 system-view # 創(chuàng)建VLAN 10和VLAN 20 vlan batch 10 20 # 配置連接PC1的接口為Access類型并加入VLAN 10 interface GigabitEthernet 0/0/1 port link-type access port default vlan 10 # 配置連接PC2的接口為Access類型并加入VLAN 20 interface GigabitEthernet 0/0/2 port link-type access port default vlan 20 # 配置連接路由器的接口為Trunk類型并允許VLAN 10和20的流量通過 interface GigabitEthernet 0/0/24 # 假設(shè)用24口連接路由器 port link-type trunk port trunk allow-pass vlan 10 20原理與避坑點(diǎn)Trunk口允許的VLAN務(wù)必確保Trunk口allow-pass了所有需要跨設(shè)備通信的VLAN。這里是VLAN 10和20。如果遺漏對應(yīng)VLAN的流量將無法到達(dá)路由器。PVID對于華為交換機(jī)Trunk端口的默認(rèn)PVIDPort VLAN ID是VLAN 1。如果從該端口發(fā)出的不帶Tag的報(bào)文會(huì)被交換機(jī)打上VLAN 1的標(biāo)簽。在我們的場景中所有來自路由器的報(bào)文都應(yīng)該帶Tag所以一般不用特意修改PVID但需要心里有數(shù)。3.2 交換機(jī)三層配置定義網(wǎng)關(guān)與路由二層隔離做好后現(xiàn)在配置三層接口和路由。# 創(chuàng)建VLANIF 10接口并配置IP地址作為VLAN 10的網(wǎng)關(guān) interface Vlanif 10 ip address 192.168.10.254 24 # 網(wǎng)關(guān)地址子網(wǎng)掩碼255.255.255.0 # 創(chuàng)建VLANIF 20接口并配置IP地址作為VLAN 20的網(wǎng)關(guān) interface Vlanif 20 ip address 192.168.20.254 24 # 網(wǎng)關(guān)地址 # 配置默認(rèn)路由指向路由器的子接口地址 # 假設(shè)路由器VLAN 10對應(yīng)的子接口IP是192.168.10.1VLAN 20的是192.168.20.1 # 下一跳可以指向其中任意一個(gè)因?yàn)槁酚善髦浪蠽LAN的路由 ip route-static 0.0.0.0 0.0.0.0 192.168.10.1原理與避坑點(diǎn)VLANIF狀態(tài)VLANIF接口的狀態(tài)Up/Down依賴于其對應(yīng)的VLAN內(nèi)是否有物理接口處于Up狀態(tài)。如果VLAN 10內(nèi)沒有任何Access或Trunk口是Up的那么Vlanif 10也會(huì)是Down的導(dǎo)致該VLAN的三層功能失效。確保至少有一個(gè)端口屬于該VLAN且物理連接正常。默認(rèn)路由的必要性交換機(jī)作為三層交換機(jī)時(shí)它本身只知道自己直連的網(wǎng)絡(luò)即VLANIF 10和20。當(dāng)它收到一個(gè)目標(biāo)是其他網(wǎng)絡(luò)比如互聯(lián)網(wǎng)的IP包時(shí)它需要知道將這個(gè)包交給誰。這條默認(rèn)路由就是告訴交換機(jī)“所有你不知道怎么走的數(shù)據(jù)包都發(fā)給路由器192.168.10.1去處理”。3.3 路由器單臂路由配置創(chuàng)建邏輯子接口現(xiàn)在配置路由器的核心——單臂路由。# 進(jìn)入連接交換機(jī)的物理接口這里假設(shè)是G0/0/1 interface GigabitEthernet 0/0/1 # 無需配置IP地址物理接口保持二層狀態(tài) # 但需要確保接口物理和協(xié)議狀態(tài)都是Up的 # 退出物理接口創(chuàng)建子接口 quit interface GigabitEthernet 0/0/1.10 # 為VLAN 10創(chuàng)建子接口編號.10僅為標(biāo)識(shí)可自定義 dot1q termination vid 10 # 關(guān)鍵命令指定該子接口處理攜帶VLAN 10標(biāo)簽的報(bào)文 ip address 192.168.10.1 24 # 配置IP地址與交換機(jī)Vlanif 10在同一網(wǎng)段 arp broadcast enable # 關(guān)鍵命令啟用ARP廣播使子接口能響應(yīng)ARP請求 interface GigabitEthernet 0/0/1.20 # 為VLAN 20創(chuàng)建子接口 dot1q termination vid 20 ip address 192.168.20.1 24 arp broadcast enable原理與避坑點(diǎn)重中之重dot1q termination vid這是實(shí)現(xiàn)單臂路由的靈魂命令。它告訴路由器的這個(gè)子接口“凡是帶著VLAN 10標(biāo)簽過來的數(shù)據(jù)幀你把標(biāo)簽剝掉然后把里面的IP報(bào)文交給我子接口處理反之從我這里發(fā)出的IP報(bào)文你在外面給我封裝上VLAN 10的標(biāo)簽再送出去”。沒有這個(gè)命令路由器無法識(shí)別和處理VLAN標(biāo)簽。arp broadcast enable這是最經(jīng)典的故障點(diǎn)默認(rèn)情況下路由器的子接口是不發(fā)送ARP廣播報(bào)文的。但是當(dāng)交換機(jī)Vlanif 10192.168.10.254需要將數(shù)據(jù)包轉(zhuǎn)發(fā)給路由器子接口192.168.10.1時(shí)它需要發(fā)送ARP請求來詢問“192.168.10.1的MAC地址是多少”。如果路由器子接口不響應(yīng)這個(gè)廣播請求交換機(jī)就學(xué)不到路由器的MAC地址三層通信就會(huì)中斷。這條命令就是強(qiáng)制子接口響應(yīng)ARP請求。IP地址規(guī)劃路由器子接口的IP如.1和交換機(jī)VLANIF的IP如.254必須在同一網(wǎng)段但它們必須是兩個(gè)不同的IP地址。通常.1用作路由接口.254用作用戶網(wǎng)關(guān)。3.4 路由器DHCP服務(wù)器配置動(dòng)態(tài)地址分發(fā)最后配置路由器為兩個(gè)VLAN提供DHCP服務(wù)。# 啟用DHCP服務(wù)部分設(shè)備默認(rèn)開啟 dhcp enable # 創(chuàng)建針對VLAN 10的DHCP地址池 ip pool vlan10 gateway-list 192.168.10.254 # 指定客戶端網(wǎng)關(guān)即交換機(jī)的VLANIF地址 network 192.168.10.0 mask 255.255.255.0 # 聲明可分配的網(wǎng)段 excluded-ip-address 192.168.10.1 192.168.10.10 # 排除一段地址通常包含網(wǎng)關(guān)、服務(wù)器地址等 dns-list 8.8.8.8 114.114.114.114 # 分配DNS服務(wù)器地址 lease day 3 # 設(shè)置租期為3天 # 創(chuàng)建針對VLAN 20的DHCP地址池 ip pool vlan20 gateway-list 192.168.20.254 network 192.168.20.0 mask 255.255.255.0 excluded-ip-address 192.168.20.1 192.168.20.10 dns-list 8.8.8.8 114.114.114.114 lease day 3 # 在對應(yīng)的子接口上應(yīng)用全局地址池 interface GigabitEthernet 0/0/1.10 dhcp select global # 指定從全局地址池分配IP interface GigabitEthernet 0/0/1.20 dhcp select global原理與避坑點(diǎn)gateway-list這里填寫的必須是交換機(jī)上對應(yīng)VLAN的VLANIF地址。PC獲取到這個(gè)網(wǎng)關(guān)地址后它的所有非本地流量都會(huì)發(fā)給這個(gè)地址。交換機(jī)收到后再根據(jù)路由表進(jìn)行轉(zhuǎn)發(fā)。excluded-ip-address務(wù)必排除已經(jīng)在使用的IP地址主要是路由器子接口的IP和交換機(jī)VLANIF的IP避免IP沖突。dhcp select globalvsdhcp select interface我們這里使用的是基于全局地址池的模式適合為不同網(wǎng)段分配不同策略。interface模式更簡單它會(huì)以該接口的IP地址所在網(wǎng)段作為地址池適用于簡單場景。在單臂路由中由于子接口IP和客戶端網(wǎng)關(guān)不在同一設(shè)備通常使用global模式更清晰。地址池與子接口的綁定DHCP服務(wù)器如何知道一個(gè)來自VLAN 10的DHCP請求該用哪個(gè)地址池呢奧秘在于中繼。在這個(gè)拓?fù)渲薪粨Q機(jī)VLANIF接口充當(dāng)了DHCP中繼代理的角色雖然可能沒有顯式配置dhcp relay命令但因其作為網(wǎng)關(guān)轉(zhuǎn)發(fā)廣播DHCP Discover報(bào)文的行為起到了類似作用。當(dāng)路由器從G0/0/1.10子接口收到DHCP請求時(shí)它知道這個(gè)請求是帶著VLAN 10標(biāo)簽進(jìn)來的已被子接口處理從而自動(dòng)選擇vlan10這個(gè)地址池進(jìn)行響應(yīng)。4. 全流程數(shù)據(jù)包深度解析為了徹底理解我們跟蹤一下VLAN 10中一臺(tái)PCPC1開機(jī)獲取IP并訪問VLAN 20中服務(wù)器Server的完整過程。4.1 階段一PC1獲取IP地址DHCP DORA過程Discover發(fā)現(xiàn)PC1開機(jī)發(fā)送一個(gè)二層廣播目標(biāo)MACFF:FF:FF:FF:FF:FF的DHCP Discover報(bào)文。由于PC1連接在交換機(jī)的Access端口屬于VLAN 10所以這個(gè)幀不帶Tag。交換機(jī)處理交換機(jī)從G0/0/1端口收到幀發(fā)現(xiàn)是廣播且該端口屬于VLAN 10于是它向所有屬于VLAN 10的端口包括Trunk口G0/0/24泛洪。在從Trunk口發(fā)出前交換機(jī)會(huì)給幀打上VLAN 10的Tag。路由器接收與中繼路由器從G0/0/1物理口收到帶VLAN 10 Tag的幀。內(nèi)核根據(jù)Tag將其遞交給對應(yīng)的子接口G0/0/1.10處理。子接口剝離VLAN Tag看到這是一個(gè)DHCP Discover廣播報(bào)文。Offer提供路由器DHCP服務(wù)器檢查請求從ip pool vlan10中選取一個(gè)可用IP如192.168.10.11。然后構(gòu)造一個(gè)DHCP Offer報(bào)文目標(biāo)IP是192.168.10.11目標(biāo)MAC是PC1的MAC。這個(gè)報(bào)文需要從G0/0/1.10子接口發(fā)出。子接口為其封裝上VLAN 10的Tag從物理口G0/0/1送出。交換機(jī)轉(zhuǎn)發(fā)交換機(jī)從Trunk口G0/0/24收到帶VLAN 10 Tag的幀識(shí)別VLAN ID后將其轉(zhuǎn)發(fā)給所有屬于VLAN 10的端口在轉(zhuǎn)發(fā)給Access口前剝離Tag。PC1因此收到Offer。Request請求與Ack確認(rèn)PC1發(fā)送DHCP Request廣播確認(rèn)選擇此服務(wù)器路由器回復(fù)DHCP Ack單播。流程與上述類似最終PC1成功獲得IP、網(wǎng)關(guān)、DNS等信息。關(guān)鍵點(diǎn)在整個(gè)過程中交換機(jī)的VLANIF 10接口192.168.10.254并沒有參與DHCP服務(wù)器的交互。它只是作為二層交換機(jī)轉(zhuǎn)發(fā)廣播幀。DHCP服務(wù)器路由器是直接與PC對話的。4.2 階段二PC1訪問VLAN 20的Server假設(shè)Server IP是192.168.20.100且已獲取地址。PC1發(fā)起請求PC1要訪問192.168.20.100。它檢查目標(biāo)IP發(fā)現(xiàn)與自己192.168.10.11不在同一網(wǎng)段。于是PC1將數(shù)據(jù)包發(fā)送給自己的默認(rèn)網(wǎng)關(guān)192.168.10.254目的MAC地址為交換機(jī)VLANIF 10的MAC。交換機(jī)三層路由交換機(jī)從G0/0/1口收到發(fā)往其VLANIF 10 MAC地址的幀。交換機(jī)進(jìn)行三層查表發(fā)現(xiàn)目標(biāo)網(wǎng)絡(luò)192.168.20.0/24不是直連路由于是匹配默認(rèn)路由需要將數(shù)據(jù)包交給192.168.10.1路由器子接口。交換機(jī)ARP查詢?nèi)缬行枰绻粨Q機(jī)的ARP表中沒有192.168.10.1的MAC地址它會(huì)發(fā)送ARP請求。由于路由器子接口配置了arp broadcast enable它會(huì)響應(yīng)這個(gè)請求。交換機(jī)從而學(xué)到G0/0/1.10的MAC地址。交換機(jī)轉(zhuǎn)發(fā)至路由器交換機(jī)將原始IP數(shù)據(jù)包源IP: 192.168.10.11 目標(biāo)IP: 192.168.20.100重新封裝成新的二層幀源MAC改為交換機(jī)出口MAC目的MAC改為路由器G0/0/1.10的MAC并從Trunk口G0/0/24發(fā)出打上VLAN 10的Tag。路由器路由轉(zhuǎn)發(fā)路由器收到帶VLAN 10 Tag的幀子接口G0/0/1.10處理剝離Tag。路由器查詢路由表發(fā)現(xiàn)目標(biāo)網(wǎng)絡(luò)192.168.20.0/24是直連網(wǎng)絡(luò)關(guān)聯(lián)子接口G0/0/1.20。于是它將數(shù)據(jù)包從G0/0/1.20子接口轉(zhuǎn)發(fā)出去。路由器封裝并發(fā)送路由器將數(shù)據(jù)包從G0/0/1.20子接口發(fā)出子接口為其封裝VLAN 20的Tag從物理口G0/0/1送出。交換機(jī)交付Server交換機(jī)從Trunk口收到帶VLAN 20 Tag的幀識(shí)別VLAN ID后將其轉(zhuǎn)發(fā)給屬于VLAN 20的Access端口連接Server并剝離Tag。Server收到請求?;爻搪窂絊erver回復(fù)數(shù)據(jù)包給192.168.10.11。流程類似反方向Server發(fā)送給網(wǎng)關(guān)192.168.20.254 - 交換機(jī)三層查表通過默認(rèn)路由發(fā)給192.168.20.1 - 路由器從G0/0/1.20入從G0/0/1.10出 - 交換機(jī)最終交付給PC1。通過這個(gè)跟蹤你可以清晰地看到單臂路由器的那個(gè)物理接口在數(shù)據(jù)層面反復(fù)承載著打上不同VLAN標(biāo)簽的流量在控制層面它的各個(gè)子接口維護(hù)著與交換機(jī)各個(gè)VLAN的直連路由關(guān)系。5. 典型故障排查與實(shí)戰(zhàn)調(diào)試心得配置完成后如果出現(xiàn)PC無法獲取IP或VLAN間無法通信可以按照以下流程排查這些都是我踩過坑后總結(jié)的“查錯(cuò)清單”。5.1 故障排查流程圖與速查表首先保持冷靜遵循從底層到上層、從局部到整體的原則物理層與接口狀態(tài)檢查display interface brief查看所有接口的物理狀態(tài)Status和協(xié)議狀態(tài)Protocol。確保連接PC的Access口、連接路由器的Trunk口以及路由器的物理口都是Up狀態(tài)。常見坑模擬器中有時(shí)接口需要手動(dòng)undo shutdown物理線纜連接錯(cuò)誤在模擬器中就是連線不對。二層連通性檢查VLAN與Trunkdisplay vlan確認(rèn)VLAN已創(chuàng)建且相關(guān)端口已正確加入。display port vlan查看具體端口特別是Trunk口的VLAN成員信息確認(rèn)允許通過的VLAN列表port trunk allow-pass vlan包含所需VLAN。常見坑Trunk口忘記放行某個(gè)VLANPC連接的端口模式誤配為Trunk或Hybrid。三層接口與地址檢查display ip interface brief查看交換機(jī)VLANIF接口和路由器子接口的IP地址配置是否正確狀態(tài)是否為Up。常見坑交換機(jī)VLANIF接口IP與路由器子接口IP不在同一網(wǎng)段VLANIF接口因?qū)?yīng)VLAN內(nèi)無活動(dòng)端口而處于Down狀態(tài)。單臂路由核心配置檢查在路由器上display interface GigabitEthernet 0/0/1.x重點(diǎn)檢查dot1q termination vid配置是否存在且VLAN ID正確。arp broadcast enable是否已配置。IP地址配置。這是故障高發(fā)區(qū)十次單臂路由不通八次是arp broadcast enable沒配。DHCP服務(wù)檢查display ip pool查看路由器上DHCP地址池的配置詳情核對網(wǎng)段、網(wǎng)關(guān)、排除地址。display dhcp server statistics查看DHCP服務(wù)器統(tǒng)計(jì)信息是否有收到Discover、發(fā)送Offer等。在PC上使用ipconfig /release和ipconfig /renewWindows或dhclient -r和dhclientLinux釋放并重新獲取。常見坑地址池網(wǎng)關(guān)地址填錯(cuò)填成了路由器子接口IP地址池網(wǎng)段與網(wǎng)關(guān)地址不匹配排除地址范圍包含了要分配的地址。路由表檢查在交換機(jī)上display ip routing-table檢查是否有默認(rèn)路由0.0.0.0/0指向路由器的子接口IP。在路由器上display ip routing-table檢查是否有到達(dá)各個(gè)VLAN網(wǎng)段的路由應(yīng)為直連路由Direct。常見坑交換機(jī)上忘記配置默認(rèn)路由。抓包分析終極武器在模擬器中在關(guān)鍵鏈路如交換機(jī)連接路由器的Trunk口上開啟抓包。觀察DHCP過程看是否有Discover廣播發(fā)出是否收到OfferRequest和Ack是否完整觀察ARP過程當(dāng)PC ping網(wǎng)關(guān)時(shí)是否能觀察到ARP請求和應(yīng)答觀察Ping過程跨VLAN ping時(shí)數(shù)據(jù)包是否被正確打上Tag、路由、再轉(zhuǎn)發(fā)5.2 實(shí)戰(zhàn)調(diào)試心得與高階技巧“先ping通網(wǎng)關(guān)再談其他”這是網(wǎng)絡(luò)調(diào)試的鐵律。配置完成后不要急著讓PC跨VLAN訪問。首先確保PC能ping通自己所屬VLAN的網(wǎng)關(guān)地址交換機(jī)的VLANIF IP。如果這都不通說明二層或本地網(wǎng)關(guān)配置有問題集中精力排查前4步。模擬器的“幽靈”緩存eNSP或HCL有時(shí)會(huì)出現(xiàn)配置已改但效果未變的情況這可能是設(shè)備緩存或模擬器bug。嘗試save保存配置后徹底關(guān)閉并重啟整個(gè)拓?fù)渫芙鉀Q很多靈異問題。子接口編號的奧秘子接口編號如.10,.20本身沒有特殊含義只是一個(gè)本地標(biāo)識(shí)符。真正關(guān)聯(lián)VLAN的是dot1q termination vid命令。編號只是為了管理員好記你可以用.1,.2甚至.100,.200。DHCP中繼的顯式配置在本拓?fù)渲形覀円蕾嚵穗[式中繼。在更復(fù)雜或要求更高的場景可以在交換機(jī)的VLANIF接口上顯式配置dhcp select relay和dhcp relay server-ip x.x.x.x指向路由器子接口IP這樣能更精確地控制DHCP請求的轉(zhuǎn)發(fā)。安全考慮在實(shí)際生產(chǎn)環(huán)境單臂路由可能會(huì)成為性能瓶頸因?yàn)樗锌鏥LAN流量都要經(jīng)過路由器的一個(gè)物理接口。對于流量大的場景通常會(huì)采用三層交換機(jī)做VLAN間路由通過SVI接口路由器僅作為出口網(wǎng)關(guān)。單臂路由更適合作為入門理解原理或小規(guī)模、低流量的過渡方案。通過以上從原理到配置從流程到排錯(cuò)的完整梳理相信你對“單臂路由DHCP”這個(gè)經(jīng)典組合已經(jīng)有了透徹的理解。網(wǎng)絡(luò)技術(shù)的魅力就在于每一個(gè)復(fù)雜的現(xiàn)象背后都是一套清晰、確定的規(guī)則在運(yùn)轉(zhuǎn)。下次再遇到類似問題不妨拿出這份“查錯(cuò)清單”一步步對照你一定能成為那個(gè)快速定位并解決問題的專家。