Zugriff vom internen Netz auf das Gästenetz einer Fritzbox

Ich verwende einen Raspberry Pi, dessen Ethernetanschluss an das „normale“ Netz angeschlossen ist. Wlan0 befindet sich im Gästenetz. Der Raspberry Pi leitet die Ports 8787 bis 8789 an drei verschiedene Hosts im Gästenetz weiter.

nftables-Konfiguration:

table inet filter {
        chain input {
                type filter hook input priority filter; policy accept;
                iifname "wlan0" drop
        }

        chain forward {
                type filter hook forward priority filter; policy drop;
                ct status dnat accept
        }
}
table ip nat {
        chain postrouting {
                type nat hook postrouting priority srcnat; policy accept;
                oifname "wlan0" masquerade
        }

        chain prerouting {
                type nat hook prerouting priority dstnat; policy accept;
                tcp dport 8787 dnat to 192.168.179.31:80
                tcp dport 8788 dnat to 192.168.179.35:80
                tcp dport 8789 dnat to 192.168.179.30:80
        }
}

Die Tabelle „filter“ soll dafür sorgen, dass über wlan0 keine Verbindungen eingehen oder weitergeleitet werden, sofern sie nicht durch die Portweiterleitung aufgebaut wurden.

Alternativ: Konfiguration als Shell-Script:

#!/bin/bash
nft add table inet filter 
nft 'add chain inet filter input { type filter hook input priority 0;policy accept;}'
nft 'add chain inet filter forward { type filter hook forward priority 0; policy drop;}'
nft add rule inet filter forward ct status dnat accept
nft add rule inet filter input iifname "wlan0" drop
nft add table nat
nft 'add chain nat postrouting { type nat hook postrouting priority 100 ; }'
nft 'add chain nat prerouting { type nat hook prerouting priority -100; }'
nft add rule ip nat prerouting tcp dport 8787 dnat to 192.168.179.31:80
nft add rule ip nat prerouting tcp dport 8788 dnat to 192.168.179.35:80
nft add rule ip nat prerouting tcp dport 8789 dnat to 192.168.179.30:80

nft add rule nat postrouting oifname "wlan0" masquerade

Zusätzlich muss in der Datei /etc/sysctl.conf folgende Einstellung gemacht werden:

net.ipv4.ip_forward = 1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert