Project

General

Profile

Actions

Feature #15189

closed

Firewall Rule Tracer

Added by Justin Radke almost 2 years ago. Updated almost 2 years ago.

Status:
Needs Patch
Priority:
Normal
Assignee:
-
Category:
Rules / NAT
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Default

Description

Requesting a Feature popular on successful commercial platforms to improve the viability of PFSense for larger more complicated install bases.
Packet Tracer:
INPUT: The Admin enters in the source interface, source IP address, destination address, and destination port.
PROCESS: Have the PFSense software process the packet as if it was processed by the system. First, identify the destination interface for the packet and then compare the request packet against the rules and determine if the packet was forwarded or dropped by the system.
OUTPUT: Packet allowed using firewall rule #X (the rules may need to be numbered on the "Rules" page) or packet denied by Rule #X or denied by implicit deny all.

For extensive rulesets on firewalls, especially multi-interface, that policies may number in the hundreds or greater than a thousand this feature is practically a requirement. This function helps tremendously in troubleshooting and avoid unnecessary rule duplicates. Log files are not a good answer for proper tracking of rulesets that allow or deny traffic.

Refer to this post for other relevant discussion:
https://forum.netgate.com/topic/83994/packet-tracer-function/8?_=1706202843548

Thank you for your consideration in this feature request. As a firewall admin for many other commercial platforms this will put some polish on PFSense and make it more presentable for larger installations. I for example will not consider a firewall in any of my environments without this functionality so I'd like to see it in PFSense.

Actions #1

Updated by Jim Pingle almost 2 years ago

  • Status changed from New to Needs Patch

This has come up before and it's not feasible until/unless PF itself has a test function internally to run such a trace and list rule(s) that get matched for a given input.

Otherwise we are taking on the tech debt/burden of completely rewriting the entire PF parsing function in some other language/utility and then having to keep that updated any time PF changes.

Actions

Also available in: Atom PDF