ansibleguy.addons_nftables

NFTables-Logo

Ansible-Rolle - NFTables-Add-Ons

Rolle zur Bereitstellung von Add-Ons für NFTables auf Linux-Servern.

Kaufe mir einen Kaffee

Molecule Test Status YamlLint Test Status PyLint Test Status Ansible-Lint Test Status Ansible Galaxy

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


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
      • Cron-Job-Timer

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.

Über das Projekt

Ansible Role to provision Add-Ons for NFTables on Linux servers

Installieren
ansible-galaxy install ansibleguy.addons_nftables
GitHub Repository
Lizenz
other
Downloads
2k
Besitzer
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg