以太网OSPF引入路由不优选的经验案例
一、组网:
二、问题描述:
1、某地网络使用防火墙连接互联网,防火墙内部和2台路由器互联。
2、2台路由器通过静态路由指向防火墙访问互联网。
3、2台路由器运行VRRP,防火墙通过静态路由指向VRRP虚地址访问内部网络。
4、客户希望流量来回路径一致,即从RB访问互联网的流量先绕行RA再到互联网,因此在RA中引入指向防火墙的静态路由,RB的静态路由优先级设置为200,使RA发送过来的OSPF外部路由(优先级150)优选。
5、为了使OSPF路由能够互相备份,RB上OSPF也做了静态路由引入操作。
6、结果发现RB上的路由优选为静态路由,下一跳为防火墙。
7、当RB上取消静态路由引入,则RB上路由优选OSPF路由,但下一跳为防火墙。
8、RA和RB在以太网接口上配置ospf network-type p2p后,RB优选路由为OSPF路由,下一跳为RA。实际流量如下图所示:
RA配置
#
interface GigabitEthernet0/0
port link-mode route
ip address 192.168.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 200
#
ospf 1
import-route static
area 0.0.0.0
network 192.168.1.2 0.0.0.0
#
ip route-static 0.0.0.0 0.0.0.0 192.168.1.1
#
RB配置
#
interface Ethernet0/0
port link-mode route
ip address 192.168.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
#
ospf 1
import-route static
area 0.0.0.0
network 192.168.1.3 0.0.0.0
#
ip route-static 111.0.0.0 255.0.0.0 192.168.1.1 preference 200
#
RB查看路由表和ASE LSA
[RB]dis ip rou
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0
111.0.0.0/8 Static 200 0 192.168.1.1 Eth0/0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.1.0/24 Direct 0 0 192.168.1.3 Eth0/0
192.168.1.3/32 Direct 0 0 127.0.0.1 InLoop0
[RB]dis ospf lsdb ase
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
LS ID : 111.0.0.0
Adv Rtr : 192.168.1.2
LS Age : 90
Len : 36
Options : E
Seq# : 80000001
Checksum : 0x8207
Net Mask : 255.0.0.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.1.1
Tag : 1
[RB]
三、过程分析:
问题分为2部分,首先OSPF标准对于引入外部路由中的Forwarding-Address有如下定义:
1、如果引入路由下一跳出接口是运行了OSPF的出接口。
2、且该出接口类型是Broadcast广播类型或NBMA类型,以太网是广播类型,也是最常见的广播类型接口。
3、那么引入路由时要填入Forwarding-Address为引入路由的下一跳地址。
4、如果出接口是P2P或P2MP类型,那么Forwarding-Address填入0.0.0.0。
5、当接收OSPF外部路由时如果Forwarding-Address全0,那么以Forwarding-Address为路由下一跳,否则以OSPF邻居接口地址为下一跳。
6、那么在该实例中,缺省情况下RA发送外部路由forwarding-address为192.168.1.1,改成P2P接口类型时则为0.0.0.0,可以通过display ospf lsdb ase进行查看。这就解释了为什么把接口类型修改成P2P后,RB选路能够达到客户的预期。
其次当接口类型为广播或NBMA时,邻居双方都引入外部路由,那么为了避免路由环路,H3C路由器会如下处理:
1、如果学到的OSPF外部路由forwarding-address和本地引入路由下一跳地址相同,那么将丢弃这条OSPF外部路由,在本例中即使RB把静态路由优先级修改成200,RB也还是忽略了RA发送的外部路由,因为RA发送外部路由forwarding-address为192.168.1.1,RB本地静态路由下一跳也是192.168.1.1。
2、同时因为forwarding-address的存在,即使学习了OSPF外部路由,下一跳依然没有改变,还是192.168.1.1,流量选路也依然达不到客户预期。
四、解决方案
从上面的分析,之所以选路无法达到客户预想,关键在于forwarding-address为192.168.1.1,因此当forwarding-address全0时,RB会选择RA为下一跳。所以要实现客户的需求,需要把接口类型修改成P2P类型。
RB查看路由表和ASE LSA
[RB-Ethernet0/0]dis th
#
interface Ethernet0/0
port link-mode route
ip address 192.168.1.3 255.255.255.0
ospf network-type p2p
vrrp vrid 1 virtual-ip 192.168.1.254
#
return
[RB-Ethernet0/0]dis ip rou
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0
111.0.0.0/8 O_ASE 150 1 192.168.1.1 Eth0/0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.1.0/24 Direct 0 0 192.168.1.3 Eth0/0
192.168.1.3/32 Direct 0 0 127.0.0.1 InLoop0
[RB-Ethernet0/0]dis ospf lsdb ase
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
LS ID : 111.0.0.0
Adv Rtr : 192.168.1.2
LS Age : 13
Len : 36
Options : E
Seq# : 80000003
Checksum : 0x33bf
Net Mask : 255.0.0.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 0.0.0.0
Tag : 1
[RB-Ethernet0/0]
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作