課程設(shè)計(jì)實(shí)戰(zhàn):VLAN劃分、三層交換與NAT配置全解析)
簡介這份《計(jì)算機(jī)網(wǎng)絡(luò)--校園局域網(wǎng)課程設(shè)計(jì)》文檔面向高校計(jì)算機(jī)網(wǎng)絡(luò)課程學(xué)習(xí)者與課程設(shè)計(jì)實(shí)踐者圍繞校園網(wǎng)綜合布局設(shè)計(jì)展開幫助讀者完成從需求分析到設(shè)備配置的完整方案。內(nèi)容涵蓋設(shè)計(jì)目的與背景、系統(tǒng)與安全分析、軟硬件環(huán)境、NAT與路由選擇等理論基礎(chǔ)并給出網(wǎng)絡(luò)設(shè)備選型、拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)、VLAN劃分與IP地址分配等方案設(shè)計(jì)以及VLAN、路由、服務(wù)器、交換機(jī)等具體配置步驟還整理了設(shè)計(jì)過程中遇到的問題與解決辦法、個(gè)人體會及建議。資源包共1個(gè)doc文件約1.24MB結(jié)構(gòu)完整、目錄清晰適合作為課程設(shè)計(jì)報(bào)告參考或?qū)嶒?yàn)配置對照。目前已有299人學(xué)習(xí)可為網(wǎng)絡(luò)工程、通信工程等專業(yè)學(xué)生提供可復(fù)用的設(shè)計(jì)框架與排錯(cuò)思路。1. 校園局域網(wǎng)課程設(shè)計(jì)從 VLAN 劃分到三層交換的完整落地路徑很多同學(xué)做計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)時(shí)第一反應(yīng)是去網(wǎng)上找一份現(xiàn)成的報(bào)告改改交差結(jié)果答辯時(shí)被老師追問「你 VLAN 為什么這么劃」「三層交換機(jī)在這里到底起什么作用」就卡殼了。這份《計(jì)算機(jī)網(wǎng)絡(luò)--校園局域網(wǎng)課程設(shè)計(jì)》文檔的價(jià)值不在于它是一份「可抄的報(bào)告」而在于它把校園網(wǎng)從需求分析、拓?fù)湓O(shè)計(jì)、VLAN 劃分、IP 地址規(guī)劃到路由器/交換機(jī)配置的完整鏈路走了一遍并且附帶了真實(shí)的設(shè)備選型參數(shù)和配置命令。它適合正在做計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)、需要一份可參照的工程文檔來理解校園網(wǎng)架構(gòu)的本科生也適合剛接觸企業(yè)級網(wǎng)絡(luò)設(shè)備、想通過一個(gè)具體場景把 VLAN、Trunk、三層交換、NAT 這些概念串起來的初級網(wǎng)絡(luò)工程師。下面我按實(shí)際復(fù)現(xiàn)的路徑把這份文檔拆開講清楚每一步在做什么、參數(shù)怎么定、哪里容易翻車。2. 校園網(wǎng)方案設(shè)計(jì)拓?fù)浣Y(jié)構(gòu)與 VLAN/IP 規(guī)劃怎么定2.1 為什么先定拓?fù)湓僬勁渲眠@份文檔在方案設(shè)計(jì)部分給出了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖雖然原文沒有貼出完整的拓?fù)鋱D片但從后續(xù)的 VLAN 劃分和配置步驟可以反推出一個(gè)典型的三層架構(gòu)核心層用三層交換機(jī)做 VLAN 間路由接入層用二層交換機(jī)做端口隔離和 VLAN 劃分出口用路由器做 NAT 轉(zhuǎn)換和公網(wǎng)接入。這個(gè)結(jié)構(gòu)不是隨便畫的它對應(yīng)了校園網(wǎng)三個(gè)剛性需求——行政辦公、教學(xué)科研、學(xué)生宿舍需要邏輯隔離但又要能訪問公共服務(wù)器和互聯(lián)網(wǎng)。常見做法是核心層放一臺三層交換機(jī)文檔中選型為 CISCO WS-C3560G-24T接入層放若干臺二層交換機(jī)文檔中選型為 CISCO WS-C2960G-48TS出口路由器用一臺支持 NAT 和串口的路由器。三層交換機(jī)負(fù)責(zé) VLAN 間路由路由器負(fù)責(zé) NAT 和出口路由。這樣做的原因是如果所有 VLAN 間路由都壓到路由器上路由器會成為瓶頸三層交換機(jī)的背板帶寬遠(yuǎn)高于路由器適合做局域網(wǎng)內(nèi)部的高速轉(zhuǎn)發(fā)。提示拓?fù)湓O(shè)計(jì)階段就要確定每個(gè) VLAN 的網(wǎng)段和網(wǎng)關(guān)位置。網(wǎng)關(guān)放在三層交換機(jī)上不要放在路由器上否則跨 VLAN 流量會繞一圈到路由器再回來延遲和帶寬都會受影響。2.2 VLAN 劃分與 IP 地址分配的具體邏輯文檔中劃分了 VLAN100、VLAN200、VLAN300 三個(gè) VLAN分別對應(yīng)不同的功能區(qū)域。雖然原文沒有給出完整的 IP 地址表但從路由器配置中的218.4.30.1/24和218.4.40.1/24可以推斷校園網(wǎng)內(nèi)部使用的是私有地址段如 192.168.x.x 或 10.x.x.x出口路由器上配置的是公網(wǎng)地址或運(yùn)營商分配的地址。VLAN 劃分的核心原則是按功能或按樓棟劃分不要按設(shè)備類型劃分。比如VLAN ID用途典型網(wǎng)段網(wǎng)關(guān)位置VLAN100行政辦公192.168.100.0/24三層交換機(jī)VLAN200教學(xué)科研192.168.200.0/24三層交換機(jī)VLAN300學(xué)生宿舍192.168.300.0/24三層交換機(jī)每個(gè) VLAN 的網(wǎng)關(guān)地址就是三層交換機(jī)上對應(yīng) SVISwitch Virtual Interface的 IP 地址。比如 VLAN100 的網(wǎng)關(guān)是 192.168.100.1那么三層交換機(jī)上就要配置interface Vlan100并給它分配這個(gè)地址。這樣 VLAN100 內(nèi)的主機(jī)把網(wǎng)關(guān)指向 192.168.100.1跨 VLAN 的流量就會送到三層交換機(jī)做路由轉(zhuǎn)發(fā)。IP 地址分配要留足余量。一個(gè) /24 的網(wǎng)段有 254 個(gè)可用地址如果行政辦公區(qū)有 200 臺設(shè)備用 /24 剛好夠但沒余量建議用 /23 或者規(guī)劃時(shí)預(yù)留 20% 以上的空閑地址。文檔中用的是 /24對于課程設(shè)計(jì)場景夠用但實(shí)際項(xiàng)目中要按設(shè)備數(shù)量算。2.3 設(shè)備選型的參數(shù)依據(jù)文檔給出了兩款交換機(jī)的具體參數(shù)CISCO WS-C3560G-24T 和 CISCO WS-C2960G-48TS。選型不是看品牌而是看三個(gè)硬指標(biāo)端口數(shù)量、端口速率、是否支持三層功能。WS-C3560G-24T 是三層交換機(jī)24 個(gè)千兆電口支持靜態(tài)路由和 RIP/OSPF適合做核心層。WS-C2960G-48TS 是二層交換機(jī)48 個(gè)千兆電口不支持三層路由適合做接入層。這個(gè)搭配的邏輯是接入層只需要把終端設(shè)備接進(jìn)來并打上 VLAN 標(biāo)簽不需要做路由核心層才需要做 VLAN 間路由和出口路由。注意課程設(shè)計(jì)中如果預(yù)算有限可以用模擬器如 Cisco Packet Tracer 或 GNS3替代真實(shí)設(shè)備。但模擬器對某些高級功能如 QoS、ACL 的硬件卸載支持不完整配置命令可能和真機(jī)有差異。建議先在模擬器上跑通邏輯再到真機(jī)上驗(yàn)證。3. 網(wǎng)絡(luò)配置實(shí)操從 VLAN 劃分到路由器 NAT 的完整命令3.1 二層交換機(jī) VLAN 劃分與 Trunk 配置二層交換機(jī)的任務(wù)是把不同端口劃分到不同 VLAN并把上聯(lián)口配成 Trunk 模式讓多個(gè) VLAN 的流量能通過一條物理鏈路傳到三層交換機(jī)。文檔中給出的配置邏輯是建立 VLAN100、VLAN200、VLAN300將 e0/0/1、e0/0/2、e0/0/3 分別設(shè)為 access 模式并劃入對應(yīng) VLAN然后將 e0/0/4 設(shè)為 trunk 模式并允許所有 VLAN 通過。# 進(jìn)入全局配置模式 Switch enable Switch# configure terminal # 創(chuàng)建 VLAN Switch(config)# vlan 100 Switch(config-vlan)# name admin Switch(config-vlan)# exit Switch(config)# vlan 200 Switch(config-vlan)# name teaching Switch(config-vlan)# exit Switch(config)# vlan 300 Switch(config-vlan)# name student Switch(config-vlan)# exit # 配置 access 端口并劃入 VLAN Switch(config)# interface e0/0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 100 Switch(config-if)# exit Switch(config)# interface e0/0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 200 Switch(config-if)# exit Switch(config)# interface e0/0/3 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 300 Switch(config-if)# exit # 配置 trunk 端口允許所有 VLAN 通過 Switch(config)# interface e0/0/4 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan all Switch(config-if)# exit這段配置的邏輯是access 端口只屬于一個(gè) VLAN接終端設(shè)備trunk 端口屬于多個(gè) VLAN接上層交換機(jī)。switchport trunk allowed vlan all表示允許所有 VLAN 通過實(shí)際項(xiàng)目中建議只允許需要的 VLAN 通過減少廣播域。參數(shù)e0/0/1是端口編號不同設(shè)備的編號規(guī)則不同Cisco 設(shè)備通常是FastEthernet0/1或GigabitEthernet0/1模擬器中可能是e0/0/1配置前先用show interface status確認(rèn)端口名稱。3.2 三層交換機(jī) VLAN 間路由配置三層交換機(jī)的核心任務(wù)是給每個(gè) VLAN 配置一個(gè) SVI 接口并分配 IP 地址作為該 VLAN 的網(wǎng)關(guān)。文檔中以 LSW2 為例配置邏輯是創(chuàng)建 VLAN100、VLAN200、VLAN300然后進(jìn)入每個(gè) VLAN 接口配置 IP 地址。# 進(jìn)入全局配置模式 Switch enable Switch# configure terminal # 開啟 IP 路由功能 Switch(config)# ip routing # 創(chuàng)建 VLAN Switch(config)# vlan 100 Switch(config-vlan)# exit Switch(config)# vlan 200 Switch(config-vlan)# exit Switch(config)# vlan 300 Switch(config-vlan)# exit # 配置 VLAN100 的 SVI 接口 Switch(config)# interface vlan 100 Switch(config-if)# ip address 192.168.100.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置 VLAN200 的 SVI 接口 Switch(config)# interface vlan 200 Switch(config-if)# ip address 192.168.200.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置 VLAN300 的 SVI 接口 Switch(config)# interface vlan 300 Switch(config-if)# ip address 192.168.300.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置上聯(lián)口為 trunk Switch(config)# interface e0/0/1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# exit關(guān)鍵點(diǎn)是ip routing這條命令沒有它三層交換機(jī)不會做 VLAN 間路由。interface vlan 100創(chuàng)建的是 SVI 接口它不是一個(gè)物理端口而是對應(yīng) VLAN100 的邏輯接口。ip address后面的地址就是該 VLAN 內(nèi)主機(jī)的默認(rèn)網(wǎng)關(guān)。no shutdown必須加否則接口默認(rèn)是關(guān)閉狀態(tài)。提示三層交換機(jī)上聯(lián)口如果對端是二層交換機(jī)需要配置switchport trunk encapsulation dot1q指定封裝協(xié)議。有些設(shè)備默認(rèn)就是 dot1q但顯式配置更穩(wěn)妥。3.3 路由器 NAT 與出口配置路由器的任務(wù)是做 NAT 轉(zhuǎn)換把內(nèi)部私有地址轉(zhuǎn)換成公網(wǎng)地址同時(shí)配置默認(rèn)路由指向運(yùn)營商。文檔中給出的路由器配置包括主機(jī)名、密碼、端口 IP 地址等。# 進(jìn)入全局配置模式 Router enable Router# configure terminal # 配置主機(jī)名和密碼 Router(config)# hostname R1 R1(config)# enable password 123456 R1(config)# line con 0 R1(config-line)# password 123456 R1(config-line)# login R1(config-line)# line vty 0 4 R1(config-line)# password 123456 R1(config-line)# login R1(config-line)# exit # 配置內(nèi)網(wǎng)接口 R1(config)# interface FastEthernet0/0 R1(config-if)# ip address 192.168.1.1 255.255.255.0 R1(config-if)# ip nat inside R1(config-if)# no shutdown R1(config-if)# exit # 配置外網(wǎng)接口 R1(config)# interface FastEthernet1/0 R1(config-if)# ip address 218.4.30.1 255.255.255.0 R1(config-if)# ip nat outside R1(config-if)# no shutdown R1(config-if)# exit # 配置 NAT 地址池 R1(config)# ip nat pool public_pool 218.4.30.2 218.4.30.10 netmask 255.255.255.0 # 配置 ACL 匹配內(nèi)網(wǎng)流量 R1(config)# access-list 1 permit 192.168.0.0 0.0.255.255 # 綁定 NAT 轉(zhuǎn)換規(guī)則 R1(config)# ip nat inside source list 1 pool public_pool overload # 配置默認(rèn)路由 R1(config)# ip route 0.0.0.0 0.0.0.0 218.4.30.254這段配置的邏輯是ip nat inside和ip nat outside標(biāo)記內(nèi)外網(wǎng)接口ip nat pool定義公網(wǎng)地址池access-list 1匹配需要做 NAT 的內(nèi)網(wǎng)流量ip nat inside source list 1 pool public_pool overload把匹配的流量做端口復(fù)用轉(zhuǎn)換。overload表示 PAT多個(gè)內(nèi)網(wǎng)地址可以復(fù)用同一個(gè)公網(wǎng)地址的不同端口。ip route 0.0.0.0 0.0.0.0是默認(rèn)路由指向運(yùn)營商網(wǎng)關(guān)。參數(shù)說明218.4.30.1是外網(wǎng)接口地址218.4.30.254是運(yùn)營商網(wǎng)關(guān)這兩個(gè)地址要根據(jù)實(shí)際分配填寫。access-list 1 permit 192.168.0.0 0.0.255.255匹配所有 192.168.x.x 的流量如果內(nèi)網(wǎng)用了 10.x.x.x 網(wǎng)段這里要相應(yīng)修改。3.4 服務(wù)器配置與設(shè)備選型核對文檔中提到服務(wù)器配置包括硬盤、CPU、最大內(nèi)存容量、擴(kuò)展槽、網(wǎng)絡(luò)控制器、內(nèi)存插槽數(shù)量等參數(shù)。課程設(shè)計(jì)中通常不需要真實(shí)服務(wù)器但需要規(guī)劃服務(wù)器的 IP 地址和接入 VLAN。常見做法是把服務(wù)器單獨(dú)劃一個(gè) VLAN如 VLAN400接入三層交換機(jī)配置靜態(tài) IP 地址并在 ACL 中允許其他 VLAN 訪問服務(wù)器的特定端口。設(shè)備選型核對表設(shè)備型號端口用途核心交換機(jī)WS-C3560G-24T24 千兆電口VLAN 間路由、SVI 網(wǎng)關(guān)接入交換機(jī)WS-C2960G-48TS48 千兆電口終端接入、VLAN 劃分路由器支持 NAT 和串口至少 2 個(gè)以太口NAT、出口路由選型時(shí)要確認(rèn)交換機(jī)的背板帶寬和包轉(zhuǎn)發(fā)率是否滿足峰值流量。WS-C3560G-24T 的背板帶寬是 32Gbps包轉(zhuǎn)發(fā)率是 6.5Mpps對于課程設(shè)計(jì)場景綽綽有余。實(shí)際項(xiàng)目中如果接入設(shè)備超過 200 臺要考慮堆疊或增加核心交換機(jī)。4. 避坑與排查課程設(shè)計(jì)中最容易翻車的五個(gè)點(diǎn)4.1 Trunk 端口沒配封裝協(xié)議導(dǎo)致 VLAN 不通現(xiàn)象二層交換機(jī)和三層交換機(jī)之間的 Trunk 鏈路起來了但 VLAN100 內(nèi)的主機(jī) ping 不通網(wǎng)關(guān)。原因三層交換機(jī)上聯(lián)口沒有配置switchport trunk encapsulation dot1q或者兩端封裝協(xié)議不一致。有些 Cisco 設(shè)備默認(rèn)是 ISL 封裝而二層交換機(jī)可能只支持 dot1q。解決在兩端 Trunk 端口都顯式配置switchport trunk encapsulation dot1q然后用show interface trunk確認(rèn)封裝類型和允許的 VLAN 列表。4.2 三層交換機(jī)沒開 ip routing 導(dǎo)致 VLAN 間無法通信現(xiàn)象同一個(gè) VLAN 內(nèi)能通跨 VLAN ping 不通三層交換機(jī)上 SVI 接口狀態(tài)是 up。原因三層交換機(jī)默認(rèn)可能沒有開啟 IP 路由功能ip routing命令缺失。解決在全局配置模式下執(zhí)行ip routing然后用show ip route確認(rèn)路由表中有直連網(wǎng)段。如果還沒有檢查 SVI 接口是否no shutdown。4.3 NAT 地址池和 ACL 不匹配導(dǎo)致上不了網(wǎng)現(xiàn)象內(nèi)網(wǎng)主機(jī)能 ping 通網(wǎng)關(guān)但 ping 不通外網(wǎng)地址。原因access-list匹配的網(wǎng)段和實(shí)際內(nèi)網(wǎng)網(wǎng)段不一致或者 NAT 地址池的地址不在外網(wǎng)接口的網(wǎng)段內(nèi)。解決用show ip nat translations查看是否有 NAT 轉(zhuǎn)換記錄。如果沒有檢查 ACL 的permit語句是否覆蓋了內(nèi)網(wǎng)所有網(wǎng)段檢查ip nat inside和ip nat outside是否配在了正確的接口上。4.4 VLAN 劃分后 IP 地址規(guī)劃沖突現(xiàn)象配置完 SVI 接口后部分主機(jī)無法獲取 IP 或 IP 沖突。原因VLAN 網(wǎng)段和 SVI 地址不在同一網(wǎng)段或者 DHCP 地址池配置錯(cuò)誤。解決確認(rèn)每個(gè) VLAN 的網(wǎng)段和 SVI 地址匹配比如 VLAN100 用 192.168.100.0/24SVI 就配 192.168.100.1。如果用了 DHCP檢查地址池的network和default-router是否對應(yīng)。4.5 模擬器和真機(jī)命令差異導(dǎo)致配置失敗現(xiàn)象在 Packet Tracer 上跑通的配置搬到真機(jī)上報(bào)錯(cuò)。原因模擬器簡化了某些命令比如switchport trunk encapsulation dot1q在模擬器上可能不需要但真機(jī)上必須配。或者端口編號規(guī)則不同模擬器用e0/0/1真機(jī)用GigabitEthernet0/1。解決配置前先用show interface status確認(rèn)端口名稱用?查看當(dāng)前設(shè)備支持的命令。真機(jī)上配置前先備份 running-config出錯(cuò)可以回滾。5. 進(jìn)階技巧用鏈路聚合和 ACL 提升校園網(wǎng)性能與安全課程設(shè)計(jì)文檔在問題與解決辦法部分提到了鏈路聚合bond來解決帶寬不足的問題。這個(gè)思路在實(shí)際項(xiàng)目中很常用但課程設(shè)計(jì)里往往只提概念不落實(shí)操。下面把鏈路聚合和 ACL 的配置補(bǔ)全讓這份設(shè)計(jì)從「能通」升級到「好用且安全」。鏈路聚合的核心是把多條物理鏈路捆綁成一條邏輯鏈路增加帶寬并提供冗余。在 Cisco 交換機(jī)上叫 EtherChannel配置方式有兩種LACP標(biāo)準(zhǔn)協(xié)議和 PAgPCisco 私有。推薦用 LACP兼容性更好。# 在二層交換機(jī)上配置鏈路聚合 Switch(config)# interface range e0/0/1 - 2 Switch(config-if-range)# channel-protocol lacp Switch(config-if-range)# channel-group 1 mode active Switch(config-if-range)# exit # 在三層交換機(jī)上配置對應(yīng)的鏈路聚合 Switch(config)# interface range e0/0/1 - 2 Switch(config-if-range)# channel-protocol lacp Switch(config-if-range)# channel-group 1 mode active Switch(config-if-range)# exit # 將聚合口配成 Trunk Switch(config)# interface port-channel 1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan all Switch(config-if)# exit這段配置的邏輯是channel-group 1 mode active表示主動發(fā)起 LACP 協(xié)商兩端都配 active 才能協(xié)商成功。interface port-channel 1是邏輯接口后續(xù)的 Trunk 配置都配在這個(gè)邏輯接口上而不是物理接口上。驗(yàn)證命令是show etherchannel summary看到SU標(biāo)志表示聚合成功。ACL 的配置用來限制 VLAN 間的訪問。比如只允許 VLAN100 訪問服務(wù)器 VLAN400 的 80 端口其他流量拒絕# 在三層交換機(jī)上配置 ACL Switch(config)# ip access-list extended SERVER_ACCESS Switch(config-ext-nacl)# permit tcp 192.168.100.0 0.0.0.255 192.168.400.0 0.0.0.255 eq 80 Switch(config-ext-nacl)# deny ip any 192.168.400.0 0.0.0.255 Switch(config-ext-nacl)# permit ip any any Switch(config-ext-nacl)# exit # 應(yīng)用到 VLAN100 的 SVI 接口 Switch(config)# interface vlan 100 Switch(config-if)# ip access-group SERVER_ACCESS in Switch(config-if)# exitACL 的匹配順序是從上到下一旦匹配就執(zhí)行動作。所以permit具體流量要放在deny前面最后的permit ip any any是放行其他流量。in表示在進(jìn)入 VLAN100 接口的方向上過濾也就是 VLAN100 發(fā)出的流量。驗(yàn)證方法用show ip access-lists查看 ACL 匹配計(jì)數(shù)用show etherchannel summary查看聚合狀態(tài)。如果 ACL 沒生效檢查應(yīng)用方向是否正確in和out的方向容易搞反。從那以后我每次做校園網(wǎng)設(shè)計(jì)都會先把 VLAN 和 IP 規(guī)劃表畫出來再動手配設(shè)備配完先用show命令逐項(xiàng)核對最后才接終端測試。這個(gè)習(xí)慣幫我省了很多返工的時(shí)間。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取