防火墙默认规则导致ospf无法正常建立邻接关系
由于防火墙默认规则导致ospf无法正常建立邻接关系
无论是哪家厂商的防火墙,配置思路都是一样的,而且还有一点相同,都会分成几个区域,我们拿结为防火墙来举例子,默认分成三个区域:信任区(级别85),dmz(级别50)、,untrust(5),local(100),高区域级别的主机可以与低区域级别通信,反过来就不行了,就是因为这个特性,有时候会给我们带来一些困扰,别问我是怎么知道的……
网络中的一些业务需要经过防火墙转发,还有一些业务是需要防火墙自身参与其中,例如管理员会登录到防火墙上进行管理,分公司的人需要与防火墙建立VPN连接,防火墙和路由器之间会运行OSPF路由协议,这些业务想 要正常运行就必须在防火墙配置相应的安全策略,允许local区域接收各个业务的报文,具体来讲,就是要在防火墙的local安全区域与业务使用的接口所在的安全区域之间配置安全策略。
默认情况下,防火墙上没有开启GE01/01接口所在untrust区域和local区域的安全策略,这两个区域默认不允许单播报文通过,这会有什么后果呢?
后果就是防火墙的GE1/0/1接口和router1的GE0/0/1接口无法建立邻接关系,通过dis ospf peer
查看,发现双方关系卡在exstart就不动了!
为什么?因为ospf在exstart状态的时候要交互DD报文,这个报文是单播的,需要防火墙的local区域和untrust区域设定规则允许通过,现在没有设置这个策略,于是就卡在exstart状态了,这个在我工作之初,困扰了我好几天的时间……,说多了都是泪
如果你在防火墙上通过dis firewall statistic system discarded
查看丢包信息会发现丢弃了好多包,那应该怎么做呢?配置两个策略,将untrust到local区域的input和output都允许了,就可以了。
综上所述,我们需要在防火墙上开启运行OSPF协议的接口所在的安全区域和local区域之间的安全策略,允许OSPF报文通过,这样防火墙才能和相连的设备正常建立邻接关系,而组播报文不受安全策略控制,也就不需要配置相应的安全策略。