驗(yàn):用HCL模擬器串聯(lián)VLAN、DHCP、NAT與靜態(tài)路由)
說實(shí)話H3CNE 的官方教材我翻過不止一遍VLAN、DHCP、靜態(tài)路由、NAT 這些知識點(diǎn)單個拿出來都不算難PPT 上的配置命令也都能看懂。但到了自己動手的時候才會發(fā)現(xiàn)真正的問題不是“這條命令怎么寫”而是“這條命令應(yīng)該出現(xiàn)在哪個環(huán)節(jié)”。我這個 HCL_H3CNE綜合實(shí)驗(yàn)就是沖著這個問題去的。用官方 HCL 模擬器搭一套從終端、交換機(jī)、路由器到模擬互聯(lián)網(wǎng)的全鏈路網(wǎng)絡(luò)把 VLAN、Trunk、VLAN 間路由、DHCP、靜態(tài)路由、NAT、遠(yuǎn)程管理全部串在同一個場景里一步一步敲完、驗(yàn)證完你對 H3CNE 核心內(nèi)容的理解會比刷十遍題都扎實(shí)。這篇文章會把整套實(shí)驗(yàn)從拓?fù)湟?guī)劃、地址分配、設(shè)備配置到排錯思路完整拆開適合正在備考 H3CNE、或者剛接觸 H3C 設(shè)備想動手拉通的讀者。1. 綜合實(shí)驗(yàn)的設(shè)計思路與知識串聯(lián)1.1 為什么一定要做“串聯(lián)型”實(shí)驗(yàn)H3CNE 的考試范圍很寬包括以太網(wǎng)技術(shù)、VLAN、STP、IP 地址規(guī)劃、靜態(tài)路由、動態(tài)路由、ACL、NAT、DHCP、遠(yuǎn)程管理等。常見的復(fù)習(xí)方式是每個模塊單獨(dú)搭一個小實(shí)驗(yàn)比如今天練 VLAN明天練靜態(tài)路由。這種做法的好處是快壞處是知識是割裂的——考試也不會只考一個點(diǎn)它默認(rèn)你腦子里有一條完整的數(shù)據(jù)面路徑。我設(shè)計這套實(shí)驗(yàn)的初衷很簡單模擬一家小公司從零建設(shè)一張網(wǎng)絡(luò)。公司有兩個網(wǎng)段一個給辦公終端一個給服務(wù)器區(qū)出口接一臺邊界路由器通過運(yùn)營商專線訪問“互聯(lián)網(wǎng)”希望全網(wǎng)終端自動獲取 IP同時辦公室能訪問互聯(lián)網(wǎng)。這就天然把 H3CNE 絕大多數(shù)知識點(diǎn)串了起來因?yàn)槿魏我粋€環(huán)節(jié)斷了最終聯(lián)網(wǎng)測試就過不了。1.2 數(shù)據(jù)包視角下的完整鏈路這套實(shí)驗(yàn)里最有價值的部分是你能用一個數(shù)據(jù)包的視角把整條鏈路講清楚。假設(shè)辦公網(wǎng)的一臺 PC 要訪問互聯(lián)網(wǎng)上的某個地址數(shù)據(jù)包是這樣走的PC 根據(jù)本地路由把數(shù)據(jù)包交給網(wǎng)關(guān)也就是交換機(jī)上 VLAN 10 的虛擬接口地址。交換機(jī)收到數(shù)據(jù)包查找路由表發(fā)現(xiàn)默認(rèn)路由指向出口路由器。交換機(jī)把數(shù)據(jù)包從上游接口轉(zhuǎn)發(fā)給路由器。路由器再次查路由表發(fā)現(xiàn)目標(biāo)地址不在本地直連網(wǎng)段于是按照默認(rèn)路由轉(zhuǎn)發(fā)給下一跳也就是模擬運(yùn)營商的另一臺路由器。數(shù)據(jù)包從路由器出口接口出去之前被 NAT 處理源地址從辦公網(wǎng)段變成出口接口的公網(wǎng)地址。運(yùn)營商路由器收到數(shù)據(jù)包發(fā)現(xiàn)目標(biāo)地址是本地回環(huán)接口于是回包?;匕贩祷芈酚善髯?NAT 反向轉(zhuǎn)換交換機(jī)根據(jù) ARP 找到 PCPC 收到響應(yīng)。每一步都對應(yīng) H3CNE 教材里的一個章節(jié)。你做這個實(shí)驗(yàn)的時候每個命令都是在為這條路徑補(bǔ)一塊磚而不是孤立地在敲配置。1.3 實(shí)驗(yàn)組網(wǎng)模型與地址規(guī)劃本實(shí)驗(yàn)的設(shè)備清單很簡單都在 HCL 模擬器自帶列表里兩臺路由器型號 MSR36-20一臺作為公司出口網(wǎng)關(guān)一臺模擬運(yùn)營商。兩臺交換機(jī)型號 S5820V2-52QF其中核心交換機(jī)承擔(dān)三層轉(zhuǎn)發(fā)另一臺只做二層接入。兩臺 PC 終端一臺接辦公網(wǎng)一臺接服務(wù)器區(qū)。拓?fù)潢P(guān)系如下PC1辦公終端── SW1三層核心── R1出口網(wǎng)關(guān)── R2模擬運(yùn)營商 PC2服務(wù)器── SW2二層接入 ──┘為了便于理解配置命令我給每臺設(shè)備都定了明確的角色SW1 是核心交換機(jī)所有 VLAN 的網(wǎng)關(guān)都在它身上SW2 是接入交換機(jī)負(fù)責(zé)把服務(wù)器網(wǎng)段的終端接入進(jìn)來R1 是出口路由器掌管 NAT 和默認(rèn)路由R2 完全模擬運(yùn)營商只做一個回環(huán)接口來代表互聯(lián)網(wǎng)上的一臺服務(wù)器。地址規(guī)劃是整個實(shí)驗(yàn)的地基我在搭之前先列了一張表保證每個網(wǎng)段之間沒有沖突也方便后續(xù)排查區(qū)域網(wǎng)段網(wǎng)關(guān)說明辦公終端 VLAN 10192.168.10.0/24192.168.10.254SW1DHCP 分配 10~200服務(wù)器終端 VLAN 20192.168.20.0/24192.168.20.254SW1DHCP 分配 10~200核心到出口互聯(lián)鏈路192.168.100.0/30192.168.100.1R1SW1 側(cè)為 .2出口到運(yùn)營商鏈路12.1.1.0/3012.1.1.1R1R2 側(cè)為 .2模擬互聯(lián)網(wǎng)服務(wù)器1.1.1.1/32無R2 回環(huán)接口這里有一個小設(shè)計思路值得注意核心交換機(jī)和出口路由器之間我特意用了 192.168.100.0/30 這個單獨(dú)網(wǎng)段而不是直接復(fù)用一個業(yè)務(wù) VLAN。這樣可以保證核心交換機(jī)上業(yè)務(wù)網(wǎng)段和上行網(wǎng)段是隔離的配置路由和排查問題的時候腦回路更清晰也符合實(shí)際工程里“互聯(lián)地址單獨(dú)規(guī)劃”的習(xí)慣。2. 基于 HCL 搭建實(shí)驗(yàn)環(huán)境與初始化2.1 HCL 模擬器安裝要點(diǎn)HCL 是 H3C 官方出的網(wǎng)絡(luò)模擬工具目前常見版本是 5.x 系列安裝包里通常帶 VirtualBox 環(huán)境。如果你是第一次裝有幾個容易踩坑的地方我先說清楚。第一建議用管理員身份安裝和運(yùn)行。模擬器底層要調(diào)用虛擬化組件權(quán)限不夠會出現(xiàn)設(shè)備啟動失敗、控制臺無響應(yīng)的問題。第二Windows 自帶的 Hyper-V 或者其他虛擬機(jī)平臺如果開啟可能和 VirtualBox 沖突。我遇到的情況是設(shè)備能拖到拓?fù)淅锏珕雍笠恢蓖T凇癝tarting”狀態(tài)后來關(guān)掉內(nèi)核級虛擬化相關(guān)功能才恢復(fù)正常。第三殺毒軟件對模擬器的進(jìn)程和虛擬網(wǎng)絡(luò)網(wǎng)卡有時會誤報安裝或運(yùn)行前最好把相關(guān)目錄加白名單。HCL 的使用邏輯和競品不太一樣它是靠拖動設(shè)備圖標(biāo)到畫布上然后連接鏈路。連接鏈路的時候要特別注意接口名能不能對得上。你拖一臺交換機(jī)到畫布上雙擊能看到接口列表連接時鼠標(biāo)點(diǎn)住一個接口拖到另一臺設(shè)備的接口上系統(tǒng)會自動識別鏈路類型。2.2 設(shè)備選型與啟動順序我的設(shè)備選擇如下交換機(jī)用 S5820V2-52QF路由器用 MSR36-20。S5820V2 在 HCL 里是三層交換機(jī)能配置 VLAN 接口和路由這個很關(guān)鍵。如果選成了純二層交換機(jī)VLAN 間路由就做不了整個實(shí)驗(yàn)的轉(zhuǎn)發(fā)邏輯就斷了。模擬器里的設(shè)備不能一次性全部啟動不然電腦資源很容易吃滿。我建議按網(wǎng)絡(luò)拓?fù)鋸纳系较碌捻樞騿酉葐幼钕聦拥慕K端 PC再啟動交換機(jī)最后啟動路由器。實(shí)際上 HCL 對啟動順序沒有強(qiáng)制要求但后啟動的設(shè)備會主動完成鏈路協(xié)商日志看起來更干凈。啟動完成后設(shè)備圖標(biāo)從紅色變成綠色雙擊控制臺能出現(xiàn)命令行提示符再開始配置。2.3 主機(jī)PC的初始化設(shè)置HCL 里的 PC 并不是真實(shí)操作系統(tǒng)而是一個可配置簡單 IP 和命令行測試的小工具。雙擊 PC 圖標(biāo)點(diǎn)擊“配置”可以看到網(wǎng)絡(luò)參數(shù)頁面。這里有兩種方式一種是手動填 IP、掩碼、網(wǎng)關(guān)另一種是選擇 DHCP 自動獲取。本實(shí)驗(yàn)里我用了 DHCP目的就是為了驗(yàn)證 DHCP 服務(wù)器配置是否正確。需要提醒的是HCL 的 PC 啟動后并不會自動觸發(fā) DHCP 請求。你要在配置頁面先選一次 DHCP 模式再點(diǎn)應(yīng)用終端才會重新請求地址。如果之后你改了 DHCP 服務(wù)器的地址池最好回到 PC 配置頁再應(yīng)用一次而不是直接 ping否則拿到的可能還是舊地址。3. 核心配置全流程實(shí)操3.1 接入層VLAN 與 Trunk 配置第一步是配置 VLAN 和端口類型。我先把核心交換機(jī) SW1 的基礎(chǔ) VLAN 建好再把終端和上行端口劃分到對應(yīng) VLAN。H3C system-view [H3C] sysname SW-Core [SW-Core] vlan 10 [SW-Core-vlan10] description Office_Network [SW-Core-vlan10] quit [SW-Core] vlan 20 [SW-Core-vlan20] description Server_Network [SW-Core-vlan20] quit [SW-Core] vlan 100 [SW-Core-vlan100] description To_R1 [SW-Core-vlan100] quitPC1 接到 SW1 的 1/0/1 口這個端口是接入模式劃分到 VLAN 10。PC2 接到 SW2 的 1/0/2 口屬于 VLAN 20。兩塊交換機(jī)之間的互聯(lián)鏈路我采用了 Trunk放行 VLAN 10 和 20。下面是 SW1 上的端口配置。[SW-Core] interface GigabitEthernet1/0/1 [SW-Core-GigabitEthernet1/0/1] port link-type access [SW-Core-GigabitEthernet1/0/1] port access vlan 10 [SW-Core-GigabitEthernet1/0/1] quit [SW-Core] interface GigabitEthernet1/0/24 [SW-Core-GigabitEthernet1/0/24] port link-type trunk [SW-Core-GigabitEthernet1/0/24] port trunk permit vlan 10 20 [SW-Core-GigabitEthernet1/0/24] quit這里有一個新手極易混淆的點(diǎn)Access 端口只屬于一個 VLANTrunk 端口則需要在語句里明確放行哪些 VLAN。H3C 設(shè)備默認(rèn) Trunk 只放行 VLAN 1如果你寫了port trunk permit vlan all當(dāng)然也可以但實(shí)驗(yàn)里我更推薦顯式寫出vlan 10 20逼自己搞清楚哪些業(yè)務(wù)流量要過中繼鏈路。接入交換機(jī) SW2 的配置邏輯相同只需要把 VLAN 10 和 20 建好端口 1/0/2 劃到 VLAN 20上行口 1/0/24 做成 Trunk。H3C system-view [H3C] sysname SW-Access [SW-Access] vlan 10 [SW-Access-vlan10] description Office_Network [SW-Access-vlan10] quit [SW-Access] vlan 20 [SW-Access-vlan20] description Server_Network [SW-Access-vlan20] quit [SW-Access] interface GigabitEthernet1/0/2 [SW-Access-GigabitEthernet1/0/2] port link-type access [SW-Access-GigabitEthernet1/0/2] port access vlan 20 [SW-Access-GigabitEthernet1/0/2] quit [SW-Access] interface GigabitEthernet1/0/24 [SW-Access-GigabitEthernet1/0/24] port link-type trunk [SW-Access-GigabitEthernet1/0/24] port trunk permit vlan 10 20 [SW-Access-GigabitEthernet1/0/24] quit3.2 三層核心VLAN 接口與 VLAN 間路由所有 VLAN 的網(wǎng)關(guān)都放在 SW1 上。在 H3C 設(shè)備上VLAN 接口就是路由接口配置了 IP 地址之后二層廣播域之間就可以通過它路由。這是實(shí)現(xiàn) VLAN 間通信的關(guān)鍵一步。SW1 繼續(xù)配置[SW-Core] interface Vlan-interface10 [SW-Core-Vlan-interface10] ip address 192.168.10.254 255.255.255.0 [SW-Core-Vlan-interface10] quit [SW-Core] interface Vlan-interface20 [SW-Core-Vlan-interface20] ip address 192.168.20.254 255.255.255.0 [SW-Core-Vlan-interface20] quit [SW-Core] interface Vlan-interface100 [SW-Core-Vlan-interface100] ip address 192.168.100.2 255.255.255.252 [SW-Core-Vlan-interface100] quitVLAN 100 是我專門劃給 SW1 和 R1 互聯(lián)的鏈路網(wǎng)段。SW1 的 1/0/23 端口作為上行口接 R1同樣劃為 Access 并加入 VLAN 100。這樣一個核心交換機(jī)上就同時存在三個三層接口它自己就是一臺路由器只不過端口形態(tài)是 VLAN 接口。配置完成后核心交換機(jī)實(shí)際上具備了路由功能PC1 和 PC2 如果手動指定靜態(tài) IP此時應(yīng)該已經(jīng)能互通。不過這臺實(shí)驗(yàn)里我依靠 DHCP所以還沒到驗(yàn)證時間。3.3 出口鏈路與靜態(tài)路由SW1 上需要寫一條默認(rèn)路由把所有非直連網(wǎng)段的數(shù)據(jù)都丟給 R1。命令很簡短[SW-Core] ip route-static 0.0.0.0 0 192.168.100.1這條命令的意思是目標(biāo)地址為任意、掩碼為 0 的流量全部轉(zhuǎn)發(fā)給下一跳 192.168.100.1。對于業(yè)務(wù)終端來說去往互聯(lián)網(wǎng)的所有流量都會先到 SW1再由 SW1 轉(zhuǎn)給 R1。R1 作為出口網(wǎng)關(guān)需要配置兩個三層接口。GigabitEthernet0/0 接 SW1地址是 192.168.100.1/30GigabitEthernet0/1 接 R2地址是 12.1.1.1/30。同時 R1 要寫兩條靜態(tài)路由回到內(nèi)網(wǎng)網(wǎng)段再加一條默認(rèn)路由指向運(yùn)營商。H3C system-view [H3C] sysname R1-Gateway [R1-Gateway] interface GigabitEthernet0/0 [R1-Gateway-GigabitEthernet0/0] ip address 192.168.100.1 255.255.255.252 [R1-Gateway-GigabitEthernet0/0] quit [R1-Gateway] interface GigabitEthernet0/1 [R1-Gateway-GigabitEthernet0/1] ip address 12.1.1.1 255.255.255.252 [R1-Gateway-GigabitEthernet0/1] quit [R1-Gateway] ip route-static 192.168.10.0 24 192.168.100.2 [R1-Gateway] ip route-static 192.168.20.0 24 192.168.100.2 [R1-Gateway] ip route-static 0.0.0.0 0 12.1.1.2注意看這里我在 R1 上寫了兩類方向相反的靜態(tài)路由一類是回程路由把內(nèi)網(wǎng)網(wǎng)段指回 SW1另一類是默認(rèn)路由把外網(wǎng)流量交給運(yùn)營商 R2。靜態(tài)路由的方向性是很多人容易犯糊涂的地方配置之前先在草稿紙上標(biāo)好源和方向會少踩很多坑。R2 模擬運(yùn)營商只需要把連接 R1 的接口配上地址再創(chuàng)建一個回環(huán)接口當(dāng)作互聯(lián)網(wǎng)上的服務(wù)器。所謂“互聯(lián)網(wǎng)服務(wù)器”在實(shí)際實(shí)驗(yàn)里就是一個可以被 ping 通的目標(biāo)地址。H3C system-view [H3C] sysname R2-ISP [R2-ISP] interface GigabitEthernet0/0 [R2-ISP-GigabitEthernet0/0] ip address 12.1.1.2 255.255.255.252 [R2-ISP-GigabitEthernet0/0] quit [R2-ISP] interface LoopBack0 [R2-ISP-LoopBack0] ip address 1.1.1.1 255.255.255.255 [R2-ISP-LoopBack0] quit到這里為止如果只是配置靜態(tài) IPPC1 應(yīng)該能 ping 通 PC2也能 ping 通 R1 的 12.1.1.1 接口地址。但還差最后一塊拼圖NAT。3.4 DHCP 服務(wù)配置H3CNE 考綱里 DHCP 是重點(diǎn)實(shí)驗(yàn)里我也用 DHCP 來給辦公和服務(wù)器兩個網(wǎng)段自動分配地址。DHCP 服務(wù)器放在核心交換機(jī) SW1 上因?yàn)樗?VLAN 接口都集中在它身上配置最方便。[SW-Core] dhcp enable [SW-Core] interface Vlan-interface10 [SW-Core-Vlan-interface10] dhcp select server [SW-Core-Vlan-interface10] dhcp server ip-range 192.168.10.10 192.168.10.200 [SW-Core-Vlan-interface10] dhcp server gateway-list 192.168.10.254 [SW-Core-Vlan-interface10] dhcp server dns-list 223.5.5.5 114.114.114.114 [SW-Core-Vlan-interface10] quit [SW-Core] interface Vlan-interface20 [SW-Core-Vlan-interface20] dhcp select server [SW-Core-Vlan-interface20] dhcp server ip-range 192.168.20.10 192.168.20.200 [SW-Core-Vlan-interface20] dhcp server gateway-list 192.168.20.254 [SW-Core-Vlan-interface20] dhcp server dns-list 223.5.5.5 [SW-Core-Vlan-interface20] quitdhcp server gateway-list在 HCL 里很關(guān)鍵它告訴 DHCP 客戶端“你的網(wǎng)關(guān)是哪個地址”。如果沒有這一條PC 只能拿到 IP但拿不到默認(rèn)網(wǎng)關(guān)后續(xù)跨網(wǎng)段訪問就會失敗。這里我寫的是模擬環(huán)境里的地址真實(shí)企業(yè)環(huán)境中 DNS 請按運(yùn)營商給的地址填寫。3.5 ACL 與 NAT 配置正常情況下PC 的源地址是私網(wǎng)地址運(yùn)營商不可能替你路由這些私網(wǎng)報文。所以 R1 出口上要做 NAT把私網(wǎng)地址轉(zhuǎn)換成出接口的地址也就是 12.1.1.1。實(shí)現(xiàn) NAT 需要綁定一個 ACL用來匹配哪些源地址需要被轉(zhuǎn)換。我先創(chuàng)建一個基礎(chǔ) ACL放行整個 192.168.0.0/16 私網(wǎng)段。[R1-Gateway] acl basic 2000 [R1-Gateway-acl-ipv4-basic-2000] rule 5 permit source 192.168.0.0 0.0.255.255 [R1-Gateway-acl-ipv4-basic-2000] quit [R1-Gateway] interface GigabitEthernet0/1 [R1-Gateway-GigabitEthernet0/1] nat outbound 2000 [R1-Gateway-GigabitEthernet0/1] quitnat outbound 2000的意思就是從這個接口出去的流量如果匹配 ACL 2000就動態(tài)轉(zhuǎn)換成該接口的地址。之所以強(qiáng)調(diào) ACL 用的反掩碼 0.0.255.255是因?yàn)?H3C 的 ACL 不是子網(wǎng)掩碼而是通配符掩碼。這一點(diǎn)在排查問題的時候非常容易踩坑如果寫成了 255.255.0.0NAT 會一直匹配不上。配置完 NAT 后從 PC 發(fā)出的內(nèi)網(wǎng)流量的源地址到了 R1 出口就會被轉(zhuǎn)換成 12.1.1.1運(yùn)營商路由器 R2 看到的就是一個普通的公網(wǎng)地址。3.6 遠(yuǎn)程管理Telnet 與 SSH為了把 H3CNE 的遠(yuǎn)程管理知識點(diǎn)也納入實(shí)驗(yàn)我在 R1 上同時配置了 Telnet 和 SSH 登錄。生產(chǎn)環(huán)境我強(qiáng)烈建議只開 SSHTelnet 的明文傳輸在真實(shí)網(wǎng)絡(luò)里等于裸奔。但實(shí)驗(yàn)里兩個都配上正好可以對比驗(yàn)證。先創(chuàng)建本地用戶用于遠(yuǎn)程登錄認(rèn)證。[R1-Gateway] local-user admin class manage [R1-Gateway-luser-manage-admin] password simple Admin123 [R1-Gateway-luser-manage-admin] service-type ssh telnet [R1-Gateway-luser-manage-admin] authorization-attribute user-role network-admin [R1-Gateway-luser-manage-admin] quit然后配置 VTY 用戶線讓遠(yuǎn)程登錄走本地用戶認(rèn)證。最后開啟 Telnet 和 SSH 服務(wù)生成 RSA 密鑰對。[R1-Gateway] line vty 0 4 [R1-Gateway-line-vty0-4] authentication-mode scheme [R1-Gateway-line-vty0-4] protocol inbound all [R1-Gateway-line-vty0-4] quit [R1-Gateway] telnet server enable [R1-Gateway] ssh server enable [R1-Gateway] public-key local create rsa執(zhí)行public-key local create rsa時模擬器會詢問是否生成默認(rèn)密鑰長度直接回車即可。生成密鑰是 SSH 能正常工作的前提漏了這一步SSH 服務(wù)即使 enable 了客戶端連接時也會報錯。實(shí)驗(yàn)做完后可以從 SW1 上用ssh admin192.168.100.1嘗試登錄 R1既可以驗(yàn)證配置又能體會一次真實(shí)的跨設(shè)備管理操作。4. 驗(yàn)證方法與連通性測試4.1 從核心交換機(jī)開始檢查配置完成后先不要急著跑到 PC 上 ping建議從網(wǎng)絡(luò)中心往邊緣逐層驗(yàn)證。我在 SW1 上先檢查 VLAN 和三層接口。[SW-Core] display vlan [SW-Core] display ip interface briefdisplay vlan會列出 VLAN ID、端口成員和描述信息。我需要確認(rèn) VLAN 10、20、100 都存在且端口 1/0/1、1/0/23、1/0/24 分別屬于對應(yīng) VLAN。display ip interface brief則用來確認(rèn)三個 VLAN 接口都配上了正確的 IP并且協(xié)議狀態(tài)是 UP。接下來看路由表。核心交換機(jī)應(yīng)該有一個默認(rèn)路由指向 192.168.100.1。[SW-Core] display ip routing-table如果發(fā)現(xiàn)默認(rèn)路由沒生效大概率是下一跳寫錯或者是 192.168.100.1 這個地址根本不可達(dá)。4.2 在 R1 上確認(rèn)路由與 NATR1 作為出口路由器路由表里應(yīng)該同時有回程路由、默認(rèn)路由和直連路由。用下面命令快速檢查[R1-Gateway] display ip routing-table [R1-Gateway] display nat outbounddisplay nat outbound會顯示接口上綁定的 NAT 規(guī)則。如果不顯示內(nèi)容先檢查 ACL 是否包含正確的源網(wǎng)段再看接口是否配了nat outbound 2000。NAT 規(guī)則沒問題但 PC 仍然上不了網(wǎng)就要去看 NAT 轉(zhuǎn)換表現(xiàn)[R1-Gateway] display nat session brief這個命令能看到當(dāng)前正在進(jìn)行的 NAT 會話。如果 PC 有 ping 動作但這里沒有任何會話條目說明流量根本沒走到出口接口問題大概率在路由或者交換機(jī)上。4.3 PC 側(cè) DHCP 獲取與逐跳 ping確認(rèn)網(wǎng)絡(luò)設(shè)備側(cè)都正常之后再回到 PC。打開 PC 配置頁選擇 DHCP 并應(yīng)用然后用命令行查看是否獲取到正確地址。ipconfig正常情況下PC1 會拿到 192.168.10.x/24 的地址網(wǎng)關(guān)是 192.168.10.254PC2 會拿到 192.168.20.x/24網(wǎng)關(guān)是 192.168.20.254。HCL 的 PC 命令行支持 ping 和 tracert我習(xí)慣按下面的順序逐條驗(yàn)證ping 192.168.10.254先測 PC 到網(wǎng)關(guān)的連通性這一步過了說明二層鏈路和 VLAN 配置沒問題。接下來測試跨網(wǎng)段訪問ping 192.168.20.254這一條是驗(yàn)證 VLAN 間路由。如果 PC1 能 ping 通 VLAN 20 的網(wǎng)關(guān)說明核心交換機(jī)已經(jīng)在正常執(zhí)行三層轉(zhuǎn)發(fā)后面再去測 PC2 是不是真的拿到了地址。然后再驗(yàn)證出口ping 12.1.1.1 ping 1.1.1.1ping 12.1.1.1測的是 PC 到 R1 出口接口的連通性ping 1.1.1.1才是真正測試 NAT 和互聯(lián)網(wǎng)路徑。如果前一條能通、后一條不通問題基本鎖定在 NAT 或者 R1 的默認(rèn)路由上如果前一條都不通就要回頭檢查 R1 和 SW1 之間的互聯(lián)段。HCL 的 PC 終端對 ping 的結(jié)果展示比較簡潔中間可能出現(xiàn)幾次超時只要最終有成功回包就說明鏈路沒問題。如果連續(xù)丟包不要懷疑是模擬器性能問題先去查 ARP 緩存和路由表。4.4 用 tracert 觀察路徑為了讓實(shí)驗(yàn)更有畫面感我還會在 PC 上執(zhí)行一次 tracerttracert 1.1.1.1這條命令會顯示數(shù)據(jù)包經(jīng)過的每一跳地址。預(yù)期第一跳是網(wǎng)關(guān) 192.168.10.254第二跳是核心交換機(jī)上行接口對應(yīng)的路由地址 192.168.100.1 或者直接顯示 R1 的出口地址最后一跳是 1.1.1.1??吹竭@條完整路徑整個綜合實(shí)驗(yàn)的價值就體現(xiàn)出來了——你不僅把各技術(shù)點(diǎn)配完了還能親眼看到它們?nèi)绾螀f(xié)作。5. 常見問題與排錯實(shí)錄5.1 模擬器環(huán)境類問題HCL 用久了最先遇到的往往不是配置問題而是環(huán)境問題。最常見的現(xiàn)象是設(shè)備拖進(jìn)拓?fù)浜髥邮‰p擊控制臺一直停在“Starting”或者直接報“Create process failed”。我遇到這類情況會按以下順序排查用管理員身份重新啟動 HCL。關(guān)閉 Windows 防火墻或者給 HCL 加白名單。暫時關(guān)閉其他虛擬化軟件比如 Vmware、Hyper-V防止虛擬網(wǎng)卡沖突。如果設(shè)備還在啟動中多點(diǎn)幾次“啟動”沒有用干脆右鍵設(shè)備選擇停止再慢慢啟動。另外 HCL 的模擬設(shè)備和真實(shí)設(shè)備一樣配置如果不主動保存關(guān)掉模擬器或者重啟設(shè)備之后就會丟。配置完成后一定要在設(shè)備命令行里執(zhí)行save force。我還會在 HCL 的設(shè)備列表里把運(yùn)行配置導(dǎo)出成文件放到實(shí)驗(yàn)筆記目錄里方便下次直接加載。對于備考的人來說每一次配置都留檔相當(dāng)于給自己攢了一套能回看的題庫。5.2 配置類問題與解決思路我把這次實(shí)驗(yàn)里最容易被卡住的地方整理成了表排查時可以當(dāng)速查表用現(xiàn)象可能原因快速排查命令PC 拿不到 DHCP 地址沒有全局開啟 dhcp地址池范圍配錯PC 未重新應(yīng)用 DHCPdisplay dhcp server ip-in-usePC 能拿到地址但 ping 不通網(wǎng)關(guān)PC 網(wǎng)關(guān)參數(shù)不對VLAN 接口地址錯誤display ip interface brief同一 VLAN 能通跨 VLAN 不通VLAN 接口未配置路由表缺少直連路由display ip routing-table內(nèi)網(wǎng)能通外網(wǎng)不通默認(rèn)路由缺失NAT 未綁定ACL 源網(wǎng)段錯誤display nat outboundSSH 無法登錄未生成 RSA 密鑰用戶 service-type 未包含 sshVTY 認(rèn)證模式錯誤display ssh server交換機(jī)上行鏈路不通對端接口未啟用VLAN 放行列表漏配display link-aggregation summary或者display interface brief有一個很隱蔽的坑是 NAT 的 ACL 通配符。很多初學(xué)者習(xí)慣寫成rule permit source 192.168.0.0 0.0.255.255這沒問題但如果照著網(wǎng)段模板寫成了192.168.10.0 0.0.0.255而實(shí)際 PC 所在網(wǎng)段是 192.168.20.0就會導(dǎo)致 VLAN 20 的流量沒有被 NAT。所以寫完 ACL 一定要回看一遍確認(rèn)display acl 2000里的規(guī)則覆蓋了所有業(yè)務(wù)網(wǎng)段。另一個坑在 DHCP 和 Trunk 的配合上。PC 在 DHCP 請求階段是廣播報文Trunk 鏈路必須放行對應(yīng) VLANDHCP 請求才能到達(dá)核心交換機(jī)。如果 PC2 拿不到地址我在 SW2 上執(zhí)行display vlan 20經(jīng)常能發(fā)現(xiàn) Trunk 口沒有放行 VLAN 20。這種情況下無論核心交換機(jī)配置多完美地址都發(fā)不出去。5.3 排錯方法論從底層往上層走排錯這件事最重要的是“分層”。我的習(xí)慣是從物理層開始逐層往上觀察。遇到任何網(wǎng)絡(luò)問題先做三件事。第一步確認(rèn)設(shè)備接口狀態(tài)。display interface brief能快速看到哪些接口 Up、哪些 Down。接口 Down 的情況下后面一切配置都是白搭。HCL 里鏈路連接后設(shè)備要等一會兒才會協(xié)商完成不要剛連完線就急著 ping。第二步確認(rèn) ARP 和 MAC。display arp能看到交換機(jī)上有沒有正確學(xué)習(xí)到終端的 MAC 地址。如果 ARP 表里沒有終端說明二層鏈路有問題不要急著查路由。第三步確認(rèn)路由和轉(zhuǎn)發(fā)。display ip routing-table只是靜態(tài)快照真正要看的是流量走到哪一跳斷了。用 PC 上的 tracert 逐跳測試哪一跳消失問題就在哪一跳附近。這個方法雖然樸素但真的比漫無目的地改配置高效得多。我見過不少同學(xué)一上來就懷疑 NAT 寫錯了反復(fù)改 ACL最后發(fā)現(xiàn)是交換機(jī)上連 R1 的接口根本沒配 VLAN。先把每一層跑通再談優(yōu)化。5.4 實(shí)驗(yàn)復(fù)盤建議整套實(shí)驗(yàn)做下來我建議你給自己留十分鐘復(fù)盤。核心就三個問題內(nèi)網(wǎng)互通依賴哪些配置外網(wǎng)訪問依賴哪些配置哪些命令刪掉之后網(wǎng)絡(luò)立刻會斷如果這三個問題都能不看筆記回答出來H3CNE 對你就不是死記硬背而是真正的理解。如果想增加難度還可以在這個基礎(chǔ)上做幾個延伸。比如把兩臺交換機(jī)之間的兩條鏈路做成 Eth-Trunk 聚合觀察帶寬和可靠性變化或者給核心交換機(jī)和接入交換機(jī)之間加一條冗余鏈路看 STP 如何計算根橋和阻斷端口又或者在內(nèi)網(wǎng)配置一個回環(huán)接口做 OSPF看動態(tài)路由如何代替手工靜態(tài)路由。H3CNE 考綱里的每一個考點(diǎn)幾乎都可以在同一個拓?fù)渖贤ㄟ^加設(shè)備、加鏈路的方式繼續(xù)延伸下去這正是綜合實(shí)驗(yàn)最值錢的地方。我個人做完這套實(shí)驗(yàn)最大的體會是網(wǎng)絡(luò)工程師的排錯能力不是靠背命令背出來的而是靠一遍一遍在實(shí)驗(yàn)環(huán)境里挖坑、填坑練出來的。HCL 最大的好處就是隨便你怎么折騰錯了重啟設(shè)備再來不用擔(dān)心弄壞真實(shí)網(wǎng)絡(luò)。如果你能把上面的每一步都親手敲完再對照我列出的驗(yàn)證命令檢查結(jié)果這套綜合實(shí)驗(yàn)就真正變成你自己的東西了。