Nftables Linux - Security und Firewall Labor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 39: | Zeile 39: | ||
==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== | ==Kontrolle== | ||
*nft list ruleset | *nft list ruleset | ||
Version vom 15. April 2025, 04:39 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
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