Re: Introducing shorewall-nft
Justin Pryzby <[email protected]> Sun, 26 Jul 2026 12:38:18 -0500
| Newsgroups | gmane.comp.security.shorewall |
|---|---|
| Message-ID | <amZGCrEdBHpdJIZS@pryzbyj2023> |
Hi, I looked at this a bit. At present, we have only a few shorewall instances, and they don't handle anything sophisticated -- multiple interfaces with NAT is about all we need right now. I appreciate that you've elected to preserve shorewall's configuration files/interface. It's so successful and so well-liked that it's important to keep it the same. I hit a couple minor issues: ./rules -- If the 'net' zone is empty, this will be rejected. I understand that's deliberate, but a behavior change from shorewall(tm). DNAT net,loc vm:192.168.122.11 tcp 80,443,5679 ERROR: DNAT source zone net has no interface or host to match (rules:19) ./conntrack -- We had an unmodified template file, which failed like this. I moved it out of the way. ERROR: /etc/shorewall/conntrack:6: unsupported ?FORMAT 3 Maybe this dir should be protected, for consistency with shorewall? drwxr-x--- 2 root root 4096 Jul 20 09:50 /var/lib/shorewall drwxr-xr-x 2 root root 4096 Jul 20 09:52 /var/lib/shorewall-nft It looks like this already handles what we currently need. When we do some more upgrades, we'll also want to support DOCKER=yes -- it's not clear to me if that's implemented yet ? It'd be great if a more people were to try it out and report back. I'm sure Dave is interested in more feedback, even if it amounts to "X isn't supported / didn't work right", it's useful to know what missing features are "most wanted". Thanks for doing this. Justin Shorewall user for ~20 years. On Sun, Jul 19, 2026 at 02:55:10PM +1000, Dave Kempe wrote: > Hi Shorewall people! > > We (sol1.com.au) have been avid Shorewall users and supporters for around > 20 years. Wow that is a long time. We have a fleet of managed firewalls > that use Shorewall, among other things, to keep many of our customers > online and secure. The decline of Shorewall has been "a problem for another > day" for a long time now, and I finally decided to do something about it. > > Shorewall-nft is a Python ground up rewrite, specifically to support > keeping your shorewall config the same, but it emits pure nftables. > > https://github.com/sol1/shorewall-nft > > We are running it on many of our systems already, in fact, these packets > are flowing to you over it right now. It was tested and developed against a > primary fleet of 45 different firewall configs, including all the > standard configurations and much of the weirder configurations represented. > > Our aim is to replace Shorewall with shorewall-nft, and continue supporting > it. Our team has managed custom software and linux firewalls for years, and > would be honoured to become custodians of this project. Of course we > welcome all input, and this is a true Open Source project. > > We would love some feedback on whether it works for you. You can simply > grab the deb or rpm, do a shorewall check and shorewall migrate, and it > will flush your old rules and switch you to nftables. > > As bonus features, we also built shorewall-lsm, a Link Status Monitor with > multi-ISP support that appears to be working well and geoip improvements > along they way. Any improvements maintain backwards config capability, and > simply add to the existing config base. > See https://github.com/sol1/shorewall-nft/blob/main/docs/failover.md for > more info on shorewall-lsm > > Happy to provide support or see FRs via github infrastructure. If the > project gets legs at all, we will consider a docs site or other further > improvements.