Troubleshooting Tip: FortiGate Interface not responding to traffic outside IPv6 subnet unless a firewall policy is configured
| Description | This article describes how to resolve one-way IPv6 traffic issues where traffic from originating outside FortiGate's subnet is dropped due to a missing firewall policy. |
| Scope | FortiGate. |
| Solution | In this scenario, the setup follows: Client (2001:db8:beef:cafe::/64) == Internet == (Port1: 2001:db8:dc1:abcd::1/64) FortiGate (Port3: 2001:db8:dc1:da01::1/64).
On the FortiGate, the routing table shows the necessary routing to reach 2001:db8:beef:cafe::/64 network via port1.
get router info6 routing-table IPv6 Routing Table Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, B - BGP * - candidate default
Timers: Uptime
Routing table for VRF=0 S* ::/0 [10/0] via 2001:db8:dc1:abcd::1, port1, 01:41:15, [1024/0] C ::1/128 via ::, root, 02:11:36 C 2001:db8:dc1:abcd::/64 via ::, port1, 01:10:48 C 2001:db8:dc1:da01::/64 via ::, port3, 00:41:43 C fe80::/64 via ::, port3, 01:21:34
Additionally, the inside interface, port3 has been configured to accept PING traffic.
config system interface edit "port3" set vdom "root" set type physical set snmp-index 3 config ipv6 set ip6-address 2001:db8:beef:cafe::1/64 set ip6-allowaccess ping https set ip6-send-adv enable config ip6-prefix-list edit 2001:db8:beef:cafe::/64 next end end next end
However, while troubleshooting, it can be observed in the sniffer that FortiGate is not responding to ICMPv6 traffic:
diagnose sniffer packet any 'net 2001:db8:beef:cafe::/64' 4 0 l
Furthermore, the debug flow shows the packet was received, but, no response back.
diagnose debug flow filter6 proto 1 diagnose debug flow trace start6 100 diagnose debug enable diagnose debug flow filter6 clear diagnose debug flow filter6 addr 2001:db8:dc1:da01::1 diagnose debug flow trace start6 100 diagnose debug enable id=20085 trace_id=6 func=resolve_ip6_tuple_fast line=4787 msg="vd-root:0 received a packet(proto=58, 2001:db8:beef:cafe:b478:4008:be22:8301:1->2001:db8:dc1:da01::1:128) from port1."
Solution: Since traffic is passing through FortiGate (i.e, Port1 to Port3), ensure there is a firewall policy to allow traffic, for example:
config firewall policy edit 1 set srcintf "port1" <----- Outside interface. set dstintf "port3" <----- Inside interface. set action accept set srcaddr "all" set dstaddr "all" set srcaddr6 "all" set dstaddr6 "all" set schedule "always" set service "ALL" next end
Results:
id=20085 trace_id=18 func=resolve_ip6_tuple_fast line=4787 msg="vd-root:0 received a packet(proto=58, 2001:db8:beef:cafe:b478:4008:be22:8301:1->2001:db8:dc1:da01::1:128) from port1."
diagnose sniffer packet any 'net 2001:db8:beef:cafe::/64' 4 0 l
Session6 table:
|
