S7700(V200R005C00SPC300)插NGFW单板出现虚拟接口up/down

发布时间:  2016-05-13 浏览次数:  143 下载次数:  0
问题描述

问题描述:S7700,S9700,S12700框式交换机在插NGFW单板,使用以下组网方式(交换机上下行网络跨网段、跨VLAN转发,交换机通过重定向方式引流,NGFW Module工作在接口对模式),完成配置后交换机的Eth-Trunk 1 (以及对应的物理口)和防火墙的eth-trunk0(以及对应的物理口)会反复的up/down

业务需求
如图1所示,NGFW Module安装在交换机的1号槽位,要对VLAN 301和VLAN 302之间的流量做安全检测。图1 NGFW Module的部署场景 


部署方案

图2所示,交换机通过流策略将报文重定向给NGFW Module。NGFW Module工作在接口对模式,使用二层Eth-Trunk接口接收交换机转发过来的流量。图2仅画出了从VLAN 301到VLAN 302的业务路径,反向流量沿相同路径转发。

图2 交换机上下行网络跨网段、跨VLAN转发(交换机通过重定向方式引流,NGFW Module工作在接口对模式)

从VLAN 301进入交换机的报文,首先查找路由表,根据路由表修改报文的VLAN标签为302,再转发给NGFW Module。报文经过NGFW Module处理后再回注给交换机。

交换机和NGFW Module上的配置分别如下:

  • 交换机的上下行接口配置为Access模式,分别加入VLAN 301和VLAN 302。
  • 交换机的上下行接口创建VLANIF接口,配置IP地址,分别作为上下行网络的网关。
  • 交换机的内部以太网接口捆绑为Eth-Trunk接口并配置为Trunk模式,允许VLAN 301和VLAN 302通过,不允许VLAN 1通过。
  • 交换机的内部以太网接口关闭MAC地址学习功能。如果不关闭,交换机内部以太网接口会同时学习到上下行网络的MAC地址,导致MAC漂移。
  • 交换机的内部以太网接口关闭STP功能。交换机上的接口默认是开启了STP功能的。在本组网中,从交换机转发给NGFW Module的流量与从NGFW Module返回的流量相同,会被交换机认为是环路报文而丢弃,导致业务不通。因此,需要关闭交换机内部以太网接口的STP功能。
  • 交换机的内部以太网接口配置接口上报状态变化事件的延时时间。在重启NGFW Module的场景下,交换机侧内部以太网接口先于NGFW Module侧内部以太网接口Up,此时交换机将流量转发给插卡,会导致流量中断。因此,需要在交换机的内部以太网接口配置接口上报状态变化事件的延时时间,建议不少于10秒。
  • 交换机的上下行接口配置与Eth-Trunk接口的单向隔离功能,以免ARP漂移。
  • 交换机配置流策略,将流量重定向到Eth-Trunk接口。
  • NGFW Module的内部以太网接口捆绑为二层Eth-Trunk接口,允许VLAN 301和VLAN 302通过。
  • NGFW Module的二层Eth-Trunk接口组成接口对,流量从同一个接口进出。
  • NGFW Module的二层Eth-Trunk接口加入安全域,并配置安全策略。
 说明:
  • 推荐将两个内部以太网接口捆绑成Eth-Trunk接口来提高带宽和可靠性,此处以Eth-Trunk接口为例。
  • 如果要实现在多个VLAN的三层转发,只需在交换机和NGFW Module的内部以太网接口上允许相应的VLAN通过。

