modules: shorewall: Small fixups to improve the module

These are some common fixes and improvements for normal shorewall usage.
As we shake out more uses of this, we find small issues. This lets us
have long rules, and a better default config.
This commit is contained in:
James Shubin
2025-01-02 15:43:27 -05:00
parent 802823dcb0
commit 3107dfbd08
2 changed files with 17 additions and 3 deletions

View File

@@ -189,7 +189,7 @@ IMPLICIT_CONTINUE=No
IPSET_WARNINGS=Yes
IP_FORWARDING=Keep
IP_FORWARDING=On
KEEP_RT_TABLES=No

View File

@@ -33,6 +33,20 @@ import "golang"
import "local"
import "golang/strings"
# Class prepare adds some common things you probably want to run when using this
# module.
class prepare() {
sysctl "net.ipv4.ip_forward" { # firewalls love this!
value => "1",
}
svc "firewalld" { # we don't want this
state => "stopped",
startup => "disabled",
}
}
# XXX: The templates need a padding function to line up columns.
class firewall() {
pkg "shorewall" {
@@ -302,8 +316,8 @@ class firewall:rule($name, $st) {
$rule = $st->rule || "" # entire rule contents OR use the below values
$action = $st->action # REJECT or SSH(ACCEPT) or Ping(DROP)
$source = $st->source # source zone
$action = $st->action || "" # REJECT or SSH(ACCEPT) or Ping(DROP)
$source = $st->source || "" # source zone
$source_ips []str = $st->source_ips || []
$dest = $st->dest || "" # dest zone
$dest_ips []str = $st->dest_ips || []