Nftables: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(25 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
−
=Install=
+
[[Kategorie:Nftables]]
−
*apt-get install nftables
+
* [[Nftabels Grundlagen]]
−
=Create a basic IPv4 table=
+
* [[Grundlegendes zum Connection Tracking]]
−
*nft add table inet filter
+
* [[nftables console]]
−
=List that table=
+
* [[iptables zu nftables]]
−
*nft list table inet filter
+
* [[nftables Masquerade]]
−
table inet filter {
+
* [[nftables Host absichern]]
−
}
+
* [[nftables Netze absichern]]
−
=Create a chain for input,output,forward traffic IPv4=
+
* [[nftables misc]]
−
*nft add chain inet filter input { type filter hook input priority 0\; }
+
* [[nftables Erweiterungen]]
−
*nft add chain inet filter output { type filter hook output priority 0\; }
+
* [[nftables ipsec]]
−
*nft add chain inet filter forward { type filter hook forward priority 0\; }
+
* [[nftables Anpassung]]
−
=Conntracking for input,output,forward=
+
* [[nftables Netmap]]
−
*nft add rule filter input ct state established,related counter accept
+
* [[nftables Webserver Beispiel]]
−
*nft add rule filter output ct state established,related counter accept
+
* [[nftables Webserver Beispiel Ratelimit]]
−
*nft add rule filter forward ct state established,related counter accept
+
* [[nft monitor trace]]
−
=loopback interface traffic is ok=
 
−
*nft add rule filter input  iifname "lo" counter accept
 
−
*nft add rule filter output  oifname "lo" counter accept
 
−
 
 
−
=A rule to check that ssh,http,https input is fine (IPv4)=
 
−
*nft add rule filter input tcp dport 22 counter accept
 
−
*nft add rule filter input tcp dport 80 counter accept
 
−
*nft add rule filter input tcp dport 443 counter accept
 
−
=A rule to check that output is fine (IPv4)=
 
−
*nft add rule filter output counter accept
 
−
=A rule to check that some forward is fine (IPv4)=
 
−
*nft add rule filter forward  iifname "ens19" oifname "ens18" tcp dport 22 counter accept
 
−
*nft add rule filter forward  iifname "ens19" oifname "ens18" tcp dport 443 counter accept
 
−
 
 
−
=Example Script=
 
−
<pre>
 
−
#!/usr/sbin/nft -f
 
−
#variable declration
 
−
define tcp_lan_input_ports = { 8472, 53 }
 
−
define tcp_all_input_ports = { 80, 443 }
 
−
define udp_lan_input_ports = { 53 }
 
−
define tcp_for_input_ports = { 53 }
 
−
define udp_for_input_ports = {  53 }
 
−
 
 
−
# table declaration
 
−
#
 
−
add table filter
 
−
add table nat
 
−
flush table filter
 
−
flush table nat
 
−
 
 
−
table filter {
 
−
        chain input {
 
−
                type filter hook input priority 0; policy drop;
 
−
                ct state established,related counter packets 97 bytes 6640 accept
 
−
                iifname "lo" counter accept
 
−
                iifname "ens19" tcp dport $tcp_lan_input_ports counter accept
 
−
                tcp dport $tcp_all_input_ports  counter accept
 
−
                udp dport $udp_lan_input_ports  counter accept
 
−
                log prefix "nft-input "
 
−
        }
 
−
 
 
−
        chain output {
 
−
                type filter hook output priority 0; policy drop;
 
−
                ct state established,related counter accept
 
−
                counter accept
 
−
                log prefix "nft-output "
 
−
        }
 
−
 
 
−
        chain forward {
 
−
                type filter hook forward priority 0; policy drop;
 
−
                ct state established,related counter accept
 
−
                iifname "ens19" oifname "ens19" counter accept
 
−
                iifname "ens19" oifname "ens18" tcp dport $tcp_for_input_ports counter accept
 
−
                iifname "ens19" oifname "ens18" udp dport $udp_for_input_ports counter accept
 
−
                iifname "ens19" oifname "ens18" icmp type echo-request counter accept
 
−
                log prefix "nft-forward "
 
−
        }
 
−
}
 
−
 
 
−
table ip nat {
 
−
      chain prerouting {
 
−
                  type nat hook prerouting priority 0;
 
−
    }
 
−
      chain postrouting {
 
−
                  type nat hook postrouting priority 0;
 
−
                  ip saddr 10.83.33.0/24 oif ens18 snat 10.84.252.33
 
−
 
 
−
      }
 
−
}
 
−
                                                                                                                  1,1          Top
 
−
</pre>
 
−
 
 
−
=List that table=
 
−
*nft list table inet filter
 
−
 
 
−
=Flush rules in chain filter/input=
 
−
*nft flush chain inet filter input
 
−
=Delete the chain filter/input=
 
−
*nft delete chain inet filter input
 
−
=Delete the table filter=
 
−
*nft delete table inet filter
 
−
=Links=
 
−
*https://wiki.nftables.org/wiki-nftables/index.php/Main_Page
 

Aktuelle Version vom 16. August 2026, 19:33 Uhr