firehol-tcpmss(5)
π firehol-tcpmss β the FireHOL helper that fixes your MSS drama π
okay bestie, so you know how sometimes packets are just... too big and everyone's being dramatic about it? yeah. this is the page for firehol-tcpmss, a lil helper from the FireHOL 3.1.8 era that sets the MSS of TCP SYN packets for routers. it's giving traffic cop energy. β¨
β¨ NAME β¨
firehol-tcpmss β set the MSS of TCP SYN packets for routers. periodt. π
π¦ SYNOPSIS π¦
tcpmss { mss | auto } [if-list]
that's it. that's the whole vibe. two things you can put in the first slot, and an optional little list of interfaces tagging along at the end. π
πΈ DESCRIPTION πΈ
okay so the tcpmss helper command sets the MSS (Maximum Segment Size) of TCP SYN packets that get routed through the firewall. why do we care? because sometimes Path MTU Discovery is just NOT working β it's flaky, it's messy, it's not showing up for you β and packet fragmentation isn't possible either. and when those two things fail together? your connections are lowkey doomed. that's where this comes in. π«Ά
now, the mss part:
- a numeric
msswill set the MSS of TCP connections to the value you give it. you pick a number, it uses that number, no cap. - the word
autowill set the MSS to the MTU of the outgoing interface minus 40. that's theclamp-mss-to-pmtubehaviour, iykyk. π
and here's the part where you need to pay attention to where you write it, because placement changes everything:
- if you use it inside a router or interface definition, the MSS gets applied to outgoing traffic on the
outface(s)of that router or interface. main character placement. - if you use it before any router or interface definitions, it gets applied to all traffic passing through the firewall. big scope energy.
- and if
if-listis given, the MSS gets applied only to those interfaces. so you can be picky, and honestly? slay.
β οΈ real talk: this exists to work around broken Path MTU Discovery. it is not a cute decorative accessory, it is a fix. use it on purpose. π
π₯ EXAMPLES π₯
here's how it actually looks, copy-paste girlies:
tcpmss auto
tcpmss 500
tcpmss 500 "eth1 eth2 eth3"
see? auto when you want it to figure itself out. 500 when you're being specific. and a whole little squad of interfaces in quotes when you're feeling selective. iconic behaviour, fr fr. π
π SEE ALSO π
go read these too, bestie, they're all connected:
firehol(1)β the FireHOL programfirehol.conf(5)β FireHOL configurationfirehol-interface(5)β interface definitionfirehol-router(5)β router definition- FireHOL Website
- FireHOL Online PDF Manual
- FireHOL Online Documentation
https://www.frozentux.net/iptables-tutorial/iptables-tutoriβal.html#TCPMSSTARGETβ TCPMSS target in the iptables tutorial
(that URL is long enough to need its own zip code, but it's the TCPMSS target section in the iptables tutorial, and it's worth the scroll. π§)
π AUTHORS π
FireHOL Team. absolute legends, no notes. π
okay that's the whole page, bestie!! this was FireHOL Reference, built 13 Apr 2025, from the firehol-tcpmss(5) manual β go forth and clamp those MSS values responsibly. ππ
β¨
π¦ 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