ansibleguy.addons_nftables

Ansible-Rolle - NFTables-Add-Ons
Rolle zur Bereitstellung von Add-Ons für NFTables auf Linux-Servern.
Molekuel-Logs: Kurz, Vollständig
Getestet:
- Debian 11
- Debian 12
Installation
# neueste Version
ansible-galaxy role install git+https://github.com/ansibleguy/addons_nftables
# aus Galaxy
ansible-galaxy install ansibleguy.addons_nftables
# oder für einen benutzerdefinierten Rollenpfad
ansible-galaxy install ansibleguy.addons_nftables --roles-path ./roles
Dokumentation
- NFTables: Wiki
- Schau dir das Beispiel an!
- Ansible verwaltet alle NFTables: ansibleguy.infra_nftables
Nutzung
Du kannst die NFTables-Basis-Konfiguration mit der Rolle ansibleguy.infra_nftables verwalten!
Konfiguration
Hier findest du ein detaillierteres Beispiel: Beispiel!
Definiere die Konfiguration nach Bedarf:
nftables_addons:
enable:
dns: true # DNS-Addon aktivieren
dns_v6: true # IPv6-Verarbeitung des DNS-Addons aktivieren
iplist: true # IPList-Addon aktivieren
iplist_v6: true # IPv6-Verarbeitung des IPList-Addons aktivieren
# timer: true # Du könntest das Timer-Management deaktivieren, wenn du es selbst erledigen möchtest
# systemd: true # Addons mithilfe eines systemd-Timers aktualisieren
# cron: false # Addons mithilfe eines Cron-Jobs aktualisieren
# include: true # Automatiche Einbindung von Addons in /etc/nftables.conf deaktivieren
config:
iplists:
iplist_tor_exit_nodes: # Variablenname
urls: ['https://check.torproject.org/torbulkexitlist']
separator: "\n"
comment: '#'
dns_records:
ntp_servers: ['0.europe.pool.ntp.org', '1.europe.pool.ntp.org']
repo_debian: ['deb.debian.org', 'debian.map.fastlydns.net', 'security.debian.org']
ext: 'nft' # Erweiterung für die nftables Konfigurationsdateien
path:
base:
config: '/etc/nftables.conf'
dir: '/etc/nftables.d'
addon:
dir: '/etc/nftables.d/addons'
timer:
systemd:
dns: '*:0/15' # alle 15 Minuten aktualisieren
iplist: '*-*-* 00,12:00:00' # zweimal täglich aktualisieren
# cron:
# dns: # alle 15 Minuten
# minute: '*/15'
# iplist: # zweimal täglich
# minute: '0'
# hour: '0,12'
Ausführung
Führe das Playbook aus:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Es gibt auch einige nützliche Tags:
- dns
- iplist
- config (nur die Addon-Konfiguration aktualisieren)
Um Fehler zu debuggen, kannst du die 'debug'-Variable zur Laufzeit setzen:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Funktionalität
Konfiguration
Standardkonfiguration:
- Systemd-Timer zum Ausführen der Addons
- Protokollierung auf Syslog
- Anhang für IPv6-Variablen: '_v6'
- Zum Beispiel: Variable 'repo_debian' => 'repo_debian_v6'
- Timer
- DNS => alle 15 Minuten aktualisiert
- IP-List => zweimal täglich aktualisiert
- Systemd
- Syslog-ID: 'nftables_addon_{ addon }'
- Service/Timer-Präfix: 'ansibleguy.addons_nftables-'
Standard-Opt-ins:
- Timer für automatische Aktualisierung der Variablen
- Systemd-Timer
- Hinzufügen zur Einbindung in '/etc/nftables.conf'
Standard-Opt-outs:
- Add-Ons
- DNS
- Verarbeitung von DNS IPv6
- IP-Listen
- Verarbeitung von IP-Listen IPv6
- DNS
- Cron-Job-Timer
- Add-Ons
Informationen
Hinweis: Diese Rolle unterstützt derzeit nur Debian-basierte Systeme.
Hinweis: Die meisten Funktionalitäten der Rolle können aktiviert oder deaktiviert werden.
Für alle verfügbaren Optionen - siehe die Standardkonfiguration im Hauptkonfigurationsdatei!
Warnung: Nicht jede Einstellung/Variable, die du angibst, wird auf Gültigkeit überprüft. Eine fehlerhafte Konfiguration kann die Rolle außer Kraft setzen!
Hinweis: Jede definierte Variable wird erstellt, da eine fehlende zu einer fehlerhaften Konfiguration führen könnte!
Wenn ein DNS-Eintrag nicht aufgelöst werden kann oder kein Eintrag zurückgegeben wird - wird ein Fallback-Wert (IPv4: 0.0.0.0, IPv6: ::) gesetzt.
Ansible Role to provision Add-Ons for NFTables on Linux servers
ansible-galaxy install ansibleguy.addons_nftables