Nftables Linux - Security und Firewall Labor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (7 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> | |||
'''Merksatz''' | '''Merksatz''' | ||
| Zeile 39: | Zeile 41: | ||
;Enablen | ;Enablen | ||
* '''systemctl enable --now nftables''' | * '''systemctl enable --now nftables''' | ||
==Unser erstes NAT== | ==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