Nftables Linux - Security und Firewall Labor
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
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oif $wandev ip saddr $lan snat ip to $wanip
oif $wandev ip saddr $server snat ip to $wanip
oif $wandev ip saddr $mgmt snat ip to $wanip
}
}
Kontrolle
- nft list ruleset