|
Consider the following VLAN interfaces configured on FortiGate-I.
config system interface edit "vlan111" set vdom "root" set ip 10.111.1.1 255.255.255.252 set allowaccess ping set interface "vlan222" set vlanid 111 set snmp-index 10 next edit "vlan222" set vdom "root" set interface "port1" set vlanid 222 set snmp-index 20 next edit "port1" set vdom "root" set role lan set type physical set snmp-index 30 next end
Likewise, the following VLAN interfaces are configured on FortiGate-II.
config system interface edit "vlan111" set vdom "root" set ip 10.111.1.2 255.255.255.252 set allowaccess ping set interface "vlan222" set vlanid 111 set snmp-index 40 next edit "vlan222" set vdom "root" set interface "port2" set vlanid 222 set snmp-index 50 next edit "port2" set vdom "root" set role lan set type physical set snmp-index 60 next end
The network topology is as follows:
Windows10 (10.203.6.120) -- [(port10) FortiGate-I {port1 -- vlan222 -- vlan111 (10.111.1.1)}] ======= [{vlan111 (10.111.1.2) -- vlan222 -- port2} FortiGate-II (port20)] -- Windows10 (10.207.15.153)
A firewall policy has been configured to allow traffic between Windows clients.
config firewall policy edit 1 set name "Q-in-Q-Testing" set srcintf "port10" set dstintf "vlan111" set action accept set srcaddr "all" set dstaddr "all" set schedule "always" set service "ALL" set logtraffic all next end
With offloading enabled (default) on firewall policy ID 1, traffic stops after two ICMP requests.
FortiGate-I # diagnose sniffer packet any "host 10.207.15.153 and icmp" 4 0 l interfaces=[any] filters=[host 10.207.15.153 and icmp] 2025-01-09 09:20:37.184550 port10 in 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:37.184564 vlan111 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:37.184565 vlan222 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:37.184567 port1 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:37.184617 vlan111 in 10.207.15.153 -> 10.203.6.120: icmp: echo reply 2025-01-09 09:20:37.184623 port10 out 10.207.15.153 -> 10.203.6.120: icmp: echo reply 2025-01-09 09:20:38.181920 port10 in 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:38.181932 vlan111 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:38.181933 vlan222 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:38.181935 port1 out 10.203.6.120 -> 10.207.15.153: icmp: echo request 2025-01-09 09:20:38.181969 vlan111 in 10.207.15.153 -> 10.203.6.120: icmp: echo reply 2025-01-09 09:20:38.181978 port10 out 10.207.15.153 -> 10.203.6.120: icmp: echo reply ^C 12 packets received by filter 0 packets dropped by kernel
However, traffic works if offloading is disabled on firewall policy.
config firewall policy edit 1 set auto-asic-offload disable next end
The reason is that NP7 can NOT support 802.1Q over 802.1Q offloading due to hardware design. Fortigate supports 802.1Q over 802.1AD offloading only.
Upon latest confirmation from development, all NPUs before NP8, including NP6, NP6xlit,e and NP7lite, cannot support offload of 802.1Q over 802.1Q.
If the 802.1Q over 802.1Q interface 'vlan111' in the above example is configured as the underlay interface of an IPsec tunnel with the 'npu-offload' enabled as default, as below, the traffic will not be able to pass through the IPsec and will be dropped as well.
config vpn ipsec phase1-interface
edit "IPsec" set interface "vlan111" set ike-version 2 set peertype any set net-device enable set proposal aes128-sha256 aes256-sha256 set add-route disable set dpd on-idle set auto-discovery-receiver enable set remote-gw 10.56.245.134 set psksecret ENC sBTWIE56ryBAnum4CazbM57H= next end
The workaround is to have the NPU offloading disabled in the phase 1 setting as below:
config vpn ipsec phase1-interface
edit "IPsec"
set npu-offload disable
next
end
Related articles:
QinQ 802.1Q in 802.1Q - FortiGate administration guide
Improve DVLAN QinQ performance for NP7 platforms over virtual wire pairs - FortiGate documentation
Changing the DVLAN mode for FortiGates with NP7 processors - FortiGate documentation
Technical Tip: How to workaround double tagging issues with hardware acceleration over virtual wire ...
|