Nftables Linux - Security und Firewall Labor: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:Nftables Kategorie:Linux = Routing Firewall = * Eine einfache Firewall, die Pakete aus dem LAN ins WAN weiterleitet * Pakete aus dem WAN von…“)
 
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 22: Zeile 22:
 
* Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
 
* Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
 
* '''vim ''/etc/nftables.conf'' '''
 
* '''vim ''/etc/nftables.conf'' '''
 +
<pre>
 +
#!/usr/sbin/nft -f
 +
flush ruleset
 +
 +
table inet nat {
 +
    chain postrouting {
 +
        type nat hook postrouting priority 100; policy accept;
 +
        oif "name_des_wan_interfaces" masquerade
 +
    }
 +
}
 +
</pre>
  
flush ruleset
 
...
 
 
table ip nat {
 
    chain prerouting {
 
        type nat hook prerouting priority -100; policy accept;
 
    }
 
 
    chain postrouting {
 
        type nat hook postrouting priority 100; policy accept;
 
        oif ''"name_des_wan_interfaces"'' '''masquerade'''
 
    }
 
}
 
  
 
'''Merksatz'''
 
'''Merksatz'''
Zeile 43: Zeile 41:
 
;Enablen
 
;Enablen
 
* '''systemctl enable --now nftables'''
 
* '''systemctl enable --now nftables'''
 +
 +
==Unser erstes NAT==
 +
<pre>
 +
#!/usr/sbin/nft -f
 +
 +
flush ruleset
 +
 +
define wandev = enp0s3
 +
define wanip = 192.168.HS.1xx
 +
define lan = 172.17.1xx.0/24
 +
define server = 172.16.1xx.0/24
 +
define mgmt = 172.18.1xx.0/24
 +
 +
table inet nat {
 +
    chain postrouting {
 +
        type nat hook postrouting priority 100; policy accept;
 +
 +
        oif $wandev ip saddr $lan snat to $wanip
 +
        oif $wandev ip saddr $server snat to $wanip
 +
        oif $wandev ip saddr $mgmt snat to $wanip
 +
    }
 +
}
 +
</pre>
 +
 +
==Kontrolle==
 +
*nft list ruleset
  
 
= Links =
 
= Links =
 
* https://wiki.gentoo.org/wiki/Nftables/Examples
 
* https://wiki.gentoo.org/wiki/Nftables/Examples

Aktuelle Version vom 15. April 2025, 04:40 Uhr

Routing Firewall

  • Eine einfache Firewall, die Pakete aus dem LAN ins WAN weiterleitet
  • Pakete aus dem WAN von etablierten Verbindungen sollen ins LAN geleitet werden

Routing aktivieren

  • sysctl -w net.ipv4.ip_forward=1
  • falls das rebootfähig sein soll, muss die Datei /etc/sysctl.conf bearbeitet werden
  • vim /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
  • sysctl -p

Einfaches NAT

  • Quell IP Adressen aus dem LAN sollen auf die WAN IP geändert werden
  • Am einfachsten ist dafür das "Masquerading";
  • Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
  • vim /etc/nftables.conf
#!/usr/sbin/nft -f
flush ruleset

table inet nat {
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;
        oif "name_des_wan_interfaces" masquerade
    }
}


Merksatz

  • DNAT früh, weil das Ziel schon geändert sein muss, bevor geroutet wird.
  • SNAT spät, weil erst klar sein muss, welches Interface das Paket verlässt.
Enablen
  • systemctl enable --now nftables

Unser erstes NAT

#!/usr/sbin/nft -f

flush ruleset

define wandev = enp0s3
define wanip = 192.168.HS.1xx
define lan = 172.17.1xx.0/24
define server = 172.16.1xx.0/24
define mgmt = 172.18.1xx.0/24

table inet nat {
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;

        oif $wandev ip saddr $lan snat to $wanip
        oif $wandev ip saddr $server snat to $wanip
        oif $wandev ip saddr $mgmt snat to $wanip
    }
}

Kontrolle

  • nft list ruleset

Links