A firewall is a program that controls the incoming and outgoing network traffic on a system. Use this tag for all questions related to firewall configuration and operation.

A firewall is often associated with a packet filter. A packet filter operates on link, network and transport layer. Examples for packet filters are

  • pf (OpenBSD; ported to NetBSD, FreeBSD and Mac OS)
  • ipfilter (NetBSD, FreeBSD)
  • ipfw (FreeBSD)
  • npf (NetBSD)
  • xtables (i.e. iptables/ebtables/arptables; Linux)
  • nftables (Linux; replacement for xtables)

The latest versions support IPv6 and stateful inspection. The latter means that the software keeps track of what happened within a limited time window and can correlate incoming packets to that history.

Firewalls are not limited to packet filters. Any gateway that enforces a security policy can be considered as a firewall. Examples for those are

  • web application firewalls
  • database firewalls
  • mail gateways
  • VoIP gateways (of which session border controllers are a particular form)