Description | This article describes how to resolve the 'reverse path check fail (bad src), drop' issue for NAT64 traffic originating from outside the FortiGate. |
Scope | FortiGate. |
Solution |
In this scenario, a client is attempting to access RDP over the Internet using IPv6. Traffic originating from '2001:db8:beef:cafe:a54d:bce1:1cb2:82e3:63386' is getting dropped due to 'reverse path check fail(bad src),drop'.
id=20085 trace_id=12 func=resolve_ip6_tuple_fast line=4787 msg="vd-root:0 received a packet(proto=6, 2001:db8:beef:cafe:a54d:bce1:1cb2:82e3:63386->2001:db8:dc1:abcd::3:3389) from port1."
The following Virtual IP, Firewall policy, and Central SNAT have been configured:
config firewall vip6 edit "RDPv6" set extip 2001:db8:dc1:abcd::3 set portforward enable set nat66 disable set nat64 enable set ipv4-mappedip 192.168.1.1 set ipv4-mappedport 3389 set extport 3389 next end
config firewall policy edit 2 set name "Inbound-RDP" set srcintf "port1" <-- WAN interface. set dstintf "port3" <-- LAN interface. set action accept set nat64 enable set srcaddr "all" set dstaddr "all" set srcaddr6 "all" set dstaddr6 "2001:db8:dc1:abcd::3/128" <-- Recommended to use the actual mapped address. set schedule "always" set service "RDP" next end
config firewall central-snat-map edit 1 set type ipv6 set srcintf "port1" set dstintf "port3" set orig-addr6 "RDP-Origin" set dst-addr6 "all" set nat64 enable set nat-ippool "192.168.1.100/32" next end
The issue stems from the misconfiguration in the central SNAT policy set orig-addr6 "RDP-Origin", where the source of the 'RDP-Origin' address objects does not match the source of the originating traffic.
Source of originating traffic: 2001:db8:beef:cafe:a54d:bce1:1cb2:82e3:63386
The misconfiguration highlighted in the address object:
config firewall address6 edit "RDP-Origin" set uuid d4b4850c-81d0-51f0-cafc-c015be298bde set ip6 2006:db8:dc1:abcd::2/128 next end
Solution: Ensure the central snat configuration matches the source and destination of the traffic; otherwise, the following message 'Reverse Path Check Failures (bad src), drop' may be seen in the debug flow.
config firewall address6 edit "RDP-Origin" set uuid d4b4850c-81d0-51f0-cafc-c015be298bde set ip6 2001:db8:beef:cafe::/64 next end
id=20085 trace_id=17 func=resolve_ip6_tuple_fast line=4787 msg="vd-root:0 received a packet(proto=6, 2001:db8:beef:cafe:31fc:98a2:8ef6:4761:58946->2001:db8:dc1:abcd::3:3389) from port1." id=20085 trace_id=17 func=init_ip_session_common line=6003 msg="allocate a new session-00004516, tun_id=0.0.0.0"
Related article: |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.