firehol-interface(5)
π firehol-interface β interface definition π
okay bestie, so this is firehol-interface from the firehol-interface(5) manual, and it's literally the blueprint for locking down the actual machine you're sitting on. let's get into it π«Ά
β¨ NAME β¨
firehol-interface β interface definition
πΈ SYNOPSIS πΈ
{ interface | interface46 } real-interface name rule-params
interface4 real-interface name rule-params
interface6 real-interface name rule-params
π¦ DESCRIPTION π¦
so when you write an interface definition, you're building a firewall that protects the host the firewall is running on. like, this exact box. main character energy for real. π
the default policy is DROP, which means if you give it no subcommands at all, the firewall is just gonna drop every single incoming and outgoing packet using this interface. no cap. silence. nothing gets through. π
what your interface actually does is controlled by adding subcommands from the ones listed down in INTERFACE SUBCOMMANDS.
Note β forwarded traffic is never matched by interface rules, even if it was originally headed for the firewall itself and got redirected using NAT. any traffic that needs to pass through the firewall for literally any reason has to live in a router instead (peep firehol-router(5)). π§
Note β writinginterface4is the same thing as writingipv4 interface, and it makes sure the interface you defined gets created only in the IPv4 firewall, along with any rules inside it. β¨
Note β writinginterface6is the same as writingipv6 interface, and it makes sure the interface you defined gets created only in the IPv6 firewall, along with any rules inside it. β¨
Note β writinginterface46is the same as writing bothinterfaceand... it makes sure the defined interface gets created in both the IPv4 and IPv6 firewalls. any rules inside it get applied to both too, unless they say otherwise. double the slay, double the firewall π
π PARAMETERS π
real-interfaceβ this is the interface name exactly likeip link showshows it to you. generally, anythingiptables(8)accepts is valid here. π
the + (plus sign) after some text will match all interfaces that start with that text. so eth+ is giving "every eth, bestie".
you can also specify multiple interfaces by wrapping them in quotes and delimiting with spaces, like this:
interface "eth0 eth1 ppp0" myname
nameβ this is the name for your interface. keep it short, bestie: 10 characters maximum, no spaces, no weird symbols. π
a name should be unique across all FireHOL interface and router definitions. no name-stealing allowed. π βοΈ
rule-paramsβ the set of rule parameters that further restrict which traffic gets matched to this interface.
head over to firehol-params(5) for the full rundown on what params you can use. some examples:
interface eth0 intranet src 192.0.2.0/24
interface eth0 internet src not "${UNROUTABLE_IPS}"
and if you're like "wait what is ${UNROUTABLE_IPS}", firehol.conf(5) explains it. iykyk π
π SEE ALSO π
firehol(1)- FireHOL programfirehol.conf(5)- FireHOL configurationfirehol-params(5)- optional rule parametersfirehol-modifiers(5)- ipv4/ipv6 selectionfirehol-router(5)- router definitionfirehol-iptables(5)- iptables helperfirehol-masquerade(5)- masquerade helper- FireHOL Website
- FireHOL Online PDF Manual
- FireHOL Online Documentation
β Interface Subcommands β
firehol-policy(5)- policy commandfirehol-protection(5)- protection commandfirehol-server(5)- server, route commandsfirehol-client(5)- client commandfirehol-group(5)- group command
π AUTHORS π
FireHOL Team. absolute icons, fr fr π«Ά
and that's the whole page bestie, no crumbs left π this was FireHOL Reference, built 13 Apr 2025 β mwah, go secure that host. πΈβ¨
π¦ where this page comes from
- debian trixie: firehol-doc 3.1.8+ds-1 Β· GPL-2.0-or-later
- ubuntu resolute: firehol-doc 3.1.8+ds-1 Β· GPL-2.0-or-later
- ubuntu stonking: firehol-doc 3.1.8+ds-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms