ansibleguy.addons_nftables

Logo NFTables

Rola Ansible - Dodatki do NFTables

Rola do wdrażania dodatków dla NFTables na serwerach Linux.

Postaw mi kawę

Status testów Molecule Status testów YamlLint Status testów PyLint Status testów Ansible-Lint Ansible Galaxy

Logi Molecule: Krótki, Pełny

Testowano na:

  • Debian 11
  • Debian 12

Instalacja

# najnowsza wersja
ansible-galaxy role install git+https://github.com/ansibleguy/addons_nftables

# z galaxy
ansible-galaxy install ansibleguy.addons_nftables

# lub do własnej ścieżki ról
ansible-galaxy install ansibleguy.addons_nftables --roles-path ./roles

Dokumentacja


Użycie

Możesz zarządzać podstawową konfiguracją NFTables używając roli ansibleguy.infra_nftables!

Konfiguracja

Możesz znaleźć bardziej szczegółowy przykład tutaj: Przykład!

Zdefiniuj konfigurację według potrzeb:

nftables_addons:
  enable:
    dns: true  # włącz dodatek DNS
    dns_v6: true  # włącz przetwarzanie IPv6 w dodatku DNS
    iplist: true  # włącz dodatek IPList
    iplist_v6: true  # włącz przetwarzanie IPv6 w dodatku IPList
    # timer: true  # możesz wyłączyć zarządzanie timerem, jeśli chcesz to zrobić samodzielnie
    # systemd: true  # aktualizuj dodatki używając timera systemd
    # cron: false  # aktualizuj dodatki używając zadania cron
    # include: true  # wyłącz automatyczne dodawanie dodatków do /etc/nftables.conf

  config:
    iplists:
      iplist_tor_exit_nodes:  # nazwa zmiennej
        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'  # rozszerzenie używane przez pliki konfiguracyjne nftables
  path:
    base:
      config: '/etc/nftables.conf'
      dir: '/etc/nftables.d'
    addon:
      dir: '/etc/nftables.d/addons'

  timer:
    systemd:
      dns: '*:0/15'  # aktualizuj co 15 minut
      iplist: '*-*-* 00,12:00:00'  # aktualizuj dwa razy dziennie

    # cron:
    #   dns:  # co 15 minut
    #     minute: '*/15'
    #   iplist:  # dwa razy dziennie
    #     minute: '0'
    #     hour: '0,12'

Wykonanie

Uruchom playbooka:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

Dostępne są również przydatne tagi:

  • dns
  • iplist
  • config (tylko aktualizacja konfiguracji dodatków)

Aby debugować błędy - możesz ustawić zmienną 'debug' w czasie wykonywania:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

Funkcjonalność

  • Konfiguracja

    • Domyślna konfiguracja:

      • Timer systemd do uruchamiania dodatków
      • Logowanie do Syslog
      • Dodatek dla zmiennych IPv6: '_v6'
        • Na przykład: zmienna 'repo_debian' => 'repo_debian_v6'
      • Timery
        • DNS => aktualizowany co 15 minut
        • Lista IP => aktualizowana dwa razy dziennie
      • Systemd
        • Id syslogu: 'nftables_addon_{ addon }'
        • Prefiks usługi/timera: 'ansibleguy.addons_nftables-'
    • Domyślne opcje włączone:

      • Timer do automatycznej aktualizacji zmiennych
      • Timer systemd
      • Dodawanie include do '/etc/nftables.conf'
    • Domyślne opcje wyłączone:

      • Dodatki
        • DNS
          • Przetwarzanie DNS IPv6
        • Listy IP
          • Przetwarzanie IPv6 w Liście IP
      • Timer zadania cron

Informacje

  • Uwaga: ta rola obsługuje obecnie tylko systemy oparte na Debianie.

  • Uwaga: Większość funkcjonalności roli może być włączona lub wyłączona.

    Aby zobaczyć wszystkie dostępne opcje - sprawdź domyślną konfigurację w głównym pliku domyślnym!

  • Ostrzeżenie: Nie każda ustawiona/zmienna, którą podajesz, będzie sprawdzana pod kątem ważności. Zła konfiguracja może zepsuć rolę!

  • Uwaga: Każda zdefiniowana zmienna będzie tworzona ponieważ brak jednej może uszkodzić twoją konfigurację!

    Jeśli rekord DNS nie może być rozwiązany lub nie zostanie zwrócony żaden wpis - zostanie ustawiona wartość domyślna (IPv4: 0.0.0.0, IPv6: ::)

O projekcie

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

Zainstaluj
ansible-galaxy install ansibleguy.addons_nftables
Licencja
other
Pobrania
2k
Właściciel
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg