Refactor extract-fw-host-vars.py to improve quoted value handling and add fw_manage_config to generated YAML; create ipt-server.yml for a.mx.oopen.de with initial configuration
This commit is contained in:
@@ -10,11 +10,13 @@ wird.
|
||||
## Überblick
|
||||
|
||||
Das alte Verfahren:
|
||||
|
||||
- Firewall-Skripte und Conf-Dateien wurden manuell oder über die alte `firewall`-Rolle
|
||||
(lineinfile/blockinfile) gepflegt.
|
||||
- Änderungen direkt in `/etc/ipt-firewall/` auf dem Host.
|
||||
|
||||
Das neue Verfahren:
|
||||
|
||||
- Alle Firewall-Einstellungen liegen in `host_vars/${HOSTNAME}/ipt-server.yml`.
|
||||
- Ansible deployt die Config-Dateien aus Jinja2-Templates.
|
||||
- Direktes Editieren auf dem Host ist nicht mehr vorgesehen.
|
||||
@@ -47,6 +49,7 @@ cat host_vars/${HOSTNAME}/ipt-server.yml
|
||||
```
|
||||
|
||||
Kontrollpunkte:
|
||||
|
||||
- Sind `fw_ext_interfaces`, `fw_ext_ips_v4`, `fw_ext_ips_v6` korrekt?
|
||||
- Sind aktivierte Dienste (Mail, HTTP, VPN usw.) vorhanden?
|
||||
- Sind `munin_remote_ipv4` / `munin_remote_ipv6` eingetragen (falls Munin läuft)?
|
||||
@@ -61,6 +64,7 @@ Alle Variablen und ihre Bedeutung stehen in `defaults/main.yml`.
|
||||
Solange `fw_manage_config` nicht auf `true` gesetzt ist (Default: `false`),
|
||||
überschreibt Ansible **keine** bestehenden Config-Dateien. Es werden nur
|
||||
installiert:
|
||||
|
||||
- Firewall-Skripte → `/usr/local/sbin/`
|
||||
- Geteilte Conf-Dateien → `/etc/ipt-firewall/`
|
||||
- Systemd-Units → `/etc/systemd/system/`
|
||||
@@ -89,7 +93,7 @@ Vergleich.
|
||||
```bash
|
||||
HOSTNAME=<hostname>
|
||||
|
||||
ssh ${HOSTNAME} '
|
||||
ssh -t ${HOSTNAME} '
|
||||
iptables-save | grep -v "^#" | sed "s/\[[0-9]*:[0-9]*\]/[0:0]/g" \
|
||||
> /tmp/fw_before_v4.rules
|
||||
ip6tables-save | grep -v "^#" | sed "s/\[[0-9]*:[0-9]*\]/[0:0]/g" \
|
||||
@@ -155,6 +159,7 @@ entsprechenden Variablen in `host_vars/${HOSTNAME}/ipt-server.yml` nachpflegen,
|
||||
erneut ausrollen und den Diff wiederholen.
|
||||
|
||||
Ab jetzt:
|
||||
|
||||
- Ansible überschreibt die vier Config-Dateien bei jedem Run aus den Templates.
|
||||
- Bei Änderungen an Templates oder host_vars wird die Firewall automatisch
|
||||
neu gestartet.
|
||||
|
||||
Reference in New Issue
Block a user