操作步骤

  1. 交换机:创建VLAN,配置上下行接口为Access模式并加入相应的VLAN。

    <sysname> system-view
    [sysname] vlan batch 301 302
    [sysname] interface GigabitEthernet 3/0/1
    [sysname-GigabitEthernet3/0/1] port link-type access
    [sysname-GigabitEthernet3/0/1] port default vlan 301
    [sysname-GigabitEthernet3/0/1] quit
    [sysname] interface GigabitEthernet 3/0/0
    [sysname-GigabitEthernet3/0/0] port link-type access
    [sysname-GigabitEthernet3/0/0] port default vlan 302
    [sysname-GigabitEthernet3/0/0] quit
    

  2. 交换机:配置VLANIF接口。

    [sysname] interface vlanif301
    [sysname-vlanif301] ip address 10.10.10.1 24
    [sysname-vlanif301] quit
    [sysname] interface vlanif302
    [sysname-vlanif302] ip address 10.10.20.1 24
    [sysname-vlanif302] quit
    

  3. 交换机:配置Eth-Trunk接口。

    [sysname] interface Eth-Trunk 1
    [sysname-Eth-Trunk1] trunkport XGigabitEthernet 1/0/0
    [sysname-Eth-Trunk1] trunkport XGigabitEthernet 1/0/1
    [sysname-Eth-Trunk1] port link-type trunk
    [sysname-Eth-Trunk1] port trunk allow-pass vlan 301 302
    [sysname-Eth-Trunk1] undo port trunk allow-pass vlan 1
    [sysname-Eth-Trunk1] mac-address learning disable
    [sysname-Eth-Trunk1] stp disable
    [sysname-Eth-Trunk1] quit
    

  4. 交换机:配置内部以太网接口上报状态变化事件的延时时间。

    [sysname] interface XGigabitEthernet 1/0/0
    [sysname-XGigabitEthernet1/0/0] carrier up-hold-time 10000
    [sysname-XGigabitEthernet1/0/0] quit
    [sysname] interface XGigabitEthernet 1/0/1
    [sysname-XGigabitEthernet1/0/1] carrier up-hold-time 10000
    [sysname-XGigabitEthernet1/0/1] quit
    

  5. 交换机:分别配置上下行接口与Eth-Trunk 1的单向隔离。

    [sysname] interface GigabitEthernet 3/0/0
    [sysname-GigabitEthernet3/0/0] am isolate Eth-Trunk 1
    [sysname-GigabitEthernet3/0/0] quit
    [sysname] interface GigabitEthernet 3/0/1
    [sysname-GigabitEthernet3/0/1] am isolate Eth-Trunk 1
    [sysname-GigabitEthernet3/0/1] quit
    

  6. 交换机:配置流策略,将VLAN 301和VLAN 302之间的流量重定向到NGFW Module。

    # 创建ACL。

    [sysname] acl 3001
    [sysname-acl-adv-3001] rule permit ip source 10.10.10.0 0.0.0.255 destination 10.10.20.0 0.0.0.255
    [sysname-acl-adv-3001] quit
    [sysname] acl 3002
    [sysname-acl-adv-3002] rule permit ip source 10.10.20.0 0.0.0.255 destination 10.10.10.0 0.0.0.255
    [sysname-acl-adv-3002] quit
    

    # 配置流分类。

    [sysname] traffic classifier classifier1
    [sysname-classifier-classifier1] if-match acl 3001
    [sysname-classifier-classifier1] quit
    [sysname] traffic classifier classifier2
    [sysname-classifier-classifier2] if-match acl 3002
    [sysname-classifier-classifier2] quit
    

    # 配置流行为,将流量重定向到Eth-Trunk接口。

    [sysname] traffic behavior behavior1
    [sysname-behavior-behavior1] redirect interface Eth-Trunk 1
    [sysname-behavior-behavior1] quit
    

    # 配置流策略并应用到接口的入方向上。

    [sysname] traffic policy policy1
    [sysname-trafficpolicy-policy1] classifier classifier1 behavior behavior1
    [sysname-trafficpolicy-policy1] quit
    [sysname] traffic policy policy2
    [sysname-trafficpolicy-policy2] classifier classifier2 behavior behavior1
    [sysname-trafficpolicy-policy2] quit
    [sysname] interface GigabitEthernet 3/0/1
    [sysname-GigabitEthernet3/0/1] traffic-policy policy1 inbound
    [sysname-GigabitEthernet3/0/1] quit
    [sysname] interface GigabitEthernet 3/0/0
    [sysname-GigabitEthernet3/0/0] traffic-policy policy2 inbound
    [sysname-GigabitEthernet3/0/0] quit
    

  7. NGFW Module:创建Eth-Trunk接口,并允许VLAN 301和VLAN 302通过。

    # 创建VLAN。

    <sysname> system-view
    [sysname] vlan batch 301 302
    [sysname-vlan-302] quit
    

    # 配置二层以太网接口。

    [sysname] interface Eth-Trunk 0
    [sysname-Eth-Trunk0] portswitch
    [sysname-Eth-Trunk0] port link-type trunk
    [sysname-Eth-Trunk0] port trunk permit vlan 301 to 302
    [sysname-Eth-Trunk0] quit
    [sysname] interface GigabitEthernet 1/0/0
    [sysname-GigabitEthernet1/0/0] portswitch
    [sysname-GigabitEthernet1/0/0] Eth-Trunk 0
    [sysname-GigabitEthernet1/0/0] quit
    [sysname] interface GigabitEthernet 1/0/1
    [sysname-GigabitEthernet1/0/1] portswitch
    [sysname-GigabitEthernet1/0/1] Eth-Trunk 0
    [sysname-GigabitEthernet1/0/1] quit

  8. NGFW Module:创建接口对。

    [sysname] pair-interface Eth-Trunk 0 Eth-Trunk 0

  9. NGFW Module:接口加入安全域,并配置安全策略。

    # 接口加入安全域。

    [sysname] firewall zone Trust
    [sysname-zone-trust] add interface Eth-Trunk 0
    [sysname-zone-trust] quit
    

    # 配置地址集。

    [sysname] ip address-set vlan301 type object
    [sysname-object-address-set-vlan301] address 1 range 10.10.10.1 10.10.10.254
    [sysname-object-address-set-vlan301] quit
    [sysname] ip address-set vlan302 type object
    [sysname-object-address-set-vlan302] address 1 range 10.10.20.1 10.10.20.254
    [sysname-object-address-set-vlan302] quit
    

    # 配置安全策略。

     说明:
    为便于验证部署结果,此处以允许VLAN 301和VLAN 302之间的所有流量为例介绍配置方法。请在验证结束后配置更精细的安全策略。
    [sysname] security-policy
    [sysname-policy-security] rule name policy1
    [sysname-policy-security-rule-policy1] source-address address-set vlan301
    [sysname-policy-security-rule-policy1] dstination-address address-set vlan302
    [sysname-policy-security-rule-policy1] action permit
    [sysname-policy-security-rule-policy1] quit
    [sysname-policy-security] rule name policy2
    [sysname-policy-security-rule-policy2] source-address address-set vlan302
    [sysname-policy-security-rule-policy2] dstination-address address-set vlan301
    [sysname-policy-security-rule-policy2] action permit
    [sysname-policy-security-rule-policy2] quit
    [sysname-policy-security] quit
    

 
