摘要:大家好,我是「极客运维社」飞哥!深耕企业组网和网络设备领域多年,每天为你拆解:1、交换机/路由器疑难故障处理方案2、网络架构优化与安全防护实战技巧3、中小企业低成本智能组网案例解析长按【收藏】 搭建你的专属运维知识库,点亮文末小红心,激励飞哥创作更多硬核内容。
大家好,我是「极客运维社」飞哥!深耕企业组网和网络设备领域多年,每天为你拆解:
1、交换机/路由器疑难故障处理方案
2、网络架构优化与安全防护实战技巧
3、中小企业低成本智能组网案例解析
点亮文末小红心,激励飞哥创作更多硬核内容。
特别提醒:网络运维问题常有突发性,建议将本文加入收藏,遇到设备配置、链路故障、卡顿、数据丢包等问题时,随时可调取解决方案!
在一次企业网络双出口维保中,这家公司采用了电信和移动两条宽带线路接入,希望做到 VLAN 分流上网,但测试过程中发现:NAT 出接口绑定 acl 的方法,根本不能保证 VLAN 2/3 所在区域的主机走移动,vlan4所在区域的主机走电信,反而都走了电信或移动!
抓包一看,问题根本不在 NAT,而在——没有策略路由!
本文将通过真实配置、排障分析,带你深挖「双出口 NAT 分流」的常见误区,弄清楚:为什么策略路由才是关键灵魂。
网络拓扑
出口路由器连接两条运营商链路,要求如下:
VLAN 2 和 VLAN 3 的用户访问外网时走移动 ISP(200.1.1.1);VLAN 4 的用户访问外网时走电信 ISP(100.1.1.1);VLAN2、3、4 之间可以互通。1. 地址与路由配置
interface GigabitEthernet0/0/0 ip address 192.168.10.1 255.255.255.0interface GigabitEthernet0/0/1 ip address 100.1.1.2 255.255.255.0 # 电信出口interface GigabitEthernet0/0/2 ip address 200.1.1.2 255.255.255.0 # 移动出口ip route-static 0.0.0.0 0.0.0.0 100.1.1.1 # 默认先写电信ip route-static 0.0.0.0 0.0.0.0 200.1.1.1ip route-static 192.168.0.0 255.255.0.0 192.168.10.22. ACL 和 NAT 配置
acl number 3001 // VLAN 2 和 VLAN 3 的源地址 rule 5 permit ip source 192.168.2.0 0.0.0.255 rule 10 permit ip source 192.168.3.0 0.0.0.255acl number 3002 // VLAN 4 的源地址 rule 5 permit ip source 192.168.4.0 0.0.0.255interface GigabitEthernet0/0/1 nat outbound 3002 # 电信口,只给 VLAN4 做 NATinterface GigabitEthernet0/0/2 nat outbound 3001 # 移动口,只给 VLAN2/3 做 NAT测试发现:
VLAN 4 上网正常,出口走电信,符合预期;VLAN 2 和 VLAN 3 上网失败,抓包发现没有出现在移动 ISP(200.1.1.1)口;实际却走了默认路由(电信口),但由于电信口没有为 VLAN 2/3 做 NAT,包被丢弃。结论:
NAT 的 ACL 并不能控制路由出口路径,它只是对“已决定走这条路径”的数据包做转换;如果没有策略路由,系统默认走电信接口,但电信接口不会给 VLAN2/3 的地址做 NAT,于是公网失败!为了解决“走错出口”的问题,关键是 使用策略路由 强制指定路径:
traffic classifier c1 operator or if-match acl 3001 # VLAN2/3traffic classifier c2 operator or if-match acl 3002 # VLAN4traffic behavior b1 redirect ip-nexthop 200.1.1.1 # 移动traffic behavior b2 redirect ip-nexthop 100.1.1.1 # 电信traffic policy p1 classifier c1 behavior b1 classifier c2 behavior b2interface GigabitEthernet0/0/0 traffic-policy p1 inbound测试验证:
VLAN 2 和 VLAN 3 成功走移动 ISP 上网;有朋友问:既然我已经做了“出接口绑定 ACL NAT”,VLAN 2/3 的地址也 NAT 成功了,那是不是不做策略路由也可以?
表面看似可以,实际上是一个“偶然成功”的误解!
正确理解:
NAT 出口绑定 ACL,只是说“允许哪些源地址做 NAT”;路由决策仍然是靠默认路由或者路由表决定的;如果系统默认先走电信口(优先级高),而电信口未配置对 VLAN 2/3 的 NAT,那么这些包根本不会成功出网。你看到的“成功”,只是因为当前 ACL 和默认路由恰好配合对了,一旦顺序变化、路由调整或接口失联,分流策略就失效!
策略路由才是双出口分流的灵魂,不能靠 NAT 出口“撞运气”!
多 ISP 出口 + 多 VLAN 分流场景,一定使用策略路由精确控制;NAT ACL 只负责“转换”,不能决定“怎么走”;抓包分析是判断问题归属的关键手段;静态路由默认优先级可控,避免影响分流效果;推荐搭配 VRRP 实现主备出口智能切换。本实验组网部分这里因篇幅原因,没有贴出来,如果有需要可以在文中版块查找,或私信我发您!如果你在实际部署过程中遇到任何问题,欢迎留言讨论。
来源:极客运维社