====== nftables ======
Aktivace nftables při startu
systemctl enable nftables.service
Konfigurační soubor
nano /etc/nftables.conf
Načtení a uložení config souboru. Všechny změny se provádí pouze v paměti bez uložení do souboru, po restartu zmizí.
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
===== Tabulky =====
Výpis všech pravidel.
nft list ruleset
Seznam tabulek
nft list tables
Přidat tabulku. Typy tabulek ip, ip6, inet (ip i ip6), arp a bridge.
nft add table ip nazev
Smazat tabulku
nft delete table inet nazev
Výpis určité tabulky.
nft list table inet nazev
===== Řetězce =====
Vytvoření/smazání nového řetězce (regular/base)
nft add chain inet filter webfilter
nft delete chain inet filter webfilter
nft add chain inet filter inputchain '{ type filter hook input priority 0; }'
===== Pravidla =====
Přidat nové pravidlo.
nft add rule inet nazev_tabulky output ip daddr x.x.x.x reject
nft add rule inet nazev_tabulky ip6 daddr x:x::x drop
nft add rule inet filter output ip daddr 8.8.8.8 counter
===== Jednoduchý firewall =====
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iifname "lo" accept
icmp type echo-request accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}
====== iptables ======
[[https://wiki.debian.org/DebianFirewall]]\\
[[https://wiki.debian.org/iptables]]
===== Základní nastavení =====
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
Načtení ze souboru
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
Uložit do souboru
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
===== Načtení nastavení při startu =====
==== iptables-persistent ====
Instalace balíčku iptables-persistent
apt install iptables-persistent
Nastavení je automaticky načteno při startu.
/etc/iptables/rules.v4
/etc/iptables/rules.v6
===== Vypnout ip6v =====
Pokud nepotřebujete ip6v stačí vypnout v /etc/sysctl.conf nebo /etc/sysctl.d/99sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Načíst změny
sysctl --system