ansibleguy.addons_nftables

Rola Ansible - Dodatki do NFTables
Rola do wdrażania dodatków dla NFTables na serwerach Linux.
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
- NFTables: Wiki
- Sprawdź Przykład!
- Zarządzaj całym NFTables za pomocą: ansibleguy.infra_nftables
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
- DNS
- Timer zadania cron
- Dodatki
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: ::)
Ansible Role to provision Add-Ons for NFTables on Linux servers
ansible-galaxy install ansibleguy.addons_nftables