IPv6-Zugang fürs LAN nachrüsten

Seite 4: Zentrale Zugangskontrolle

Inhaltsverzeichnis

Wenn der Tunnel läuft und der IPv6-Router das Präfix im Netz verteilt, lassen sich alle IPv6-Computer im lokalen Netz über das Internet erreichen. Will man das nicht, kann man entweder auf jedem LAN-Rechner eine eigene IPv6-Firewall einrichten oder man blockiert den Zugang zum LAN schon im Router über den Paketfilter ip6tables. Läuft auf dem Router ein aktueller Linux-Kernel, reichen zwei Befehle, um alle nicht aus dem LAN aufgebauten Verbindungen zu blockieren.

ip6tables -A FORWARD -m state --state NEW -i eth0 -o sixxs -s 2001:db8::/64 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Das hinter dem Parameter -s stehende Quellpräfix müssen Sie unbedingt durch Ihr eigenes ersetzen. Die Anweisung leitet Pakete mit dem Quellpräfix aus dem lokalen Netz (eth0) über den IPv6-Tunnel (sixxs) ins IPv6-Internet. Mit dem Parameter -m state --state NEW protokolliert ip6tables die Pakete. Der zweite Befehl nutzt dieses Protokoll und akzeptiert nur eingehende Pakete, die sich auf die im Protokoll vermerkten beziehen. Unverlangt einlaufende verwirft der Paketfilter.

Wer etwa einen Webserver (auf Port 80) auf einer IPv6-Adresse im LAN aus dem IPv6-Netz ansprechen will, erlaubt das über eine zusätzliche Regel:

ip6tables -A FORWARD -i sixxs -p tcp -d 2001:db8::10 --dport 80 -j ACCEPT

Ersetzen Sie auch hier die Adresse hinter dem Parameter -d durch eine tatsächlich vorhandene aus Ihrem Netzwerk-Präfix.

Wer diese Befehle nicht jedes Mal neu eingeben will, trägt sie etwa in die Schnittstellenbeschreibung für das IPv6-Tunnel-Interface (/etc/network/interfaces) oder die Datei rc.local im Ordner /etc ein. Dieses einfache Skript (ZIP-Archiv) setzt die nötigsten Firewall-Regeln und schützt so das LAN vor unerwünschten Gästen.