Hi there!
I have a setup where I would like to allow ICMP port unreachable packets, even though there is no matching session in the 'diag sys session list' table. FortiOS 5.4.3, with NP6.
An old KB document states this http://kb.fortinet.com/kb/viewContent.do?externalId=FD31338&sliceId=1 :
"For ICMP error messages, there is an implicit processing, where only those reporting an error for an existing session can pass through the firewall. Otherwise, the packets are dropped. Common error messages could be:
- Destination Unreachable Messages - Time Exceeded Messages - Redirect Messages"
I would like to change / work around this behaviour.
host-A : 10.243.90.224
host-B : 10.172.0.2
On host-A, I issue mtr -u 10.172.0.2
-u makes mtr use UDP instead of ICMP, which will select random ports to try to use all available (ECMP) paths.
Example packet being sent as a response from host-B (that doesn't have this port open): 14:11:55.453305 IP 10.172.0.2 > 10.243.90.224: ICMP 10.172.0.2 udp port 38175 unreachable, length 72
The problem is that since I have multiple paths going via different FortiGates, there will be no entry in the session table for *some* of the returning ICMP port unreachable responses. Hence, the FortiGate will drop it. It looks like this in a debug flow:
id=20085 trace_id=160 func=print_pkt_detail line=4793 msg="vd-vpn received a packet(proto=1, 10.172.0.2:0->10.243.90.224:771) from VPN_0. type=3, code=3, id=0, seq=0."
A working (= ICMP unreachable actually being forwarded) debug flow looks like this - two messages instead of just one:
id=20085 trace_id=161 func=print_pkt_detail line=4793 msg="vd-vpn received a packet(proto=1, 10.172.0.2:0->10.243.90.224:771) from VPN_0. type=3, code=3, id=0, seq=0." id=20085 trace_id=161 func=vf_ip_route_input_common line=2586 msg="find a route: flag=00000000 gw-10.240.226.68 via port28"
Has anyone run into the same thing, and how have you solved it? Thanks in advance!
Nominating a forum post submits a request to create a new Knowledge Article based on the forum post topic. Please ensure your nomination includes a solution within the reply.
Hello,
If you want to enable asymetric routing just for ICMP messages, then you can use the 'asymroute-icmp' parameter.
config system settings
set asymroute-icmp enable
end
Best regards,
Benoit
Select Forum Responses to become Knowledge Articles!
Select the “Nominate to Knowledge Base” button to recommend a forum post to become a knowledge article.
User | Count |
---|---|
1713 | |
1093 | |
752 | |
447 | |
231 |
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 2024 Fortinet, Inc. All Rights Reserved.