告警信息
May  9 2016 10:44:20 GJJ_ZXJF_CS_F3_01 %%01IFPDT/4/IF_STATE(l)[0]:Interface XGigabitEthernet1/0/1 has turned into DOWN state.
May  9 2016 10:44:20 GJJ_ZXJF_CS_F3_01 %%01IFNET/4/IF_STATE(l)[1]:Interface Eth-Trunk1 has turned into DOWN state.
May  9 2016 10:44:20 GJJ_ZXJF_CS_F3_01 %%01IFPDT/4/IF_STATE(l)[2]:Interface XGigabitEthernet1/0/0 has turned into DOWN state.
May  9 2016 10:44:17 GJJ_ZXJF_CS_F3_01 %%01IFPDT/4/IF_STATE(l)[3]:Interface XGigabitEthernet1/0/1 has turned into UP state.
May  9 2016 10:44:17 GJJ_ZXJF_CS_F3_01 %%01IFNET/4/IF_STATE(l)[4]:Interface Eth-Trunk1 has turned into UP state.
May  9 2016 10:44:17 GJJ_ZXJF_CS_F3_01 %%01IFPDT/4/IF_STATE(l)[5]:Interface XGigabitEthernet1/0/0 has turned into UP state.
May  9 2016 10:40:02 GJJ_ZXJF_CS_F3_01 %%01IFPDT/4/IF_STATE(l)[6]:Interface XGigabitEthernet1/0/1 has turned into DOWN state.
处理过程
对比配置没有发现问题,后经确认 默认交换机上eth-trunk1开启了loop-detection,开启之后会在接口上往外发广播包。防火墙上又配置了接口对(pair-interface Eth-Trunk 0 Eth-Trunk 0),从这个接口收到的所有报文都往这个接口发出去。这样导致交换机检测到成环,会把接口shutdown
根因
默认交换机上eth-trunk1开启了loop-detection,开启之后会在接口上往外发广播包。防火墙上又配置了接口对(pair-interface Eth-Trunk 0 Eth-Trunk 0),从这个接口收到的所有报文都往这个接口发出去。这样导致交换机检测到成环,会把接口shutdown
解决方案

在eth-trunk 1接口下关闭loop-detection功能,问题解决

关闭命令

<HUAWEI> system-view 
[HUAWEI] interface eth-trunk 1
[HUAWEI-GigabitEthernet1/0/0] loop-detection disable

END