
1. 項目概述為什么需要“兩層網絡”最近在折騰一個內部系統需要把開發、測試和生產環境徹底隔離開同時還得保證它們之間能按需通信。直接用一個大的扁平網絡管理起來簡直是災難權限混亂、廣播風暴、安全風險一個都跑不了。這時候“兩層網絡”的架構思路就派上用場了。簡單來說它不是一個具體的產品而是一種網絡設計模式將網絡在邏輯上劃分為“核心層”和“接入層”。核心層負責高速、可靠的數據轉發和不同區域間的互聯接入層則負責連接具體的終端設備并實施基礎的訪問控制和策略。這種架構在中小型數據中心、企業辦公網甚至復雜的家庭實驗室里都非常常見。它解決的不僅僅是連通性問題更是關于網絡的可管理性、可擴展性和安全性。如果你正在規劃一個稍具規模、且對未來增長有預期的網絡環境理解并動手搭建一個兩層網絡會是性價比極高的技術投資。接下來我就結合自己的實操經驗拆解一下從設計到落地的全過程。2. 網絡架構核心思路與設計考量搭建網絡最忌諱的就是拿到設備就開始配配到哪算哪。合理的規劃是成功的一半。對于兩層網絡我們需要先想清楚幾個核心問題。2.1 邏輯分層核心與接入的職責分離兩層網絡的核心思想是“各司其職”。我們來明確一下每一層的任務核心層這是網絡的骨干和心臟。它的唯一目標就是“快”和“穩”。所有跨區域、跨網段的數據流最終都要經過這里。因此核心層設備通常是核心交換機不應該處理復雜的策略如ACL、安全過濾或者VLAN間的路由除非是集中式路由模型。它的主要工作是提供高帶寬、低延遲的交換能力并確保高可用性比如通過堆疊或MLAG技術。在實際項目中如果規模不大一臺性能較強的三層交換機也可以兼任核心層和部分分布層的功能這就是所謂的“核心-接入”兩層簡化模型也是我們今天討論的重點。接入層這是網絡的“最后一公里”直接面對用戶、服務器、攝像頭等終端設備。接入層交換機或AP負責將終端接入網絡并執行最基礎的策略。這里的關鍵任務包括端口安全防止MAC地址泛洪、VLAN劃分基于端口或基于MAC地址將終端劃入不同廣播域、生成樹協議STP/RSTP/MSTP配置以防止環路以及PoE供電如果需要。接入層設備數量通常最多但功能相對單一配置強調一致性和可批量部署。為什么要這么分從運維角度看當網絡出現性能瓶頸時你可以快速定位是核心轉發能力不足還是接入層策略不當當需要擴容時可以在接入層平滑增加交換機而無需改動核心架構當需要調整安全策略時可以在接入層端口上精細控制避免影響核心轉發效率。2.2 關鍵技術選型VLAN、Trunk與路由確定了架構就要選擇實現的技術。對于兩層網絡以下幾項是基石VLAN虛擬局域網這是實現邏輯隔離的核心。我們可以根據部門如研發VLAN 10、財務VLAN 20、功能如服務器VLAN 100、無線用戶VLAN 200或安全等級來劃分VLAN。VLAN內的設備像在一個獨立的交換機上廣播幀只在同一VLAN內傳播不同VLAN間默認不能通信這極大地提升了安全性和網絡效率。Trunk干道鏈路當多個VLAN的數據需要跨越交換機比如從接入交換機到核心交換機傳輸時我們需要使用Trunk鏈路。Trunk鏈路通過在以太網幀中插入VLAN標簽如IEEE 802.1Q標準來區分不同VLAN的數據。配置Trunk時務必遵循“最小權限原則”只允許必要的VLAN通過該Trunk。層間路由Inter-VLAN RoutingVLAN間需要通信怎么辦這就需要三層路由功能。在兩層網絡中通常采用“單臂路由”或“三層交換機SVI路由”。單臂路由在核心路由器的一個物理接口上創建多個子接口每個子接口對應一個VLAN并配置為對應VLAN的網關。所有跨VLAN流量都需經過這個路由器。這種方式適用于早期路由器性能強、交換機性能弱的場景或作為臨時過渡方案容易形成單點瓶頸。三層交換機SVI路由這是當前的主流方案。在三層交換機上為每個VLAN創建一個虛擬接口Switch Virtual Interface, SVI并配置IP地址作為該VLAN內設備的默認網關。當VLAN間需要通信時流量在交換機的硬件ASIC芯片中進行高速路由效率遠高于單臂路由。我們的實驗將采用這種方式。2.3 IP地址規劃一切管理的基礎混亂的IP規劃是運維的噩夢。在動工前必須畫好一張IP地址分配表。規劃原則包括按VLAN分配網段為每個VLAN規劃一個獨立的子網。例如192.168.10.0/24給研發192.168.20.0/24給財務。預留地址空間子網劃分時考慮未來擴容避免使用過小的子網如/29導致很快耗盡。固定關鍵設備IP核心交換機管理地址、網關地址、服務器地址等都應采用靜態分配并記錄在案。規劃DHCP范圍為終端用戶所在的VLAN規劃DHCP地址池并排除已靜態分配的地址。一個清晰的規劃表能讓你在配置和排錯時事半功倍。3. 實驗環境搭建與設備配置詳解理論說得再多不如動手配一遍。我以一個典型的“核心-接入”兩層網絡為例使用兩臺支持VLAN和三層路由的交換機品牌以行業通用的CLI語法為例原理相通進行演示。假設拓撲是一臺作為核心層Core-SW另一臺作為接入層Access-SW兩者之間通過千兆光纖或網線連接。3.1 基礎環境與拓撲初始化首先我們需要對設備進行基礎配置包括主機名、管理IP和遠程登錄。! 在核心交換機上配置 Core-SW enable Core-SW# configure terminal Core-SW(config)# hostname Core-SW Core-SW(config)# interface vlan 99 ! 創建一個管理VLAN 99 Core-SW(config-if)# description Management_VLAN Core-SW(config-if)# ip address 192.168.99.1 255.255.255.0 Core-SW(config-if)# no shutdown Core-SW(config-if)# exit Core-SW(config)# ip default-gateway 192.168.99.254 ! 假設上層路由器地址 Core-SW(config)# line vty 0 4 Core-SW(config-line)# password YourSecurePassword Core-SW(config-line)# login Core-SW(config-line)# transport input ssh ! 啟用SSH更安全 Core-SW(config-line)# exit Core-SW(config)# crypto key generate rsa modulus 2048 ! 生成SSH密鑰 Core-SW(config)# ip ssh version 2 Core-SW(config)# username admin privilege 15 secret YourAdminSecret接入層交換機也進行類似配置只需將管理IP設為同網段另一個地址如192.168.99.2。注意管理VLAN最好獨立于業務VLAN并嚴格限制訪問來源。secret命令會加密密碼比password命令更安全。3.2 VLAN創建與端口分配接下來創建業務VLAN并配置接入層端口。假設我們需要三個VLAN研發(VLAN 10)、財務(VLAN 20)、服務器(VLAN 100)。! 在核心和接入交換機上均需創建VLANVLAN信息通常通過VTP或手動同步這里采用手動創建確保一致 Core-SW(config)# vlan 10 Core-SW(config-vlan)# name RD Core-SW(config-vlan)# exit Core-SW(config)# vlan 20 Core-SW(config-vlan)# name Finance Core-SW(config-vlan)# exit Core-SW(config)# vlan 100 Core-SW(config-vlan)# name Servers Core-SW(config-vlan)# exit ! 在接入交換機上配置連接終端的接口為Access模式 Access-SW(config)# interface gigabitEthernet 0/1 Access-SW(config-if)# description To-PC-RD Access-SW(config-if)# switchport mode access ! 端口模式設為接入 Access-SW(config-if)# switchport access vlan 10 ! 將端口劃入VLAN 10 Access-SW(config-if)# spanning-tree portfast ! 啟用PortFast加速終端接入 Access-SW(config-if)# no shutdown Access-SW(config-if)# exit ! 配置連接財務部門PC的端口 Access-SW(config)# interface gigabitEthernet 0/2 Access-SW(config-if)# description To-PC-Finance Access-SW(config-if)# switchport mode access Access-SW(config-if)# switchport access vlan 20 Access-SW(config-if)# spanning-tree portfast Access-SW(config-if)# no shutdown Access-SW(config-if)# exit3.3 配置Trunk鏈路與核心層路由現在配置接入交換機與核心交換機之間的互聯鏈路為Trunk。! 在接入交換機上配置上聯口為Trunk Access-SW(config)# interface gigabitEthernet 0/24 ! 假設使用24口上聯 Access-SW(config-if)# description Uplink-to-Core-SW Access-SW(config-if)# switchport mode trunk ! 端口模式設為干道 Access-SW(config-if)# switchport trunk native vlan 99 ! 設置本征VLAN為管理VLAN Access-SW(config-if)# switchport trunk allowed vlan 10,20,100,99 ! 只允許必要的VLAN通過 Access-SW(config-if)# no shutdown Access-SW(config-if)# exit ! 在核心交換機上配置對應的下聯口為Trunk Core-SW(config)# interface gigabitEthernet 0/1 Core-SW(config-if)# description Downlink-to-Access-SW Core-SW(config-if)# switchport mode trunk Core-SW(config-if)# switchport trunk native vlan 99 Core-SW(config-if)# switchport trunk allowed vlan 10,20,100,99 Core-SW(config-if)# no shutdown Core-SW(config-if)# exit最關鍵的一步在核心交換機上配置SVI接口實現VLAN間路由。! 在核心交換機上為每個VLAN創建SVI并配置網關IP Core-SW(config)# interface vlan 10 Core-SW(config-if)# description Gateway-for-RD Core-SW(config-if)# ip address 192.168.10.1 255.255.255.0 Core-SW(config-if)# no shutdown Core-SW(config-if)# exit Core-SW(config)# interface vlan 20 Core-SW(config-if)# description Gateway-for-Finance Core-SW(config-if)# ip address 192.168.20.1 255.255.255.0 Core-SW(config-if)# no shutdown Core-SW(config-if)# exit Core-SW(config)# interface vlan 100 Core-SW(config-if)# description Gateway-for-Servers Core-SW(config-if)# ip address 192.168.100.1 255.255.255.0 Core-SW(config-if)# no shutdown Core-SW(config-if)# exit ! 啟用IP路由功能如果默認未開啟 Core-SW(config)# ip routing至此一個最基本的兩層網絡就搭建完成了。連接到VLAN 10的PC網關設為192.168.10.1已經可以和VLAN 20的PC網關192.168.20.1通信所有路由轉發都在核心交換機內部高速完成。3.4 高級優化與安全加固基礎連通性實現后我們需要考慮優化和安全性這才是體現網絡工程師價值的地方。生成樹協議優化為了防止環路但又不想經歷50秒的阻塞延遲我們快速配置RSTP。Core-SW(config)# spanning-tree mode rapid-pvst ! 啟用快速生成樹 Core-SW(config)# spanning-tree vlan 1,10,20,100 root primary ! 指定本機為根橋 Access-SW(config)# spanning-tree mode rapid-pvst Access-SW(config)# spanning-tree vlan 1,10,20,100 root secondary ! 指定本機為備份根橋將核心交換機設為主根橋可以確保流量路徑最優。DHCP服務配置為了便于管理可以在核心交換機上為VLAN 10和20配置DHCP服務。Core-SW(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10 ! 排除前10個地址 Core-SW(config)# ip dhcp excluded-address 192.168.20.1 192.168.20.10 Core-SW(config)# ip dhcp pool VLAN10_POOL Core-SW(dhcp-config)# network 192.168.10.0 255.255.255.0 Core-SW(dhcp-config)# default-router 192.168.10.1 Core-SW(dhcp-config)# dns-server 8.8.8.8 114.114.114.114 Core-SW(dhcp-config)# exit ! 類似配置VLAN20的DHCP池基礎安全策略端口安全在接入層交換機的接入端口上限制學習的MAC地址數量防止MAC泛洪攻擊。Access-SW(config)# interface gigabitEthernet 0/1 Access-SW(config-if)# switchport port-security maximum 2 ! 最多學習2個MAC Access-SW(config-if)# switchport port-security violation restrict ! 違規時限制并告警 Access-SW(config-if)# switchport port-security mac-address sticky ! 動態學習并粘滯ACL訪問控制在核心交換機上通過擴展ACL限制財務VLAN20訪問服務器VLAN100的特定端口如僅允許訪問HTTP/HTTPS。Core-SW(config)# ip access-list extended FINANCE-TO-SERVER Core-SW(config-ext-nacl)# permit tcp 192.168.20.0 0.0.0.255 192.168.100.0 0.0.0.255 eq 80 Core-SW(config-ext-nacl)# permit tcp 192.168.20.0 0.0.0.255 192.168.100.0 0.0.0.255 eq 443 Core-SW(config-ext-nacl)# deny ip any any log ! 拒絕其他所有并記錄日志 Core-SW(config-ext-nacl)# exit Core-SW(config)# interface vlan 20 Core-SW(config-if)# ip access-group FINANCE-TO-SERVER in ! 在VLAN20的SVI入口應用ACL4. 排錯實錄與核心問題排查指南網絡配通了不代表就高枕無憂了更多的時候是在和各種各樣的“不通”作斗爭。下面是我在搭建和運維這類網絡時總結出的高頻問題排查清單你可以像查字典一樣按順序排查。4.1 連通性故障排查流程當出現“電腦上不了網”或“A部門訪問不了B部門服務器”時別慌按照OSI模型從下往上排查物理層Layer 1癥狀端口指示燈不亮、閃爍異常。排查檢查網線是否插緊、是否損壞換根線試試、光模塊是否匹配且發光正常用光功率計、交換機端口是否被shutdown。心得至少50%的“詭異問題”是物理層故障。備一個簡易測線器和備用線纜能節省大量時間。數據鏈路層Layer 2癥狀同VLAN內不通或獲取不到IP地址。排查VLAN匹配在接入交換機上使用show interfaces gigabitEthernet 0/1 switchport確認終端連接的端口模式是access且所屬VLAN正確。在Trunk鏈路兩端使用show interfaces trunk確認允許的VLAN列表一致且本征VLAN相同。生成樹阻塞使用show spanning-tree interface gigabitEthernet 0/24查看端口狀態。如果顯示BLK阻塞說明存在環路或根橋配置不當。檢查RSTP配置確保核心交換機是根橋。MAC地址表使用show mac address-table interface gigabitEthernet 0/1查看該端口是否學習到了終端設備的MAC地址。如果沒學到可能是端口安全阻止或終端網卡故障。網絡層Layer 3癥狀跨VLAN不通或無法訪問外網。排查IP配置確認終端IP地址、子網掩碼、網關配置正確。網關地址必須是核心交換機上對應VLAN的SVI地址。路由表在核心交換機上使用show ip route確認到各個VLAN直連網段標記為C的路由都存在。SVI狀態使用show ip interface brief確認所有VLAN的SVI接口狀態都是up/up。如果協議狀態down通常是因為該VLAN在交換機上沒有活動的access端口或trunk端口。ACL攔截使用show access-lists查看配置的ACL是否有命中計數matches并使用show logging查看是否有被拒絕的日志確認是否是安全策略阻止了通信。4.2 典型問題場景與解決方案問題現象可能原因排查命令與解決方案PC獲取不到IP地址1. DHCP服務器未配置或故障。2. 中繼DHCP Relay未配置或錯誤。3. 端口VLAN與DHCP地址池不匹配。4. 防火墻攔截了DHCP報文。1.show ip dhcp pool查看狀態debug ip dhcp server packet謹慎使用查看報文。2. 若DHCP服務器在別的網段需在SVI接口下配置ip helper-address。3. 確認PC所在VLAN的網關接口與DHCP地址池網絡匹配。4. 檢查ACL或防火墻規則是否允許UDP 67/68端口??鏥LAN Ping不通1. 核心交換機未啟用ip routing。2. 對端VLAN的SVI接口shutdown。3. 存在ACL禁止了ICMP協議。4. 終端防火墻如Windows防火墻阻止。1. show runTrunk鏈路不通1. 兩端端口模式不匹配一端trunk一端access。2. 兩端允許的VLAN列表不一致。3. 本征VLAN不匹配。1.show interfaces gig x/x switchport查看模式。2.show interfaces trunk對比Vlans allowed。3. 確保兩端Native VLAN相同通常建議設為不用的VLAN ID。網絡時斷時續1. 物理鏈路不穩定劣質網線、光衰過大。2. 網絡中存在環路生成樹在頻繁收斂。3. ARP表不穩定或存在ARP欺騙。1. 查看端口錯誤計數show interfaces gig x/x看input/output errors。2.show spanning-tree detail查看拓撲變化計數topology changes是否激增。3. 在PC和交換機上查看ARP表使用arp -a或show arp看MAC地址是否頻繁變化。4.3 配置備份與版本管理心得網絡配置變更后備份是救命的稻草。我強烈建議養成以下習慣定期備份使用腳本通過SSH或TFTP自動備份所有設備的配置文件到專用服務器。變更前備份每次進行可能影響業務的變更前手動執行一次備份并備注變更原因。使用版本控制將配置文件納入Git等版本控制系統。這樣不僅能回溯歷史還能清晰對比每次的變更點。你可以寫一個簡單的Python腳本用Paramiko庫登錄設備執行show run將輸出保存并git commit。一個簡單的思路是將網絡配置像代碼一樣管理起來這是走向自動化運維和“基礎設施即代碼”的第一步。當網絡規模變大后你會感謝自己當初這個決定。