首页 / 资讯中心 / 文章详情

VLAN从原理到实战:802.1Q、Trunk配置与跨VLAN排错指南

VLAN从原理到实战:802.1Q、Trunk配置与跨VLAN排错指南 ★ FEATURED ARTICLE
做网络这行十年经手过不少办公网、园区网的割接和改造。说句实在话百分之八十的局域网问题根源都出在二层规划没做好。而二层规划里头最基础也最容易被轻视的恰恰就是虚拟局域网VLAN技术。很多人以为VLAN就是在交换机上划几个接口、配个access口的事可真到了生产环境里广播风暴、部门隔离、跨VLAN通信、Trunk放通每一个环节都够喝一壶的。这篇文章不是概念复述而是基于我实际做过的项目经验把VLAN背后的802.1Q原理、端口机制、划分方式、跨VLAN路由、故障排错和安全加固从头到尾掰开讲透。不管你是刚接触网络的学生还是正在维护公司网络的IT运维都能从里面找到能直接落地的东西。1. 传统二层网络的三个死穴为什么非要拆广播域1.1 广播风暴当几百台设备在同一个大房间里喊话想象一下一个没划分VLAN的交换机网络所有端口都处在同一个广播域里。ARP请求、DHCP发现、NetBIOS名称通告这些协议都依赖广播才能工作。设备数量少的时候还好几十台机器互相喊话不算什么。但一旦设备规模上了三百、五百台广播帧就开始指数级膨胀。我之前处理过某公司办公楼的网络故障整栋楼三个楼层、四百多台终端全部挂在同一台核心交换机下二层完全互通。症状非常典型上午十点一过全网终端开始卡顿打开共享文件夹要转十几秒甚至打印任务都会超时。登到核心交换机上一看CPU占用率长时间在80%以上广播报文速率飙到每秒几千个。查到最后是某台电脑的网卡驱动异常持续向外发送大量广播帧。因为没有VLAN隔离这台坏掉的设备相当于在整栋楼里拿喇叭喊了一天谁也干不了活。这就是广播域过大的典型后果。VLAN的核心价值之一就是通过逻辑隔离把广播域切小。在同一个交换机上划分出不同VLAN后广播帧只能在各自的VLAN内部传播不会再跨到别的VLAN。这就像把一个大开间隔成几个独立办公室每个人说话只有自己屋里听得见整层的噪声立刻降下来。1.2 安全边界二层互通意味着大门敞开有人可能会说我网络里都是内部员工二层互通有什么关系关系非常大。二层互通意味着同一网段内的任意两台机器可以直接发起ARP欺骗、DHCP欺骗可以直接探测并访问对方开放的共享目录。一旦某台终端中了勒索病毒或木马横向扩散不需要绕过任何边界因为整个二层网络都是平的。我接过一个教育行业的项目某学校的机房和办公区原先在一个大二层里。机房的学生机经常U盘插来插去病毒屡清不绝。后来病毒顺着二层网络直接感染了办公区的教师电脑IT部门忙了一整周才处理干净。后面重新做VLAN规划机房单独划一个VLAN办公区按部门拆成好几个VLAN各VLAN之间默认禁止互访需要通信的再单独放通。从那以后安全事件的发生频率直线下降。这里要特别提醒VLAN本身不是防火墙但它是安全域划分的基础。把广播域拆开之后你在防火墙上、在核心交换机上做的访问控制才有意义。如果所有设备都在一个二层广播域里任何三层过滤都拦不住二层直连的攻击路径。1.3 管理灵活性逻辑位置和物理位置彻底解耦没有VLAN的网络改造有多痛苦经历过的人才知道。财务部要从二楼搬到三楼网络管理员得重新拉网线、改交换机端口规划市场部临时多来一批实习生座位分散在不同区域网络就得跟着物理走线切割。有了VLAN之后网络归属不再绑定物理位置。交换机端口唯一要做的就是把某个接口划进对应VLAN无论这个工位上坐的是财务还是行政逻辑上它都属于该部门的网络。人员调整、部门搬迁管理员只需在交换机上改一条配置全程不需要动一根网线。这个逻辑解耦还有一个额外的好处IP地址规划可以变得很整洁。每个VLAN对应一个网段DHCP按VLAN分配地址整个网络的寻址层次一目了然。后面再做ACL策略、做流量监控、做日志审计都基于VLAN这个维度去管理会比一条条对IP高效得多。2. 802.1Q的底层逻辑看懂这个4字节就懂了一半VLAN2.1 以太网帧里的快递分拣码VLAN要实现隔离就必须要让交换机知道这个帧属于哪个VLAN。这个问题在单台交换机上容易解决——端口划到哪个VLAN从该端口进来的帧就属于哪个VLAN。但交换机之间互联时帧从一个交换机转发到另一个交换机接收方怎么知道这个帧属于哪个VLAN答案就是802.1Q标准定义的VLAN Tag。802.1Q在标准以太网帧的源MAC地址和类型字段之间插入了4字节的Tag。这4字节分成两部分前两字节是TPID固定为0x8100表示这是一个携带802.1Q标签的帧后两字节是TCI里面包含3位优先级PCP、1位丢弃指示DEI以及最重要的12位VLAN IDVID。你可以把这个Tag理解成快递包裹上的分拣码标签。包裹本身不变但中转场的传送带会根据这个标签自动把包裹送到对应格口。交换机的转发逻辑同理收到带Tag的帧看VID是多少就知道该从哪些端口送出去。需要特别注意的是插入Tag之后帧尾部的FCS校验值必须重新计算因为帧的内容变了。这也是为什么交换机在插入或剥离Tag时硬件上要做额外的计算处理不能简单加塞就完事。2.2 VID范围与VLAN保留号的真实含义12位的VID理论上能表示0到4095共4096个编号但实际可用的VLAN远没有这么多。其中VID 0用于表示只携带优先级信息、不关联VLAN的帧VID 4095被标准保留不允许使用。真正可以用来创建VLAN的编号范围是1到4094。这里面还有个容易踩的细节VLAN 1默认存在所有端口初始都在VLAN 1里而且这个VLAN通常不允许被删除。很多网络管理员喜欢把所有用户流量都放在VLAN 1里图省事这是个大忌。VLAN 1是很多控制协议比如Cisco的CDP、部分生成树BPDU的默认载体也是最常被攻击者盯上的目标。后续在安全加固部分我会专门展开。另外老思科设备上还保留了VLAN 1002到1005给FDDI和Token Ring用虽然现在几乎见不到了但在一些老设备上创建VLAN时可能会碰到编号被保留的提示。新设备基本没有这个问题了。12位VID带来的4094个可用VLAN对绝大多数企业网络绰绰有余。真正需要担心的是跨多个机房、多个区域的大型网络每个区域单独规划VLAN编号很容易出现编号冲突。所以大一点的网络都会制定全局VLAN编号规范比如VLAN 10-50留给办公区VLAN 100-150留给服务器区避免各区域各搞一套。2.3 Access和Trunk两种端口的贴标与撕标机制交换机端口对VLAN Tag的处理方式分为Access和Trunk两种模式理解它们的差异是配置VLAN的基础。Access端口通常用来连接终端设备比如电脑、打印机、摄像头。一台终端不需要理解VLAN Tag它发出的帧就是普通以太网帧。Access端口收到这种无标签帧后会打上端口的PVID默认VLAN ID对应的Tag然后送到交换机内部去转发反过来当交换机要把某个VLAN的帧从Access端口送出去时会剥掉VLAN Tag还原成普通帧再发给终端。Trunk端口则不同它主要用于交换机之间的互联。Trunk端口可以同时承载多个VLAN的流量转发时保留帧里的VLAN Tag这样对端交换机才能识别帧属于哪个VLAN。这里有一个Trunk端口最经典的大坑——Native VLAN本征VLAN。在802.1Q标准里Trunk端口有一个本征VLAN的概念这个VLAN的帧在Trunk链路上传输时不带Tag。默认情况下本征VLAN是VLAN 1。如果链路两端的交换机本征VLAN配置不一致对端交换机收到一个无Tag的帧会按照自己端口的PVID去归类导致流量串到错误的VLAN里排查起来极其隐蔽。举个我实际遇到的例子。某次两个机房做链路扩容A交换机的Trunk端口保持默认本征VLAN 1B交换机的Trunk端口本征VLAN被改成了VLAN 10。链路一接上VLAN 10的流量看起来是通的但VLAN 1的终端之间互相ping不通查了很久才发现是两边本征VLAN不一致。后来我养成了习惯所有Trunk端口一律手动把本征VLAN改成非用户VLAN比如VLAN 999并且两端保持一致从根上杜绝这种串VLAN的问题。3. VLAN划分方式的选型端口、MAC、子网还是策略3.1 基于端口划分最主流也最省心的方案基于端口划分VLAN就是把交换机的某个物理端口静态指定到某个VLAN里。这是目前最普遍、最稳定的做法也是我日常运维里默认采取的方式。它的优点非常明显配置直观、行为可预测、故障定位容易。你把打印机接到接入交换机的第5个口第5个口属于VLAN 30那这台打印机就一定在VLAN 30里不存在设备自己声明身份的问题。排查问题的时候登录交换机看一眼端口配置就能立刻判断归属。缺点是管理成本随着端口数量上升。几百个端口要一个个划VLAN确实繁琐。不过现在主流交换机厂商都支持端口批量配置、模板化下发加上网络管理平台这个问题基本能缓解。对于大多数中小型网络我建议就用静态端口划分把基础打牢不要一开始就上花哨的动态方案。3.2 基于MAC地址适合工位不确定的场景基于MAC地址划分VLAN核心思路是让VLAN归属跟设备绑定而不是跟端口绑定。交换机维护一张MAC地址与VLAN的映射表设备无论插到哪个端口只要MAC匹配就自动归入对应VLAN。这种方式在配置好映射表后非常灵活。访客笔记本插到任何工位都能被识别到访客VLAN领导移动办公插哪儿都在办公VLAN里。但它的缺点同样明显第一需要额外的VMPS服务器VLAN Membership Policy Server来动态下发映射关系引入单点故障和性能瓶颈第二MAC地址是可以伪造的安全性并不比端口划分强多少第三运维人员需要提前维护MAC清单设备一换就得更新。我在实际项目里几乎不用纯粹的MAC VLAN只会在特定场景下配合使用比如会议室的多功能终端插哪个口都要进同一个VLAN。普通办公网老老实实划端口别给自己找麻烦。3.3 华为Hybrid口与其他划分方式的补充视角除了Access和Trunk华为交换机上还有一种Hybrid端口模式。Hybrid端口可以同时配置多个VLAN为Tagged保留标签和多个VLAN为Untagged剥掉标签灵活性比Trunk更强。Hybrid口的典型应用场景是灵活接入。比如服务器有两个网段的业务希望访问服务器管理口的流量走VLAN 100业务流量走VLAN 200同时服务器本身发出的管理流量不带Tag、业务流量带Tag这种复杂需求用Hybrid就能优雅实现而纯Trunk或纯Access都不太好办。基于IP子网划分VLAN、基于协议划分VLAN这些方案在现实中使用频率很低多用于特殊行业或老旧网络环境。比如某些IPv6试点网络会按IPv4和IPv6协议族把流量拆进不同VLAN。除非有明确需求和设备支持常规网络我依然推荐端口静态划分打底、MAC或策略划分做补充。顺带一提市场上还有一些交换机会把基于端口和基于MAC混合起来用美其名曰灵活VLAN。我的经验是这类动态特性在生产网络里一定要慎开。动态VLAN一旦和DHCP Snooping、端口安全等特性叠加交互逻辑会变得很复杂出现问题后定位难度成倍增加。4. VLAN间路由单臂路由、三层交换机与架构规划4.1 单臂路由一台路由器打通所有网段VLAN把广播域切开了但不同VLAN之间要通信就必须走三层路由。最经典的教学场景就是单臂路由Router-on-a-Stick。原理很简单路由器的一个物理接口分成多个逻辑子接口每个子接口封装802.1Q标签并绑定一个IP地址作为对应VLAN的网关。交换机端口用Trunk模式接到路由器的这个物理口带着所有VLAN Tag的流量都从这个口进出。路由器根据目标IP地址查路由表把流量从对应子接口转发出去再通过Trunk链路送回交换机。Cisco设备上的配置大致是这样interface GigabitEthernet0/0.10 encapsulation dot1Q 10 ip address 192.168.10.1 255.255.255.0 interface GigabitEthernet0/0.20 encapsulation dot1Q 20 ip address 192.168.20.1 255.255.255.0华为设备上的配置风格也差不多子接口封装VLAN时用dot1q termination vid。单臂路由的优点是省钱省设备一台路由器就能当多个网段的网关。缺点是所有跨VLAN流量都挤在一条物理链路和一个路由器CPU上带宽和转发性能都是瓶颈。实测下来中小规模网络两三百台终端跨VLAN流量不大可以跑规模一大就撑不住。所以这个方案我建议只用于学习实验和临时应急生产环境尽量别玩。4.2 三层交换机与SVI让网关走进硬件生产网络里更主流的做法是用三层交换机做VLAN间路由。三层交换机可以在内部创建VLANIF接口华为叫法或SVISwitch Virtual Interface思科叫法每个接口对应一个VLAN配置IP地址后就是该VLAN的网关。三层交换机的核心优势在于硬件转发。它内部有专用芯片ASIC来处理路由转发跨VLAN流量不再需要绕到外部路由器交换芯片直接根据路由表把帧从对应端口切出去。实测性能比单臂路由高几个数量级这也是园区网络核心层几乎都用三层交换机的根本原因。Cisco上的配置interface vlan 10 ip address 192.168.10.1 255.255.255.0华为上的配置interface Vlanif 10 ip address 192.168.10.1 255.255.255.0这里要注意三层交换机的每个VLANIF接口都要求该VLAN是真实存在的而且交换机内要有对应VLAN的端口处于Up状态接口才会起来。如果VLAN里没有任何Up的物理端口VLANIF接口会处于Down状态网关自然不通。排查跨VLAN通信故障时这是第一个要确认的点。4.3 一个小型网络的VLAN与IP规划实例理论上讲再多不如给一个可以直接抄的规划案例。假设某公司有三层楼IT区域、办公区、访客区需要隔离连接打印机和摄像头还需要单独管理我用一个表格把VLAN规划整理清楚。VLAN ID名称用途IP网段网关说明10IT_StaffIT部门办公192.168.10.0/24192.168.10.1管理信息部、研发等部门20Finance财务部门192.168.20.0/24192.168.20.1财务专用默认禁互访30Printer打印机/扫描仪192.168.30.0/24192.168.30.1集中管理打印设备40Camera监控摄像头192.168.40.0/24192.168.40.1仅允许监控平台访问50Guest访客Wi-Fi192.168.50.0/24192.168.50.1仅允许上外网999NativeTrunk本征VLAN无无专门用来避免VLAN 1冲突这套规划有几个值得借鉴的地方。用户网段从VLAN 10开始避开VLAN 1访客单独一个VLAN方便在防火墙上做严格限制打印机和摄像头各自独立避免这些低防护设备被办公网横向攻击Trunk链路的本征VLAN单独用VLAN 999杜绝串联问题。再强调一遍VLAN规划表一定要写下来贴在机房里。很多网络越到后期越乱就是因为早期划VLAN全凭心情没有文档记录三个月后连当初VLAN 50留给谁用的都忘了。我每次割接前第一件事就是把VLAN规划表重新梳理一遍和现场实际配置逐条比对。5. 接入交换机的实战配置从创建VLAN到Trunk放通5.1 接入交换机端口划VLAN、上行口打Trunk下面给一套可以直接照做的完整配置流程分别用Cisco和华为的命令展示。这里以接入交换机为例假设它有24个下行口和2个上行口我们需要把下行口按规划划入VLAN上行口做成Trunk通往核心。Cisco接入交换机关键配置vlan 10 name IT_Staff vlan 20 name Finance vlan 30 name Printer interface range FastEthernet0/1 - 8 switchport mode access switchport access vlan 10 interface range FastEthernet0/9 - 16 switchport mode access switchport access vlan 20 interface range GigabitEthernet0/1 - 2 switchport mode trunk switchport trunk native vlan 999 switchport trunk allowed vlan 10,20,30,40,50,999华为接入交换机关键配置vlan batch 10 20 30 40 50 999 interface Ethernet0/0/1 to Ethernet0/0/8 port link-type access port default vlan 10 interface Ethernet0/0/9 to Ethernet0/0/16 port link-type access port default vlan 20 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 40 50 999 port trunk pvid vlan 999 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 30 40 50 999 port trunk pvid vlan 999要注意几个容易忽略的点。第一创建了VLAN之后一定要在相应端口上使用switchport access vlan或port default vlan才能真正把端口放进VLAN里。只创建VLAN而不划端口等于白建。第二Trunk端口默认放行所有VLANCisco设备上建议用switchport trunk allowed vlan显式收紧只放行你需要的VLAN。千万图省事写allowed vlan all一旦以后新增了不该通的VLAN直接就成了安全隐患。第三Trunk口的Native VLAN本征VLAN务必显式配置不要留默认的VLAN 1。Cisco用switchport trunk native vlan 999华为用port trunk pvid vlan 999。第四换了VLAN规划方案之后老配置残留是故障高发区。比如端口之前被划到VLAN 20你想改成VLAN 10改完switchport access vlan 10就完事了吗很多设备上还得确认switchport mode access没有被动过否则端口可能还是trunk或者dynamic模式。5.2 核心交换机创建VLANIF并配置网关核心交换机的配置内容取决于它是三层交换机还是二层交换机。如果是三层交换机需要给每个用户VLAN创建VLANIF接口并配上IP作为终端网关。华为核心交换机上vlan batch 10 20 30 40 50 999 interface Vlanif 10 ip address 192.168.10.1 255.255.255.0 interface Vlanif 20 ip address 192.168.20.1 255.255.255.0 interface Vlanif 30 ip address 192.168.30.1 255.255.255.0 interface Vlanif 40 ip address 192.168.40.1 255.255.255.0 interface Vlanif 50 ip address 192.168.50.1 255.255.255.0Cisco核心交换机上则写成interface vlan 10ip address ...。核心交换机连接接入交换机的端口同样要做成Trunk放行对应VLAN。这里要注意核心和接入两侧的Trunk配置必须完全一致尤其是允许列表和Native VLAN。两边只要有一处不匹配流量就会莫名其妙不通或者串VLAN。如果核心只是二层交换机那跨VLAN路由还得靠上层路由器或者防火墙。这种架构在小型网络里也常见核心做二层出口防火墙做VLAN间路由加安全策略配置思路类似单臂路由只是在防火墙上做子接口。5.3 验证与连通性测试的完整操作配置完成之后必须做一套标准的验证流程不要改完配置就撒手。先在交换机上查看VLAN信息。Cisco用show vlan brief华为用display vlan。确认每个VLAN都存在端口归属正确Trunk端口状态是Up。然后查看Trunk端口状态# Cisco show interfaces trunk # 华为 display port vlan重点看Allowed VLAN列表和Native VLAN是否符合规划。接着从核心交换机上ping各个VLANIF网关地址确认三层接口正常工作。如果网关本身ping不通检查VLANIF是否Up、VLAN内是否有Up的物理端口。最后是在终端上做端到端测试。找一台PC配好IP先ping自己的网关通了说明二层没问题再ping另一个VLAN里的PC通了说明路由工作正常。我习惯再用tracertWindows或tracerouteLinux确认路径是从网关走的防止出现莫名其妙的直连路由或策略路由干扰。到这里一个基本的多VLAN网络就已经能跑起来了。接下来要聊的才是真正区分会配VLAN和懂VLAN的分水岭——排错和安全。6. 排错与安全加固那些年我踩过的VLAN坑6.1 同VLAN不通、跨VLAN乱通先查这五个点VLAN故障有一个很典型的现象看起来配置都对设备状态也正常但就是ping不通。遇到这种情况我有一套固定的排查顺序按这个走基本能定位绝大部分问题。第一查物理链路和端口状态。看端口是不是Up是不是被错误shutdown了有没有被交换机的错误检测特性比如Cisco的errdisable自动禁用。端口上指示灯一闪一闪其实不代表一定正常最好直接登录设备看。第二查端口的VLAN归属。终端接的端口到底在哪个VLAN里是不是被误划到别的VLAN了用Access口接了Trunk配置或者反过来都是低级但高频的错误。第三查Trunk链路的允许列表。两台交换机之间无论哪一侧的Allowed VLAN少了对应VLAN的流量就过不去。我排查Trunk问题最常用的命令就是Cisco的show interfaces trunk和华为的display port vlan两边对照着看一眼就能找出不一致。第四查Native VLAN。两端本征VLAN不一致时无Tag流量会进错VLAN症状是不通或通到错误网段。这个坑隐蔽必须两端逐字比对。第五查三层网关。VLANIF接口是否Up、网关IP是否配错、终端默认网关是否指到了别的地址。有时候问题根本不在VLAN而是终端DHCP拿到的网段和规划对不上。下面这个表格是我日常排错时用的速查表。故障现象可能原因首选排查命令同一VLAN内部分终端不通端口VLAN归属错误、端口errdisableshow vlan brief/display vlanTrunk链路上某些VLAN不通允许列表漏放行show interfaces trunk/display port vlan终端能通但跨VLAN不通VLANIF未创建、网关配置错、路由缺失show ip route/display ip routing-table无Tag流量进错VLANNative VLAN两端不一致show interfaces trunk/display port vlan终端能上外网但访问内网服务器失败服务器VLAN未放通、ACL拦截show access-lists/display acl6.2 Cisco与华为设备上的细节差异跨厂商设备混用时VLAN配置还有一批容易让人懵的差异点我单独拎出来说说。Cisco交换机默认开启了DTPDynamic Trunking Protocol端口默认是dynamic auto或dynamic desirable模式两个相邻交换机插上线后可能自动协商成Trunk。这在带来便利的同时也带来风险——如果接了一台不该成为Trunk的设备比如终端或服务器可能产生不期望的协商结果。建议在交换机的所有物理端口上统一配置为静态模式Access口直接switchport mode accessTrunk口直接switchport mode trunk再顺便全局关掉DTPinterface range GigabitEthernet0/1 - 48 switchport mode access switchport nonegotiate华为设备上不存在DTP协商问题端口模式必须显式配置默认是Hybrid模式。很多从Cisco转过来的工程师容易忽略这一点以为新交换机的口默认是Access结果接上终端后发现流量跑了半天不对。华为新设备拿到手第一件事就是把所有接终端的口统一配置成Access别留Hybrid默认值。Cisco还有个VTPVLAN Trunking Protocol早期用于在整张网络里自动同步VLAN数据库。VTP听着方便但坑很多老版本VTP会从Trunk口学习VLAN信息并覆盖本地配置一台配置混乱的交换机接进来可能导致全网VLAN数据库被清空。我从来都是直接关掉VTP全手动管理VLAN禁用语句是vtp mode transparent或者直接vtp mode off。华为没有对应的病毒式同步协议但也别乱开类似特性。另外一个细节是Cisco设备上Access口接收到带Tag的帧时如果Tag里的VID和端口PVID不一致默认会直接丢弃。华为有些设备默认行为略有不同Hybrid口接收带Tag帧时如果不在允许列表里会丢弃但具体行为还是要看设备型号和版本。混用厂商时这些边界行为必须逐条测过别想当然。6.3 VLAN安全加固默认VLAN、Trunk放行策略与防跳跃VLAN本身是二层逻辑隔离但它并非绝对安全。攻击者针对VLAN的攻击手段主要有两种VLAN跳跃攻击和双Tag攻击我分别说明原理和防御方案。VLAN跳跃攻击的核心逻辑是让攻击者的设备伪装成交换机通过DTP协商建立Trunk链路从而接收所有VLAN的流量。防御办法就是前面提过的所有端口静态指定模式全局关闭DTPTrunk端口绝不连接终端设备。双Tag攻击则利用的是本征VLAN不带Tag的机制。攻击者构造一个双重Tag的帧外层Tag是Trunk链路的本征VLAN内层Tag指向受害VLAN。第一跳交换机剥掉本征VLAN对应的外层Tag后帧带着内层Tag继续转发就可能进入受害VLAN。防御这个攻击的有效手段之一就是把Trunk的本征VLAN改成未使用的VLAN号比如2488号这种根本没有设备接入的空VLAN并确保本征VLAN不会承载任何用户流量。安全加固方面我建议至少做到下面这几条。一是用户终端的VLAN别用VLAN 1。VLAN 1是默认管理VLAN很多控制协议都跑在里面攻击者只要进入VLAN 1就能嗅探到大量控制层面的信息。二是Trunk口只放行必要的VLAN严格使用Allowed VLAN白名单。我在实际运维中甚至会在核心和接入互联的Trunk口上只放行该接入交换机实际用到的VLAN减少广播流量和控制帧跨区域传播。三是启用端口安全特性。接入交换机端口上限制MAC地址学习数量设置学习到违规MAC时的动作比如shutdown。这是对付ARP欺骗、MAC泛洪的基础手段。四是DHCP Snooping搭配使用。接入交换机开启DHCP Snooping信任上行口把非法DHCP服务器挡在外面。没有DHCP Snooping的VLAN隔离等于大门只关了一半——攻击者照样可以在自己的VLAN里给同网段终端下发错误网关截取流量。五是管理VLAN单独隔离。给交换机的管理IP单独划一个管理VLAN比如VLAN 999或VLAN 1000不允许用户流量进入。同时开启SNMP只读社区串、SSH登录限制源地址把管理平面保护起来。我之前在某制造型企业做安全加固时把办公区的接入端口全部启用了端口安全和DHCP Snooping同时关掉了所有Trunk口以外的DTP协商。两周后翻日志发现监控系统记录到了好几次非法DHCP服务器尝试全部被拦截。这类攻击在真实环境里绝不是电影情节而是每天都在发生的事。结尾一点经验之谈做了这么多年网络我的体会是VLAN看着简单真正要吃透核心还是要理解802.1Q的本质——它本质上就是对二层广播域的调度和隔离。你越是能在脑子里把帧长什么样、端口怎么处理标签、流量怎么跨VLAN走这几件事串成一条线遇到故障就越不容易慌。最后再分享一个自用的运维习惯无论网络规模大小我建议都给VLAN编号建立一份规划表写上VLAN号、名称、用途、子网、网关、对应Trunk放行范围甚至负责人联系方式。三分靠配置七分靠文档这句话在VLAN这个领域尤其成立。哪天真出了事故这份表就是你的救星。如果有条件建议在实验环境里亲手配一遍单臂路由、三层交换机和混合端口模式用抓包工具看一下带Tag和不带Tag的帧到底长什么样。纸上得来终觉浅抓包看一次Tag比背十遍802.1Q都管用。
阅读完成 · 觉得有帮助?
咨询建站