防火墙技术案例2_企业出口BGP组网配置

发布时间 : 星期一 文章防火墙技术案例2_企业出口BGP组网配置更新完毕开始阅读

大家好,本期案例中,强叔将为大家介绍企业出口BGP的技术案例,希望能给大家带来一定的收获。 大家都知道,防火墙在企业网络中所处的位置一般是在出口,也就是作为出口网关来使用。对于一般的中小企业,在出口防火墙上配置静态路由就能保证企业内网与Internet之间的访问,但对于大型企业来说静态路由缺乏灵活性和可维护性,是不建议使用的。这里,强叔和大家一起探讨下BGP路由在大型企业出口的基本配置,这里强调是基本配置,就是不包括各种BGP属性等高级配置的。可能大家觉得很简单,但是在实际配置的时候往往会出现这样和那样的问题。当然很熟悉BGP路由的小伙伴们除外。 言归正传,首先我们来看一个组网,左侧是以防火墙为出口的实际组网,右侧为使用eNSP模拟的组网环境。如下图。 网络环境描述如下: ???两台防火墙作为企业的网关,通过主备备份的方式部署在企业的出口。 ???企业内网通过OSPF协议学习内网路由。 ???两台防火墙分别通过BGP协议与外网两个ISP建立EBGP邻居关系。 ???防火墙上配置NAT,保证私网用户能够访问Internet。(用于从ISP1访问Internet的地址池:110.1.1.1~110.1.1.254;用于从ISP2访问Internet的地址池:210.1.1.1~210.1.1.254) 这里说明一下,由于图比较小,一个图无法标出全部地址,只能在两个图中给出。模拟环境中R5的Loopback 1地址代表外网服务器,CLIENT1代表用户区1中的一个用户。现给出基本配置如下(说明:这里只给出一条(左侧)线路的路由设备的相关配置,其它的配置部分请参见《USG9000V3R1C20典型配置案例》的路由-企业BGP部分)。 FW1 bgp 10 R3 bgp 20 R5 bgp 40 peer 100.1.1.2 as-number 20 peer 100.1.1.1 as-number 10 peer 102.1.1.1 as-number 20 peer 200.1.1.2 as-number 30 peer 101.1.1.1 as-number 10 peer 202.1.1.1 as-number 30 # ipv4-family unicast undo synchronization peer 100.1.1.2 enable peer 200.1.1.2 enable ospf 1 default-route-advertise always area 0.0.0.0 network 10.1.1.0 0.0.0.255 按照如上配置,我们在FW1上使用display bgp peer命令查看BGP的邻居建立情况,显示都为Established,说明成功建立邻居关系。 peer 102.1.1.2 as-number 40 # # ipv4-family unicast undo synchronization peer 100.1.1.1 enable peer 101.1.1.1 enable peer 102.1.1.2 enable ipv4-family unicast undo synchronization network 220.1.1.1 32 peer 102.1.1.1 enable peer 202.1.1.1 enable 使用display bgp routing-table命令查看BGP路由表,能够看到外网220.1.1.1网段的路由。 此时,查看IP路由表,你也能看到这条路由 然而你在FW1上ping 220.1.1.1,却发现无法ping通。大家知道为什么吗?这个问题针对部分初学路由的人来说可能是个困惑,“路由都学习到了,为什么还ping不通” 年轻时的强叔也有过这个疑问。 其实答案很简单:路由是双向的,有去的路由,就要有回的路由。这个时候,你在R5上查看路由表,发现是没有到FW1的路由。

如果你要在FW1上ping通220.1.1.1,你就需要在FW1上把自己的接口网段通告到BGP路由中,怎么通告,方法很多。

???可以引入直连路由:[FW1-bgp] import-route direct

???可以通过network命令发布接口的网段(推荐使用方法):[FW1-bgp] network 100.1.1.1 24 然后你再在R5上查看BGP路由表,会发现如下路由,并且能够ping通220.1.1.1。

但是针对本场景,我们是需要内网用户能够访问外网,也就是模拟环境中的CLIENT1访问R5的loopback1地址220.1.1.1,这个时候我们应用怎么配置呢?

企业内部网络是通过OSPF协议学习路由,现在要想让外部网络学习到内部网络的路由,很多初学者,很自然的想到在出口网关FW1上把两种路由互相引入,如: [FW1-bgp] import-route ospf

这种方法在实际网络中是非常不可取的,这样会把大量的内网路由引入到Internet中,像本例一样就更不可行,因为内部网络是私网地址。实际的做法是,把内网需要对外发布的路由在BGP中network通告出去,本例中是把地址池的地址网段对外通告,如下: [FW1-bgp] network 110.1.1.0 255.255.255.0 [FW1-bgp] network 210.1.1.0 255.255.255.0

此时,我们在R5上通过display bgp routing-table命令查看BGP路由表。

发现BGP路由表中,路由根本没有变化,对于这个问题大家考虑下是为什么(1分钟)?

答案是:地址池中是地址的集合,而在BGP中对外通告的是路由,问题就在这,BGP要通过路由,但地址池中是地址,如何让地址变成路由就是关键,具体的做法是把地址池中的地址网段先配置成黑洞路由,如:

这时,再在R5上通过display bgp routing-table命令查看BGP路由表。发现地址池网段的路由都已经存在。

路由都有,现在可以验证CLIENT1能否访问R5的loopback1地址220.1.1.1了,很显然只要其它配置没有问题,肯定是可以访问的。

联系合同范文客服:xxxxx#qq.com(#替换为@)