ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

VLAN组网实验详解:从交换机配置到路由器子接口实战

VLAN组网实验详解:从交换机配置到路由器子接口实战 做网络实验的时候最怕的不是设备不会用而是“感觉自己配得都对但数据就是不通”。路由器交换与配置综合实验一内网配置就是一个非常典型、也非常容易在这种困惑里翻车的实验。它的目标其实很直白在一台路由器和两台交换机组网的小型内网里完成VLAN划分、交换机级联、路由器子接口配置最终让不同VLAN的PC在同一个内网中能正常互通。这篇文章是我在模拟网络环境里完整跑完这个实验后的复盘记录。我会把从拓扑设计、IP规划到交换机配置、路由器子接口配置再到连通性验证和排错的全过程写出来。如果你正在做网络课程实验、准备实操考核或者刚开始接触企业内网搭建这篇内容可以省掉你大量查资料的时间。下面开始每一步都可以直接照着操作也可以替换成你自己的IP段和设备编号。1. 实验场景与网络拓扑设计1.1 先搞清楚内网配置要解决什么问题很多人在做这个实验时一上来就开始敲命令结果敲了一半发现网段、VLAN、端口全对不上又回头重新看拓扑。这个实验最核心的逻辑不是“把设备配置到能亮灯”而是搞清楚内网里广播域和三层转发的关系。先看需求。假设某个小型公司要搭建内部网络里面有研发部和财务部两个部门。这两个部门不能直接处在同一个广播域里否则部门之间的广播流量互相干扰也没有任何访问控制边界。所以常规做法是划分VLAN研发部放在VLAN 10财务部放在VLAN 20。但VLAN一划分问题也跟着来了二层交换机天然不能跨VLAN转发数据同一个VLAN内的PC能互访不同VLAN的PC之间却互相看不到。要让它们能通信就必须引入三层设备也就是路由器。换句话说这个实验的本质是先用VLAN把内网切成多个隔离的二层广播域再用路由器把这些广播域在逻辑上重新连通。整个过程必须按“先二层、后三层”的思路推进先让交换机侧把VLAN和Trunk理清楚再让路由器侧终结VLAN、提供网关最终整张内网才能转起来。1.2 拓扑接线与设备选型思路实验环境中不必追求花哨的机型关键是把角色分清楚。我用了一台路由器、两台交换机、四台PC下面按“三层核心、二层接入、终端接入”三个层级来规划。连接关系如下┌──────────┐ │ R1 │ └────┬─────────┘ │ GE0/0/0Trunk │ ┌───────┴────────┐ │ SW1 │ └──┬───┬───┬────┘ │ │ │ PC1 PC2 │ GE0/0/4Trunk 级联 │ ┌───────┴──────┐ │ SW2 │ └──┬───┬───────┘ │ │ PC3 PC4具体接线方式为R1的GE0/0/0连接SW1的GE0/0/24SW1的GE0/0/1连接PC1GE0/0/2连接PC2GE0/0/4连接SW2的GE0/0/24SW2的GE0/0/1连接PC3GE0/0/2连接PC4。为什么要用两台交换机而不是一台这个设计不是多此一举。如果只有一台交换机VLAN和Trunk的验证范围只局限在单设备内很多人在真实项目里遇到的“交换机级联后数据不通”的问题根本暴露不出来。加一台交换机之后PC1到PC3要跨交换机通信PC2到PC4也要跨交换机通信Trunk链路是实验里很重要的一环必须练到。1.3 IP 与 VLAN 规划表把规划写清楚再动手是整个实验里最值的习惯。我按部门、网段、VLAN、网关、设备接口五个维度做了下面这张表部门网段VLAN网关接入交换机端口对应PC研发部192.168.10.0/24VLAN 10192.168.10.1SW1 GE0/0/1、SW2 GE0/0/1PC1、PC3财务部192.168.20.0/24VLAN 20192.168.20.1SW1 GE0/0/2、SW2 GE0/0/2PC2、PC4PC的IP地址分配如下终端IP地址子网掩码网关PC1192.168.10.10255.255.255.0192.168.10.1PC2192.168.10.20255.255.255.0192.168.10.1PC3192.168.20.10255.255.255.0192.168.20.1PC4192.168.20.20255.255.255.0192.168.20.1这里解释一下规划的思路内网地址选用192.168.0.0/16这个私有地址段不会与公网冲突适合实验每个部门单独用一段/24子网能容纳254台主机规模上完全够用网关统一取每个子网的第一个地址也就是.1这是业界约定俗成的习惯便于记忆和排查。VLAN号取10和20也只是为了让网段和VLAN之间有一个直观的对应关系实际项目中自然可以根据部门结构灵活调整。2. 交换机侧配置VLAN 划分与 Trunk 级联2.1 交换机基础初始化拿到一台交换机第一件事不是急着配VLAN而是把设备基础环境理干净。我建议按“改设备名、关日志提示、批量建VLAN”这个顺序来。下面以SW1为例整体配置流程如下Device system-view [Device] sysname SW1 [SW1] undo info-center enable [SW1] vlan batch 10 20 [SW1] quit这里每一句都有它存在的意义。sysname SW1是把设备重命名否则多台交换机同时开起来几个命令行窗口全是默认设备名你根本分不清自己在操作哪台设备。undo info-center enable用来关闭系统日志和告警信息弹出这个操作在实际调试时非常实用否则设备一旦有接口up、down或者协议状态变化信息就会不停打印在命令行界面上直接干扰输入。vlan batch 10 20则是一次性创建VLAN 10和VLAN 20不用进入VLAN视图一个个创建效率更高。SW2的初始化与SW1完全相同只需要把sysname换成SW2。所有设备建议都做同样的基础初始化这也是职业习惯一个连设备名都不改的网络工程师在真实项目里很难让人放心。2.2 把 PC 接入端口划分到对应 VLAN交换机上连接PC、打印机、服务器这类终端设备的端口通常配置为Access模式。Access端口的特点是只属于一个VLAN发出的帧不带802.1Q标签这正好符合终端设备“不感知VLAN标签”的特性。SW1的端口划分如下[SW1] interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1] port link-type access [SW1-GigabitEthernet0/0/1] port default vlan 10 [SW1-GigabitEthernet0/0/1] quit [SW1] interface GigabitEthernet 0/0/2 [SW1-GigabitEthernet0/0/2] port link-type access [SW1-GigabitEthernet0/0/2] port default vlan 20 [SW1-GigabitEthernet0/0/2] quitSW2也一样处理把GE0/0/1划入VLAN 10GE0/0/2划入VLAN 20。操作中有个细节必须注意在多数厂商交换机上第一步一定要先把端口链路类型改成access然后再设置default vlan。如果顺序反了部分设备会报错或者说端口当前是Hybrid类型不允许直接设置PVID。这一点是很多人第一次做实验被卡住的地方而且报错信息往往一闪而过很容易漏看。划分完成后用display vlan命令检查一下确认VLAN 10下已经有GE0/0/1VLAN 20下已经有GE0/0/2。这一步虽然简单但能避免后面连通性测试时返工。2.3 级联口与上联口的 Trunk 配置Trunk端口承担的是“交换机之间互联”和“交换机与路由器上联”的职责。Trunk链路与Access链路最大的区别在于Trunk链路上传输的帧会打上VLAN标签这样交换机收到一个帧时能立刻识别它属于哪个VLAN。SW1上有两个口需要配置Trunk。一个是连接路由器的GE0/0/24另一个是级联SW2的GE0/0/4。配置如下[SW1] interface GigabitEthernet 0/0/24 [SW1-GigabitEthernet0/0/24] port link-type trunk [SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 [SW1-GigabitEthernet0/0/24] quit [SW1] interface GigabitEthernet 0/0/4 [SW1-GigabitEthernet0/0/4] port link-type trunk [SW1-GigabitEthernet0/0/4] port trunk allow-pass vlan 10 20 [SW1-GigabitEthernet0/0/4] quitSW2上连接SW1的GE0/0/24也做同样配置[SW2] interface GigabitEthernet 0/0/24 [SW2-GigabitEthernet0/0/24] port link-type trunk [SW2-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 [SW2-GigabitEthernet0/0/24] quitTrunk配置里有几个隐藏的坑。第一个是allow-pass vlan后面到底写哪些VLAN。很多教材会写成permit vlan all但这实际上是个容易埋雷的习惯。实验中明确只放行VLAN 10和20就够了都放行反而掩盖了真实项目里“VLAN放行不精确”的问题。第二个坑是两端Trunk的放行列表必须一致。SW1上GE0/0/4放行了VLAN 10和20SW2的GE0/0/24也必须放行同样的VLAN一旦某一端漏配跨交换机的VLAN通信就会中断。第三个坑是配置好Trunk之后最好用display port vlan命令确认一下端口类型、PVID和允许通过的VLAN列表而不是想当然认为命令输对了就万事大吉。3. 路由器侧配置子接口终结 VLAN 实现三层互通3.1 为什么需要路由器为什么选“单臂路由”交换机配置到目前为止只解决了“同一VLAN内的PC能互访”因为二层交换机的转发机制只认MAC地址和VLAN标签它没法在一个帧的目的地是另一个VLAN时把这个帧正确地转发出去。要让VLAN 10里的PC1去访问VLAN 20里的PC3就必须有一个三层设备来根据目标IP地址做路由决策这个设备通常就是路由器。但要路由器接进这个内网有一个设计问题要处理。交换机把PC分成了VLAN 10和VLAN 20路由器得有办法同时接触到这两个VLAN。最简单的思路是用两个物理接口分别接交换机的两个Access口一个进VLAN 10一个进VLAN 20相当于用两个“网口”各自带一个部门网关。这个方案在小型实验里可行但代价是占用了路由器的两个物理端口和交换机的两个上联口如果以后部门扩到五个甚至十个物理接口根本不够用。更合理的方案是“单臂路由”也就是子接口方式。让交换机的上联口配置成Trunk把VLAN 10和VLAN 20的帧都通过802.1Q标签标记后送到路由器的同一个物理接口上路由器在这个物理接口下创建多个逻辑子接口每个子接口负责终结一个VLAN、配置一个网关地址。物理接口只有一个逻辑接口却可以挂很多个这种设计更贴近真实企业网络中用三层设备做网关的做法。3.2 子接口配置全过程路由器侧的操作核心是子接口。这里需要逐条看因为有三条命令缺一不可。配置步骤如下Device system-view [Device] sysname R1 [R1] interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0] undo shutdown [R1-GigabitEthernet0/0/0] quit [R1] interface GigabitEthernet 0/0/0.10 [R1-GigabitEthernet0/0/0.10] dot1q termination vid 10 [R1-GigabitEthernet0/0/0.10] ip address 192.168.10.1 255.255.255.0 [R1-GigabitEthernet0/0/0.10] arp broadcast enable [R1-GigabitEthernet0/0/0.10] quit [R1] interface GigabitEthernet 0/0/0.20 [R1-GigabitEthernet0/0/0.20] dot1q termination vid 20 [R1-GigabitEthernet0/0/0.20] ip address 192.168.20.1 255.255.255.0 [R1-GigabitEthernet0/0/0.20] arp broadcast enable [R1-GigabitEthernet0/0/0.20] quitGE0/0/0.10的命名意思是“物理口GE0/0/0上的第10号逻辑子接口”编号可以随便写但建议和VLAN ID对应起来便于识别。dot1q termination vid 10的含义是告诉子接口只处理带有VLAN 10标签的帧这是子接口能够区分不同VLAN的关键。ip address命令则是给这个子接口配置IP地址同时也就定义了对应VLAN的网关地址。arp broadcast enable这条命令在实验环境中尤其重要。子接口默认不处理广播帧如果不开这个功能PC发出“谁是这个网段的网关”的ARP请求时路由器不会响应PC就会一直认为网关不可达表现出来就是“网关配了却ping不通”。很多新手配置单臂路由失败90%的问题就出在这里。三条命令的配置顺序不能乱。先要进入子接口视图再配置VLAN终结再配IP最后打开ARP广播处理。如果先配了IP再配置dot1q部分设备的配置不会报错但逻辑上显得很混乱排错时也不容易理清思路。3.3 检查路由表和接口状态子接口配置完之后不要急着去PC上ping先做静态检查。在R1上执行display ip routing-table这个时候路由表里应该出现两条直连路由192.168.10.0/24 Direct GE0/0/0.10 192.168.20.0/24 Direct GE0/0/0.20看到这两条条目说明路由器的两个子接口都已经配好IP并且处于up状态路由器已经知道自己连接了哪个网段。通过display current-configuration interface GigabitEthernet 0/0/0.20可以进一步确认dot1q termination vid和IP地址没有写错。这里还要检查一个容易被忽略的点物理接口GE0/0/0本身不能被配置IP地址。一旦物理口上配置了一个普通IP它的子接口可能不会正常工作逻辑上会造成干扰。所以在我的配置里只对物理接口执行undo shutdown将它激活然后直接把所有IP都放在子接口上。4. 终端配置与连通性测试4.1 PC 端 IP 和网关配置模拟器的图形界面里配置PC非常简单双击PC图标在网卡配置页填上IP地址、子网掩码和网关就行。关键是网关地址必须填对PC1和PC2属于VLAN 10网关填192.168.10.1PC3和PC4属于VLAN 20网关填192.168.20.1。判断一个主机是否需要走网关就看目标IP和本机IP是否在同一个网段。PC1要访问PC3目标IP是192.168.20.10和本机192.168.10.10不在一个网段所以PC1先把数据包发给网关192.168.10.1由路由器决定下一步往哪走。这个流程是整个实验的“题眼”不理解它后面测连通性的时候就会瞎猜。4.2 分层次做连通性测试配置完成后测试顺序很重要。我的习惯是由近到远逐层验证不要一上来就想着跨VLAN两通。第一步测试网关。PC1上ping 192.168.10.1如果能通说明PC到网关的二层链路和路由器的VLAN终结都是正常的。第二步测试同VLAN互通。PC1上ping 192.168.10.20也就是PC2。这两个PC都在VLAN 10数据包由SW1直接二层转发不经过路由器。通了说明交换机的Access端口划分正确。第三步测试跨VLAN互通。PC1上ping 192.168.20.10也就是PC3。注意PC3挂在SW2下面数据包要经过SW1到SW2的Trunk级联链路再从SW2的Access口出去最终到达PC3。这个测试通了说明交换机级联Trunk和路由器子接口三层转发都正确。第四步测试跨交换机跨VLAN用PC2去ping PC4也就是192.168.20.20。这一步把链路中的每一个环节都再压了一遍基本可以把内网的连通性完整覆盖。下面是完整的测试用例表测试对象执行命令预期结果PC1 → 网关ping 192.168.10.1通PC1 → PC2同VLAN同交换机ping 192.168.10.20通PC1 → PC3跨VLAN跨交换机ping 192.168.20.10通PC2 → PC4跨VLAN跨交换机ping 192.168.20.20通PC3 → PC1反向跨VLANping 192.168.10.10通测试时注意一个现象首次ping一个目标第一个包经常出现超时然后才通。这是正常现象因为第一次ping之前PC要先发送ARP请求解析目标或网关的MAC地址解析完成后ICMP包才能发出。如果看到“第一包超时、后续包全通”不要误以为配置有问题。4.3 观察 802.1Q 标签与 ARP 交互如果只满足于“能通就行”会错过这个实验最有价值的部分。我强烈建议在SW1与R1相连的链路上抓包观察一下模拟器一般自带抓包功能。在PC1上ping PC3然后在抓包里观察从PC1发出的帧到达R1之前在Trunk链路上会带有一个802.1Q标签标签里的VLAN ID应该是10R1响应的帧同样也带802.1Q标签。而在连PC1的Access口上抓包能看到帧是干净的没有802.1Q标签。这就是Access端口剥离标签、Trunk端口保留标签的直观证据。再看ARP交互跨VLAN通信的第一个包往往是ARP请求这个请求不是发给目标PC而是发给网关。观察ARP请求的目标MAC会发现它是PC1所在网段网关192.168.10.1的MAC请求帧的源MAC是PC1的MAC。真正到PC3的ICMP包是路由器通过子接口GE0/0/0.20重新封装后发出的源MAC已经换成了路由器的MAC。这个细节能帮你彻底理解“网关”在三层通信里的角色。5. 常见问题与排错实录5.1 子接口配了还是 ping 不通网关我见过太多人卡在这个问题上。拓扑、IP、VLAN看起来都对但PC ping网关就是不同。按经验优先查下面几个点。第一子接口状态。在路由器上用display ip interface brief查看GE0/0/0.10和GE0/0/0.20有没有处于up状态。如果子接口down可能是物理口没激活或者dot1q配置有问题。第二ARP是否响应。在R1上执行display arp看看有没有学习到PC1的IP和MAC映射。如果路由器的ARP表里能看到PC1说明PC发出的ARP请求已经到达路由器如果看不到问题大概率出在链路或交换机Trunk配置。第三检查常被遗忘的arp broadcast enable。如果子接口配置里漏了这条命令PC发ARP请求路由器收到后不会回应PC会一直显示“请求超时”。添加命令后立刻能通。第四检查交换机上连路由器的那个口是不是真的Trunk。如果这个口配成了Access那么只有一个VLAN的帧能到达路由器另一个VLAN的PC自然ping不通网关。5.2 同 VLAN 能通跨 VLAN 不通这个现象说明二层链路问题不大因为同一VLAN的包走的是交换机转发能通就表示Access口配置正确、级联链路正常。问题集中在三层。按以下顺序排查。先看R1路由表确认192.168.10.0/24和192.168.20.0/24两条直连路由都在。再看PC的网关配置PC1网关是不是192.168.10.1可别配成了192.168.20.1。还有一个很容易踩的坑子接口的dot1q termination vid和交换机上对应VLAN不匹配。比如交换机上PC1在VLAN 10路由器子接口却配了dot1q termination vid 20VLAN标签对不上路由器不认账数据包自然就丢了。5.3 两台交换机级联后“一边通一边不通”PC1和PC2都接在SW1上双方通信正常PC3接在SW2上PC1去ping PC3就是不通。这种“一侧通一侧不通”的现象十有八九是SW2的上联Trunk口放行VLAN没配全。很多人只配了SW1的GE0/0/4为Trunk忘了同步配置SW2的GE0/0/24或者SW2只放行了VLAN 10没放行VLAN 20。使用display port vlan命令查看SW2的GE0/0/24如果Trunk口显示的allowed VLAN列表里没有VLAN 20马上就能定位问题。记住一个原则两端Trunk的放行列表必须一致这不是可选项是必选项。5.4 常用排错命令速查表排错的时候与其一句一句猜不如把命令形成条件反射。下表是我做这类实验时最常用的一组合法检查命令场景检查命令关键看什么交换机VLAN划分display vlan端口是否在对应VLAN下Trunk放行检查display port vlan端口类型、允许通过的VLAN列表路由器接口状态display ip interface brief子接口是否up路由器路由表display ip routing-table两个VLAN网段是否有直连路由路由器ARP表display arp是否学习到各PC的MAC地址单接口配置回查display current-configuration interface GigabitEthernet 0/0/0.20dot1q termination、IP、arp broadcast是否齐全熟练用好这张表基本的二层三层链路问题十分钟内都能定位。6. 实验完成后的几点体会与后续延伸6.1 做这个实验最容易漏掉的三件事第一规划永远先行。我在完成实验后最大的体会是所有看起来“莫名其妙”的问题几乎都源于IP规划表和实际配置不一致。先画拓扑再列表格最后才进命令行这个顺序一旦养成习惯效率会高很多。第二子接口必须开arp broadcast enable。这是模拟器环境中单臂路由配置的最高频坑点。命令本身很简单但因为它不属于“地址配置”这个直观步骤很多初学者根本意识不到要配。这里也提醒一下不同版本的模拟器行为可能有差异但无论如何配上这行命令都不会错。第三配置完一定要保存。实验环境里很多人敲完命令就关了软件下次打开发现所有配置都没了。交换机、路由器都要执行save命令保存配置PC端的IP配置在模拟器里也要确认已经写入各PC的配置文件中。这个习惯带到真实设备上更是必须的。6.2 从这个实验到真实内网还差什么别看这个实验规模不大它已经把企业内网的核心链路摸了一遍。真实环境里可能还会在这个基础上增加DHCP服务让PC自动获取地址增加ACL限制研发部和财务部之间的互相访问增加VLAN间策略路由控制不同业务流量的走向或者把路由器替换成三层交换机用VLANIF方式来承担网关。这些扩展最终都建立在今天这个实验基础上——VLAN划分、Trunk透传、三层终结。只要这几个底层概念扎实后面学习其他网络技术就会顺很多。这个实验做完你再去理解“外网配置”或者“路由协议配置”时就不会再被内网底子拖后腿了。希望这份记录能让你少走一点我走过的弯路。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表