二层透传 OSPF 解决方案 Hillstone Networks Inc. 2015 年 9 月 28 日 1 / 19
内容提交人审核人更新内容日期 张自良陈天骄 V1 2015/9/28 目录 1 方案背景... 3 2 需求分析... 4 3 解决方案... 4 3.1 透明模式下 OSPF 动态路由协议透传... 4 3.2 透明模式下通过策略控制流量... 5 3.3 透明模式下防火墙整机冗余... 5 3.4 透明模式下防火墙链路冗余... 6 4 实现方式... 6 4.1 防火墙控制 OSPF 与普通流量... 8 4.2 三层交换机 OSPF 配置与接口 Cost 值... 12 5 建设效果... 16 2 / 19
1 方案背景 根据客户的路由交换场景, 三层交换机之间使用 OSPF 动态路由协议进行互联, 而山石 网科防火墙如下图 ( 图 1) 进行透明部署, 防火墙上所使用接口均采用二层模式进行对接 ( 即 接口绑定在二层安全域 ) 方案要求 OSPF 动态路由协议可以通过防火墙透明模式正常建立 邻居关系和更新路由表, 同时要求在透明模式下使用策略可以对流量进行控制 ( 图 1) 3 / 19
2 需求分析 在防火墙透明模式下, 实现 OSPF 正常建立邻居关系并更新路由, 需要在防火墙下放行 OSPF 协议 ; 同时要求防火墙对流量可以进行策略单独控制 3 解决方案 3.1 透明模式下 OSPF 动态路由协议透传 所有设备均在 OSPF 骨干区域 0 下, 调整交换机接口下 OSPF 动态路由协议的 Cost 值, 在防火墙 FW01 和 FW02 正常工作状态下, 使 SW01( 即 SW01 的 loopback1 接口 地址 1.1.1.1/32) 到 SW06(loopback1 接口地址 6.6.6.6/32) 按下图 ( 图 2) 流量方向进 行通信 4 / 19
( 图 2) 3.2 透明模式下通过策略控制流量 要求只有 SW01 到 SW06 的流量可以通过防火墙 每台交换机均用一个 loopback1 接口 来代表该交换机所发出的数据源 3.3 透明模式下防火墙整机冗余 当防火墙 FW01 发生异常时, 流量按下图 ( 图 3) 所示, 经过 FW02 进行转发 由于在 SW02 SW04 SW06 上的 E0/1 接下增大 OSPF 的 cost 值, 使得从 SW02 到 SW06 SW04 到 SW06 的路由优先级降低, 只有在 FW01 发生故障下, 根据 OSPF 的路由学习再浮动加入 路由表, 路由经过重新计算后, 即如下图流量走向所示 5 / 19
( 图 3) 3.4 透明模式下防火墙链路冗余 如上图 3, 当防火墙 FW01 上的链路发生故障时, 流量也按照上图 3 箭头所示方向转发 4 实现方式 交换机 IP 地址规划与防火墙接口和策略规划 : 6 / 19
其中 SW01 SW03 SW05 配置 IP 地址段为 :192.168.135.0/29, 分别为 : SW01 E0/1 :192.168.135.1/29 SW03 E0/1 :192.168.135.3/29 SW05 E0/1 :192.168.135.5/29 SW02 SW04 SW06 配置 IP 地址段为 :192.168.246.0/29, 分别为 : SW02 E0/1 :192.168.246.2/29 SW04 E0/1 :192.168.246.4/29 SW06 E0/1 :192.168.246.6/29 SW01 与 SW02 互联地址段为 192.168.12.0/29, 分别为 : SW01 E0/2 :192.168.12.1/29 SW02 E0/2 :192.168.12.2/29 SW03 与 SW04 互联地址段为 192.168.34.0/29, 分别为 : SW03 E0/2 :192.168.34.3/29 SW04 E0/2 :192.168.34.4/29 SW05 与 SW06 互联地址段为 192.168.56.0/29, 分别为 : SW05 E0/2 :192.168.56.5/29 SW06 E0/2 :192.168.56.6/29 6 台交换机的 Loopback1 接口地址规划为 : 7 / 19
SW01 1.1.1.1/32 SW02 2.2.2.2/32 SW03 3.3.3.3/32 SW04 4.4.4.4/32 SW05 5.5.5.5/32 SW06 6.6.6.6/32 防火墙接口设计为二层接口, 三个互联接口所在安全域分别为 ee0/1 l2-trust1 ee0/2 l2-trust2 ee0/3 l2-trust3 4.1 防火墙控制 OSPF 与普通流量 两台防火墙配置二层策略放行 OSPF 流量, 同时放行指定的流量 SW01 到 SW06 FW01# show configuration policy rule id 1 src-zone "l2-zone1" dst-zone "l2-zone2" rule id 2 src-zone "l2-zone1" dst-zone "l2-zone3" 8 / 19
rule id 3 src-zone "l2-zone2" dst-zone "l2-zone1" rule id 4 src-zone "l2-zone2" dst-zone "l2-zone3" rule id 5 src-zone "l2-zone3" dst-zone "l2-zone1" rule id 6 src-zone "l2-zone3" dst-zone "l2-zone2" rule id 7 src-ip 1.1.1.1/32 dst-ip 6.6.6.6/32 service "PING" rule id 8 src-ip 6.6.6.6/32 dst-ip 1.1.1.1/32 service "PING" 9 / 19
FW01# show configuration interface interface ethernet0/1 zone "l2-zone1" interface ethernet0/2 zone "l2-zone2" interface ethernet0/3 zone "l2-zone3" FW01# ==================================== FW02# show configuration policy rule id 1 src-zone "l2-zone1" dst-zone "l2-zone2" rule id 2 src-zone "l2-zone1" dst-zone "l2-zone3" rule id 3 src-zone "l2-zone2" dst-zone "l2-zone1" rule id 4 src-zone "l2-zone2" dst-zone "l2-zone3" 10 / 19
rule id 5 src-zone "l2-zone3" dst-zone "l2-zone1" rule id 6 src-zone "l2-zone3" dst-zone "l2-zone2" rule id 7 src-ip 1.1.1.1/32 dst-ip 6.6.6.6/32 service "PING" rule id 8 src-ip 6.6.6.6/32 dst-ip 1.1.1.1/32 service "PING" FW02# show configuration interface interface ethernet0/1 zone "l2-zone1" interface ethernet0/2 zone "l2-zone2" interface ethernet0/3 zone "l2-zone3" FW02# 11 / 19
4.2 三层交换机 OSPF 配置与接口 Cost 值 为了实现如上图 2 所示的流量走向, 从 SW01 到 SW06 优先使用 SW01 和 FW01 对接的 e0/1 接口, 需要调整 SW02 SW04 和 SW06 下接口 OSPF 的 Cost 值, 分别需要加大 SW02 SW04 和 SW06 下接口 e0/1 的 Cost 值 SW01# show configuration vrouter ip vrouter "trust-vr" router ospf 1 router-id 1.1.1.1 network 1.1.1.1/32 area 0.0.0.0 network 192.168.12.0/29 area 0.0.0.0 network 192.168.135.0/29 area 0.0.0.0 SW01# show configuration interface interface ethernet0/1 ip address 192.168.135.1 255.255.255.248 interface ethernet0/2 ip address 192.168.12.1 255.255.255.248 interface loopback1 ip address 1.1.1.1 255.255.255.255 SW01# show ip ospf neighbor OSPF Router with ID 1.1.1.1, OSPF Process ID 1 Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 Full/DR 00:00:35 192.168.12.2 ethernet0/2 3.3.3.3 1 Full/BDR 00:00:32 192.168.135.3 ethernet0/1 5.5.5.5 1 Full/DR 00:00:32 192.168.135.5 ethernet0/1 SW01# =================================================== SW02# show configuration vrouter 12 / 19
ip vrouter "trust-vr" router ospf router-id 2.2.2.2 network 2.2.2.2/32 area 0.0.0.0 network 192.168.12.0/29 area 0.0.0.0 network 192.168.246.0/29 area 0.0.0.0 SW02# show configuration interface interface ethernet0/1 ip address 192.168.246.2 255.255.255.248 ip ospf cost 50 interface ethernet0/2 ip address 192.168.12.2 255.255.255.248 interface loopback1 ip address 2.2.2.2 255.255.255.255 SW02# ==================================================== SW03(config)# show configuration vrouter ip vrouter "trust-vr" router ospf router-id 3.3.3.3 network 3.3.3.3/32 area 0.0.0.0 network 192.168.34.0/29 area 0.0.0.0 network 192.168.135.0/29 area 0.0.0.0 SW03(config)# show configuration interface interface ethernet0/1 zone "untrust" 13 / 19
ip address 192.168.135.3 255.255.255.248 interface ethernet0/2 ip address 192.168.34.3 255.255.255.248 interface loopback1 ip address 3.3.3.3 255.255.255.255 SW03(config)# ================================================== SW04# show configuration vrouter ip vrouter "trust-vr" router ospf router-id 4.4.4.4 network 192.168.34.0/29 area 0.0.0.0 network 192.168.246.0/29 area 0.0.0.0 network 4.4.4.4/32 area 0.0.0.0 SW04# show configuration interface interface ethernet0/1 ip address 192.168.246.4 255.255.255.248 ip ospf cost 50 interface ethernet0/2 ip address 192.168.34.4 255.255.255.248 interface loopback1 ip address 4.4.4.4 255.255.255.255 14 / 19
================================================== SW05# show configuration interface interface ethernet0/1 ip address 192.168.135.5 255.255.255.248 interface ethernet0/2 ip address 192.168.56.5 255.255.255.248 interface loopback1 ip address 5.5.5.5 255.255.255.255 SW05# show configuration vrouter ip vrouter "trust-vr" router ospf router-id 5.5.5.5 network 5.5.5.5/32 area 0.0.0.0 network 192.168.135.0/29 area 0.0.0.0 network 192.168.56.0/29 area 0.0.0.0 SW05# =============================================== SW06# show configuration interface interface ethernet0/1 ip address 192.168.246.6 255.255.255.248 ip ospf cost 50 interface ethernet0/2 ip address 192.168.56.6 255.255.255.248 15 / 19
interface loopback1 ip address 6.6.6.6 255.255.255.255 SW06# show configuration vrouter ip vrouter "trust-vr" router ospf router-id 6.6.6.6 network 6.6.6.6/32 area 0.0.0.0 network 192.168.56.0/29 area 0.0.0.0 network 192.168.246.0/29 area 0.0.0.0 5 建设效果 在防火墙 FW01 和 FW02 正常状态下,SW01 上所学到 SW06 的路由经由 FW01 转发 16 / 19
17 / 19
当 FW01 发生故障时, 从 SW01 到 SW06 路由切换, 中间 ping 丢包 5 个 18 / 19
此时发现 SW01 上到 SW06 的 OSPF 路由已经选择 SW02 进行转发 同时对 SW01 和 FW01 上的 E0/1 进行插拨线观察, 也发现有 SW01 到 SW06 的 ping 数 据包进行中断和续传, 这与设计的方案是符合的, 只是频繁插拨线会造成 OSPF 路由频繁路 由更新计算, 因此会造成数据丢包增多 对于此种问题, 若发现接口链路的稳定性较差, 可通过修改交换机接口下 OSPF 的 cost 值 来改变 OSPF 的选路 19 / 19