透明模式下FortiGate故障分析
2012-12-24 15:54:49   来源:   评论:0 点击:

适用范围所有的FortiGate设备。说明本文描述的是FortiGate在透明模式下面的一些常见配置及故障分析举例。FortiGate透明模式下面的注意事项3.1 默认情况下FortiGate不转发BPDU报文,这样可能会导致STP问题从而引...

适用范围

所有的FortiGate设备。

说明

本文描述的是FortiGate在透明模式下面的一些常见配置及故障分析举例。

FortiGate透明模式下面的注意事项

3.1 默认情况下FortiGate不转发BPDU报文,这样可能会导致STP问题从而引起网络出现二层环路,可以登陆到FortiGate命令行下,进入到接口编辑下面,执行命令启用BPDU转发:set stpforward enable;
3.2 在trunk环境下面可以使用forward domain来控制指定的接口间数据转发,具有相同的forward domain号不同的接口间数据包在启用vlan_forward (vlan_forward = enabled)之后将会被转发,所以请谨慎使用forward domain以仅添加需要被转发的不同接口到同一个forward domain,或者把需要相互连通的不同vlan或接口划分到不同的VDOM以避免二层环路;
3.3 只有Ethernet II类型帧可以被转发,在默认的配置下,所有的其他类型的二层协议都不能被转发。需要转发这些帧请在接口下面启用l2forward功能;
3.4 多播包默认情况下是不转发的,所以如果部署透明模式的防火墙接入到多播环境中请添加对应的多播策略以允许相关多播数据流通过FortiGate,如把防火 墙部署到OSPF或RIP V2环境中的话需要在防火墙策略里面双向添加允许目的地址是224.0.0.5和224.0.0.6或224.0.0.9的策略;
3.5 如果明确需要带外管理功能的话,请设置多VDOM,其中VDOM root仅用来管理其他相关的透明VDOM使用;
3.6 如果部署透明模式的FortiGate到路由器和主机直接的时候,请注意在这段线路中是否会出现相同的源目的IP地址数据流在防火墙不同方向上时的MAC 地址不一致的情况,简单的应用如VRRP,HSRP之类的主机路由备份协议,这种情况下请尽量在防火墙上面设置静态IP/MAC以告诉FortiGate 指定的虚拟MAC地址属于某个VRRP组或HSRP组。注意,一个forward_domain里面只能指定一个相同MAC地址对。

当遇到透明模式防火墙连通性故障的时候我们可以通过如下的几个典型故障分析步骤来判断具体故障发生原因从而排除故障。

故障分析步骤一

检查FortiGate的二层转发表,注意,由于FortiGate工作在二层环境下面所以实际上FortiGate是通过二层转发表来转发数据的。在这种情况下FortiGate的ARP表仅仅用于FortiGate本身管理用途和数据转发无关。
FortiGate同样可以通过外部设备发送的ARP/GARP报文来完成它的二层转发表的建立。
由于FortiGate支持VDOM,不同VDOM的转发表是相互独立的,可以通过下列命令来获取FortiGate对应VDOM的二层转发表:
4.1 获取FortiGate的VDOM:
diag netlink brctl list
4.2 获取对应VDOM的二层转发表:
diag netlink brctl name host <VDOM_name>.b

举例,下面命令是获取VDOM root的二层转发表 :
diag netlink brctl name host root.b

故障分析步骤二

可以通过防火墙内置的sniffer工具来抓取相关的数据包转发过程,请确保主机间持续生成ping包,然后在FortiGate的不同接口下抓包判断报文转发流程。
具体命令是:
diagnose sniffer packet any "" 4     ―――――――可以使用Ctrl+c中断sniffer

下面命令是抓取相关vlan接口的包:
diagnose sniffer packet <each_vlan_interface> "" 6

更加详细的说明请参考文档:“FortiGate 用Sniffer 命令抓包分析说明文档“

故障分析步骤三

同样可以使用FortiGate的debug flow功能来分析相关故障,
使用到的相关命令如下:
diag debug flow filter add <IP_address_of_source_device>
diag debug flow show console enable
diag debug flow show function-name enable
diag debug flow trace start 100
diag debug enable
可以使用命令"diag debug flow trace stop"来停止debug flow功能
其他更加详细的debug flow的功能说明请参考文档:FortiGate上面检查网络连通性的几个方法。

相关热词搜索:

上一篇:通过查看FortiGate连接表进行故障定位
下一篇:防火墙PPPoE接口不能连接问题

分享到: 收藏