资讯详情

eNSP实战:两台交换机不同网段互通配置(VLANIF+Trunk)

📅 2026/10/20 5:27:47 | 华诺云谱 👁 阅读
eNSP实战:两台交换机不同网段互通配置(VLANIF+Trunk)
“两个交换机不同网段之间能不能互通到底该怎么配”这是我在eNSP里带新人做基础实验时被问得最多的问题没有之一。很多人其实已经会配VLAN了也能让同一个交换机下的两台电脑ping通但一旦换成两台交换机、两个不同的网段人就懵了到底要在哪台设备上配网关接口用access还是trunk为什么明明都配好了PC之间还是不通这篇博文就专门解决这个问题。我以eNSP里最经典的两台交换机拓扑为例从设计思路到完整配置命令再到数据包的转发细节把整条链路讲透适合刚学数通、正在备考或实习阶段需要动手练网络基础的朋友直接把实验配置拿来抄就行。1. 为什么不同网段的设备“天生”不通1.1 二层转发救不了跨网段通信先把基础认知摆清楚。交换机最主要的工作是二层转发也就是根据MAC地址表把数据帧从一个端口送到另一个端口。这里的关键在于二层转发根本不看IP地址它只看MAC地址。而不同网段之间的通信本质上是IP层的路由行为不是MAC层的桥接行为。举个例子假设PC1的IP是192.168.10.1/24PC2的IP是192.168.20.1/24两者直连到同一台二层交换机。PC1想给PC2发数据时先用自己的IP和子网掩码做一次“与运算”得出目标地址192.168.20.1不在自己所在的192.168.10.0/24网段内于是它判断这个目标我直接够不着必须交给网关去转发。这个判断机制是TCP/IP协议栈的底层逻辑任何操作系统都一样。问题来了——如果二层交换机上压根没有配置网关接口PC1的ARP请求“谁是网关192.168.10.x”根本没人应答。既然拿不到网关的MAC地址数据帧就封装不出来PC1只会一直显示“请求超时”。所以很多人第一步就错了他们以为只要把两台交换机的VLAN都建好、Trunk放行不同网段就能通。实际上二层交换机做得再完美也只是把一个广播域扩展到两台设备上跨IP网段的转发它管不了。这也是为什么二层交换机在VLAN间路由这个场景里永远只是配角。1.2 三层交换机的VLANIF就是你要的网关要解决跨网段通信核心思路是必须有一台三层设备分别持有两个网段的IP地址并且愿意为这两个网段之间做路由转发。在真实企业网络里承担这个角色的通常是核心交换机或路由器。在eNSP实验里最方便的做法就是用支持三层功能的三层交换机。三层交换机上有一个概念叫VLANIF全称是VLAN Interface也叫SVISwitch Virtual Interface。你可以把它理解成给某个VLAN虚拟出一个三层接口这个接口的IP地址就是该VLAN内所有PC的网关地址。举个例子。在SW1上建了VLAN10和VLAN20然后分别创建Vlanif10接口并配上192.168.10.254/24创建Vlanif20接口并配上192.168.20.254/24。此时SW1同时拥有两个网段的IP而且直连路由会自动出现在路由表中。当192.168.10.1的设备想把数据给192.168.20.1只要把帧交给网关192.168.10.254SW1收到后做一次IP路由查询发现目标网段是自己直连的VLAN20于是直接把包从Vlanif20对应的端口方向转发出去。整个过程对两台PC来说彼此透明。这个思路也解释了为什么同一个交换机上只要配好VLANIF不同VLAN的PC就能互通——因为这台交换机已经不再只是二层设备而是充当了“网关交换机”的合体。所以做这个实验前先建立这个认知框架不同网段的互通靠路由而路由的基础是有三层接口VLANIF就是三层接口在交换机上的具体形态。2. 实验拓扑与地址规划2.1 拓扑结构和设备选型这个实验的拓扑非常经典我建议直接在eNSP里拖两台S5700系列交换机再加两台PC。S5700在eNSP里默认支持VLANIF不需要额外授权的功能很适合做这个演示。先描述拓扑SW1作为核心网关设备承担三层路由SW2作为纯二层接入交换机负责透传VLAN。PC1接到SW1的G0/0/1属于VLAN10PC2接到SW2的G0/0/2属于VLAN20。SW1的G0/0/24和SW2的G0/0/24之间用一条链路互联这条链路必须配置成Trunk因为它要同时承载VLAN10和VLAN20的流量。这里有个设计细节PC1为什么接在SW1而不是也接到SW2下面在真实网络里网关设备通常放在汇聚层或核心层用户终端接入在接入层交换机上接入层交换机通过上联口连到核心设备。我们模拟的就是“核心接入”这种最典型的组网结构。如果你想完全对等两台交换机把PC1也接到SW2下面那SW2的G0/0/1也要划入VLAN10SW1的VLANIF配置不变实验一样能通原理完全相同。2.2 IP地址和VLAN规划表配置前先把规划表列清楚这是我在实际带教中反复强调的一点做网络实验先花五分钟画表和规划地址比打开命令行就噼里啪啦敲要可靠得多。好消息是VLANIF是三层接口本身不封装VLAN tag所以配置起来非常干净只要保证接口UP、IP地址正确、路由可达即可。规划如下设备/接口所属VLANIP地址/掩码角色PC1VLAN10192.168.10.1/24终端网关192.168.10.254PC2VLAN20192.168.20.1/24终端网关192.168.20.254SW1 Vlanif10VLAN10192.168.10.254/24VLAN10网关SW1 Vlanif20VLAN20192.168.20.254/24VLAN20网关SW1 G0/0/1VLAN10Access口接PC1划入VLAN10SW2 G0/0/2VLAN20Access口接PC2划入VLAN20SW1 G0/0/24Trunk放行VLAN10、20互联上联口SW2 G0/0/24Trunk放行VLAN10、20互联上联口注意PC的网关地址必须和所在VLAN的VLANIF地址一致。PC1配的网关是192.168.10.254它要对应Vlanif10PC2配的是192.168.20.254对应Vlanif20。这里一旦填错比如PC2网关误填成192.168.10.254数据就会发给错误的网关即便路由表是正确的也会出现“ping网关都通ping另一网段不通”的典型故障。3. 交换机完整配置命令与逐条解析3.1 SW1配置VLAN、接口划分与VLANIFSW1是本实验的核心配置分三步建VLAN、划接口、配VLANIF三层的地址。我直接给出完整命令然后逐条解释system-view sysname SW1 vlan batch 10 20 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 quit interface Vlanif10 ip address 192.168.10.254 255.255.255.0 quit interface Vlanif20 ip address 192.168.20.254 255.255.255.0 quit quit save第一行system-view进入系统视图这个没啥好说的。接着vlan batch 10 20是一次性创建两个VLAN省得一条条敲。然后进入G0/0/1配置成access口默认VLAN设为10。这里注意一点eNSP的S5700接口默认类型是Hybrid不是access。Hybrid也能实现VLAN划分但对新手来说判断起来容易乱所以我建议直接显式改成access。改完后这个端口收到的无标签帧会被打上VLAN10的标签同时只允许VLAN10的帧进出。在G0/0/24上我们把链路类型改成trunk然后放行VLAN10和20。trunk口是干嘛的它负责在交换机之间传递多个VLAN的流量。access口只属于一个VLAN而trunk口是“管道”管道里同时流着多个VLAN的带着标签的数据帧。两台交换机互联的口必须配置成trunk而且两端放行的VLAN列表要一致否则一边放行了VLAN20另一边没放行数据帧就会被PVID过滤规则悄悄丢掉。最后是VLANIF接口。interface Vlanif10这条命令会创建Vlanif10这个三层接口配上192.168.10.254/24后VLAN10的网关就生效了。VLANIF能不能UP取决于该VLAN内是否存在状态为UP的物理端口。因为G0/0/1已经划入VLAN10所以Vlanif10会随之UP。同理VLAN20的VLANIF依赖G0/0/24这条trunk——trunk放行了VLAN20实际上也把VLAN20这个广播域通过物理链路延伸出去了只要对端有UP的端口属于VLAN20Vlanif20也能UP。3.2 SW2配置纯二层透传与Trunk互联SW2的配置更简单它不需要任何三层接口它的任务只有一个把PC2所在的VLAN20流量从接入端口原封不动地送到上联的SW1。完整命令如下system-view sysname SW2 vlan batch 10 20 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 quit quit save有人可能会问SW2为什么还要创建VLAN10因为SW2的G0/0/24是trunk口放行了VLAN10和20而trunk口要求VLAN在本地存在否则系统会提示VLAN不存在导致无法放行。所以即使SW2下面没有任何VLAN10的设备为了链路上能透传VLAN10也得先把VLAN10建出来。这个细节很多人会漏。这里还可以讨论一个进阶问题PC2的流量到了SW2SW2怎么知道该从哪个口转发其实和普通二层转发一样。PC2发出帧时目标MAC是网关192.168.20.254的MAC也就是SW1上Vlanif20的MAC。SW2的MAC地址表里这个MAC对应的出接口只能是G0/0/24——因为VLAN20的MAC地址只有SW1有SW2通过trunk口学习到它。所以整个二层的路径非常清晰PC2 - SW2 G0/0/2 - SW2 G0/0/24 - SW1 G0/0/24。3.3 PC机的IP与网关配置PC配置看起来简单却是整个实验最容易被忽视的一环。打开eNSP里的PC1在IPv4配置里填上IP地址192.168.10.1子网掩码255.255.255.0网关192.168.10.254PC2填IP地址192.168.20.1子网掩码255.255.255.0网关192.168.20.254注意网关一定不能漏也一定不能填错。前面已经说过PC判断目标是否同网段后如果不同网段就必须把包交给网关。如果网关这一栏空着PC会发现“我不知道该把包交给谁”于是直接丢弃。这种现象在命令行里表现为ping目标地址时系统提示“Destination Host Unreachable”既不显示超时也不显示无法连接而是瞬间返回不可达。4. 验证与数据包的完整走向4.1 用display命令核对配置配置完成后先别急着ping先看看设备状态。我习惯依次执行这些命令display vlan display ip interface brief display interface trunk display ip routing-table在SW1上执行display ip interface brief你会看到Vlanif10和Vlanif20都处于UP状态IP地址分别是192.168.10.254和192.168.20.254。如果某个VLANIF显示DOWN说明该VLAN下没有UP的物理端口问题大概率出在接口VLAN划分上。再查看display ip routing-table注意看是否有两条直连路由192.168.10.0/24和192.168.20.0/24。这两条路由是VLANIF接口配置完IP后自动产生的不需要手动添加。它们的存在意味着SW1知道两个网段都连着它自己所以能直接转发。4.2 ping通的数据包路径还原现在从PC1执行ping 192.168.20.1很多人关心这一路数据到底是怎么被处理过来的。我把它拆成五步第一步PC1发现192.168.20.1不在自己的直连网段内于是目标IP锁定为网关192.168.10.254。但这时候PC1还不知道网关的MAC地址所以要发一个ARP广播请求谁是192.168.10.254请告诉我你的MAC。这个广播帧在VLAN10内部传播最终SW1的Vlanif10接口回应了自己的MAC地址。第二步PC1拿到了网关的MAC后构造一个数据帧源MAC是PC1的MAC目的MAC是网关的MAC源IP是192.168.10.1目的IP是192.168.20.1VLAN标签是10。这个帧从PC1的网卡发出进入SW1的G0/0/1。第三步SW1收到这个帧后一开始在二层查表目的MAC是自己Vlanif10的MAC所以不上送转发引擎做二层交换而是交给IP层处理。IP层查看目的IP 192.168.20.1查路由表发现有直连路由192.168.20.0/24出接口是Vlanif20。第四步SW1要做一次关键的“重写”动作。它知道要往Vlanif20转发于是把帧的目的MAC改成PC2的MAC。问题是SW1不知道PC2的MAC所以它先在VLAN20内发一个ARP广播谁是192.168.20.1请告诉你的MAC。PC2收到后响应自己的MAC。第五步SW1拿到PC2的MAC后重新封装数据帧源MAC改成Vlanif20的MAC目的MAC改成PC2的MACVLAN标签也变成20然后从Vlanif20对应的二层域转出去——也就是通过G0/0/24 trunk口把不带标签或带VLAN20标签的帧发给SW2SW2收到后根据MAC地址表把帧从G0/0/2送给PC2。PC2收到这个帧后发现目的MAC是自己目的IP也是自己于是往上交给ICMP协议处理然后生成一个回包。回包的路径和上面完全对称只是方向和MAC地址对调。4.3 为什么第一次ping通常会丢包很多新手做完实验后会发现第一次ping的时候第一个包经常超时后面几个包才通。于是慌得不行以为是配置出错。其实这个现象非常正常。原因很简单——ARP表是空的。从上面的过程你能看到在PC1真正能发出ICMP包之前必须先完成PC1到网关的ARP解析而在SW1把包转发给PC2之前也要先完成SW1到PC2的ARP解析。这两个ARP解析过程是需要时间的尤其是交换机在接收第一个ICMP包的同时才去发起对PC2的ARP请求这个过程中第一个ICMP包实际上是在交换机内部等待的。所以在验证连通性的时候我的建议是ping的时候直接打5个包或者看到第一个超时不要慌继续等待后续包的结果。只要后面的包能通就说明配置没问题。如果所有包都超时那才是真有问题需要进入下一步排错。5. 常见问题与排查技巧5.1 五类高频故障速查表我在这个实验上见过太多人踩坑几乎都是以下五类问题。直接整理成一个表格方便你对照排查。故障现象常见原因排查命令/方法PC1 ping不通网关VLANIF未配置或配置错误接入端口VLAN划错display ip interface brief 查看Vlanif是否UPPC1能ping通网关但ping不通PC2SW1没有Vlanif20trunk未放行VLAN20PC2网关配置错误display ip routing-table 查看有无192.168.20.0/24路由接口显示DOWN端口未激活或该VLAN下无UP物理口display vlan 查看VLAN内端口undo shutdown第一次ping丢包后续通ARP首次解析正常现象多ping几次确认即可两台交换机之间通信异常两端trunk配置不一致PVID问题display interface trunk 对比两端allow-pass vlan5.2 最有用的三条排查命令排错时不要瞎猜按“先看接口、再看VLAN、最后看路由”的顺序来。第一display ip interface brief。这条命令优先执行它能快速告诉你Vlanif10和Vlanif20的IP配置是否生效、接口是否UP。如果VLANIF是DOWN那不管下面配得多花哨网段间永远不通。VLANIF DOWN的原因通常是该VLAN下没有状态为UP的物理口或者物理口被shutdown了。第二display vlan。这条命令能显示每个VLAN里有哪些端口。你在SW1上执行它应该能看到VLAN10包含G0/0/1VLAN20包含G0/0/24。如果VLAN20下面空空如也Vlanif20是不可能UP的。第三display ip routing-table。看到VLANIF的直连路由才能确认三层转发的前提成立。如果路由表里只有192.168.10.0/24而没有192.168.20.0/24说明Vlanif20根本没配上或者没UP。路由表是整个数据转发决策的地图没有地图包就不知道往哪去。5.3 一个很容易踩的隐蔽坑还有一个问题是新手特别容易踩的PC1能ping通PC2的网关但ping不通PC2。表面上看这个现象很匪夷所思——网关都通了路由也有怎么终端不通我排查过多次最后发现90%的原因是PC2的网关配置错了。最常见的情况是PC2的网关被填成了192.168.10.254或者干脆没填。这样PC2根本不知道怎么回包。你从PC1发过去的ICMP请求能到达PC2但PC2回包时发现自己不属于网关要求的网段直接把回包丢弃。于是PC1收到的永远只有请求超时。排查方法很朴素到PC2上执行ping 192.168.20.254如果连网关都不通说明PC2的网关或VLAN划分有问题如果网关通再检查PC2的IP掩码是否配置为255.255.255.0。这类问题最耗时间因为问题不在主链路而在回程路径。6. 进阶扩展与实验心得6.1 这个实验还能怎么扩展做通了基础实验可以沿两个方向加深。方向一把SW1的路由功能换成路由器。很多人学VLAN间路由时还会接触“单臂路由”方案也就是用一台路由器通过子接口封装802.1Q标签来分别处理不同VLAN的流量。这个方案在真实网络中已经很少用了因为路由器转发性能远不如三层交换机但它的思路和VLANIF完全一致——本质上都是为每个VLAN提供一个三层网关。理解了VLANIF再去看路由器的子接口配置会发现概念几乎是一模一样的子接口IP就是网关IPdot1q termination vid就是指定VLAN。方向二把VLANIF网关分布到两台设备上。在这个实验里我把两个网关都放在SW1上。如果想模拟更真实的分布式网关环境可以在SW2上也配置Vlanif20的IP地址然后在SW1和SW2之间运行路由协议让两台设备相互学习对方网段的路由。做完这一步你会发现路由表里多了条非直连路由跨设备的网段互通就需要真正的路由协议或静态路由来实现了。这是从二层接入向三层组网迈进的关键一步。6.2 我的一点实操体会最后分享几条我在反复带教和实际调试中积累的经验。第一eNSP里做完配置一定要save。模拟器不像真实设备关掉工程再打开没保存的配置全部丢失。很多人第二次打开工程发现设备配置全空然后怀疑是自己操作有问题其实只是没保存。第二多使用display current-configuration。抽查某台设备时这条命令能让你看清所有关键配置包括端口类型、VLAN划分、VLANIF地址。比自己一个个接口去翻高效得多。第三遇到问题不要反复改配置先想清楚“问题到底出在哪一跳”。从PC1到PC2中间经过网卡、接入端口、二层交换、三层路由、trunk链路、对端接入端口每一跳都有对应的display命令可以验证。把问题定位到某一段再针对性查看往往几分钟就能找到原因。这个实验虽然基础但价值很高。它把VLAN、Trunk、三层网关、路由转发这几个数通核心知识点串成了一条完整的链路。把这条链路吃透了后续学OSPF也好、学VXLAN也好都会轻松很多。建议你亲手敲一遍配置再亲手排一遍错比自己看十遍文档都管用。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