feat: rename masq to snat throughout, update generator to Shorewall 5 snat format
This commit is contained in:
@@ -48,10 +48,11 @@ class ShorewallGenerator:
|
||||
lines.append(self._col(r.action, src, dst, r.proto or "-", r.dport or "-", r.sport or "-", width=16))
|
||||
return "".join(lines)
|
||||
|
||||
def masq(self) -> str:
|
||||
lines = [self._header("masq"), "#INTERFACE".ljust(24) + "SOURCE".ljust(24) + "ADDRESS\n"]
|
||||
for m in self._config.masq_entries:
|
||||
lines.append(self._col(m.out_interface, m.source_network, m.to_address or "-", width=24))
|
||||
def snat(self) -> str:
|
||||
lines = [self._header("snat"), "#ACTION".ljust(24) + "SOURCE".ljust(24) + "DEST\n"]
|
||||
for m in self._config.snat_entries:
|
||||
action = f"SNAT:{m.to_address}" if m.to_address else "MASQUERADE"
|
||||
lines.append(self._col(action, m.source_network, m.out_interface, width=24))
|
||||
return "".join(lines)
|
||||
|
||||
def as_json(self) -> dict:
|
||||
@@ -60,7 +61,7 @@ class ShorewallGenerator:
|
||||
"interfaces": self.interfaces(),
|
||||
"policy": self.policy(),
|
||||
"rules": self.rules(),
|
||||
"masq": self.masq(),
|
||||
"snat": self.snat(),
|
||||
}
|
||||
|
||||
def as_zip(self) -> bytes:
|
||||
@@ -70,5 +71,5 @@ class ShorewallGenerator:
|
||||
zf.writestr("interfaces", self.interfaces())
|
||||
zf.writestr("policy", self.policy())
|
||||
zf.writestr("rules", self.rules())
|
||||
zf.writestr("masq", self.masq())
|
||||
zf.writestr("snat", self.snat())
|
||||
return buf.getvalue()
|
||||
|
||||
Reference in New Issue
Block a user