IPv6-Adressen fürs LAN

Damit auch andere Rechnern aus dem lokalen Netz via IPv6 auf das Internet zugreifen können, benötigen diese ebenfalls eine entsprechende Adresse. Für deren Zuweisung gibt es mehrere Lösungsansätze. Zum einen können Sie eine IPv6-Adresse aus dem zugewiesenen Subnetz manuell in die Netzwerk-Konfigurationsdatei eintragen. Im gezeigten Beispiel lautet der von SixXS zugewiesene Subnetz-Präfix 2a01:198:514::/48. Da er nur 48 Bit in Anspruch nimmt, verbleiben 16 Bits für die Definition eigener Netze – damit lassen sich bis zu 65535 Subnetze aufbauen.

Für unseren Zweck genügt ein einzelnes Subnetz, sodass Sie den Rest der Adresse lediglich mit Nullen ausfüllen. Die Interface-ID besteht lediglich aus einer einzelnen Ziffer, der "1". Die so erzeugte IP-Adresse tragen Sie auf einem Fedora-System dann zusätzlich zur bereits bestenden IPv4-Konfiguration in der Datei ifcfg-eth0 unter /etc/sysconfig/network-scripts/ ein. Verwenden Sie ein anderes Interface, müssen Sie den Dateinamen entsprechend anpassen.

Die komplette Konfiguration könnte so aussehen, wie das Listing 2 zeigt. Nach einem Neustart des Netzwerkes mittels /etc/init.d/network restart zeigt der Aufruf von ip -6 a s eth0 und ip -6 r die konfigurierte IPv6-Adresse mitsamt des Default-Gateways an – zumindest, falls alles geklappt hat.

Listing 2
# ifconfig-eth0 (Beispiel)
IPV6INIT=YES
IPV6_AUTOCONF=NO
IPV6ADDR=2a01:198:514::1/64
IPV6_DEFAULTGW=2a01:198:200:6f7::2

Natürlich lassen sich weitere Rechner auf die selbe Weise konfigurieren, einfacher geht es jedoch mit Hilfe der Stateless-Autokonfiguration. Hierzu setzen Sie die Anweisung IPV6_AUTOCONF aus der Konfigurationsdatei der Netzwerkkarte einfach auf den Wert NO. Daraufhin sendet der Client selbständig sogenannte Solicitation Messages an die Multicast-Adresse ff02::2. Als Absenderadresse kommt hierbei die verbindungslokale Adresse (fe80::) zum Einsatz, die Ihr System bei aktivem IPv6 automatisch erzeugt.

Auf einem Fedora-System aktivieren Sie den IPv6-Support gegebenenfalls über die Anweisung NETWORKING_IPV6=yes in der Datei /etc/sysconfig/network. Allerdings verwenden alle gängigen Linux-Distributionen diesen Wert in den aktuellen Releases als Vorgabe, so dass Sie hier meist nichts ändern müssen. Überprüfen Sie im Zweifelsfall einfach mithilfe von ip, ob der Rechner eine solche verbindungslokale Adresse besitzt (Listing 3, oben)

Existiert im LAN ein IPv6-fähiger Router, so antwortet er beim Empfang der Solicitation Messages eines Clients mit einer sogenannten Advertisement Message antworten. Dieses Antwort-Paket enthält unter anderem den Subnetz-Präfix für Ihr Netzwerk. Aus der Hardware-Adresse der Netzwerkkarte generiert der Client dann die Interface-ID, die zusammen mit dem Subnetz-Präfix die IPv6-Adresse ergibt. Klappt alles, dann besitzt der Rechner nun neben der verbindungslokalen Adresse auch eine globale Adresse aus dem oben genannten Subnetz (Listing 3, unten).

Listing 3
# ip -6 a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 100
    inet6 fe80::208:74ff:fea8:dd17/64 scope link
       valid_lft forever preferred_lft forever
# ip -6 a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 100
    inet6 2a01:198:514:0:21b:77ff:fe40:9e8e/64 scope global dynamic
       valid_lft 2587384sec preferred_lft 600184sec
    inet6 fe80::208:74ff:fea8:dd17/64 scope link
       valid_lft forever preferred_lft forever

Über diese Adresse kann der Client dann durch den IPv6-Tunnel mit anderen Rechnern im Internet zu kommunizieren. Natürlich muss er dazu wissen, dass er die Pakete in den Tunnel senden soll. Diese Information bildet in Form des angegebenen Default-Gateways jedoch bereits einen Teil der Advertisement Message des Routers, sodass Sie sie nicht manuell liefern müssen.

IPv6 auf dem Router

Bleibt die spannende Frage: Wie lässt sich solch ein IPv6-fähiger Router konfigurieren? Zum einen gibt es Hardware wie beispielsweise die Fritzbox, die den notwendigen IPv6-Support bereits mitbringt. Solche Geräte können selbstständig einen IPv6-Tunnel zu einem Tunnel-Broker aufzubauen. Zum anderen gibt es mit radvd auch eine passende Software für Linux. Die Anwendung findet sich in den Software-Repositories der meisten Linux-Distributionen, sodass die Installation mit dem jeweiligen Paketmanager leicht gelingt. Unter Fedora rufen Sie dazu einfach yum install radvd auf.

In die Konfigurationsdatei /etc/radvdv.conf tragen Sie anschließend den von SixXS zugewiesen Prefix ein (Listing 4). Nach einem Start des Dienstes mittels /etc/init.d/radvd start lauscht Radvd nun auf entsprechende Client-Anfragen und sendet sogar selbständig in regelmäßigen Zeitintervallen Informationen über den konfigurierten IPv6-Prefix in das Netzwerk.

Listing 4
# /etc/radvdv.conf (Beispiel)
interface eth0
{
  AdvSendAdvert on;
  prefix 2a01:198:514::/64
  {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
  };
};

Damit der Router nun auch alle Anfragen der Clients über den IPv6-Tunnel weiterleitet, müssen Sie noch das IP-Forwarding aktivieren. Das erledigen Sie im einfachsten Fall mit dem Befehl

sysctl -w net.ipv6.conf.all.forwarding=1

Für eine dauerhafte Aktivierung setzen Sie diese Variable einfach statisch in der Datei /etc/sysctl.conf.

Danach sind Ihre Rechner ab sofort unter einer IPv6-Adresse direkt aus dem Internet zu erreichen, also nicht mehr hinter einer NAT-Adresse versteckt. Das bringt neben vielen Vorteilen freilich auch etliche Gefahren mit sich. Es führt demgemäß kein Weg daran vorbei, auf dem zentralen IPv6-Router entsprechende Paketfilter-Regeln zu definieren, um den Zugriff von außen auf das Netzwerk einschränken. Eine beispielhafte Konfiguration für einen solchen Paketfilter zeigt das Listing 5.

Listing 5
# Alle bestehenden Regeln loeschen
ip6tables -F
ip6tables -X
# Zugriff über das Loopback-Device erlauben
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
# Uneingeschraenkter Zugriff auf den IPv6-Tunnel vom Router aus
ip6tables -A OUTPUT -o sixxs -j ACCEPT
# Zugriff aus dem lokalen Subnetz ebenfalls erlauben
ip6tables -A INPUT -i eth0   -j ACCEPT
ip6tables -A OUTPUT -o eth0   -j ACCEPT
# Source-Routing-Pakete gefaehrlich, nicht zugelassen
ip6tables -A INPUT -m rt --rt-type 0 -j DROP
ip6tables -A FORWARD -m rt --rt-type 0 -j DROP
ip6tables -A OUTPUT -m rt --rt-type 0 -j DROP
# Verbindungslokale Adressen erlaubt
ip6tables -A INPUT -s fe80::/10 -j ACCEPT
ip6tables -A OUTPUT -s fe80::/10 -j ACCEPT
# Multicast-Pakete zulassen
ip6tables -A INPUT -s ff00::/8 -j ACCEPT
ip6tables -A OUTPUT -s ff00::/8 -j ACCEPT
# ICMP-Protokoll zur Fehlersuche zulassen
ip6tables -I INPUT  -p icmpv6 -j ACCEPT
ip6tables -I OUTPUT -p icmpv6 -j ACCEPT
ip6tables -I FORWARD -p icmpv6 -j ACCEPT
# Uneingeschraenkter Zugriff auf den IPv6-Tunnel aus dem Subnetz
ip6tables -A FORWARD -m state --state NEW -i eth0 -o sixxs -s 2a01:198:514::/48 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ueber den Tunnel eingehende SSH-Verbindungen zulassen
#ip6tables -A FORWARD -i sixxs -p tcp -d 2a01:198:514::1  --dport 22 -j ACCEPT
# Ueber den Tunnel eingehenden Bittorrent-Traffic erlauben
ip6tables -A FORWARD -i sixxs -p tcp -d 2a01:198:514::1 --dport 33600:33604 -j ACCEPT
# Alles andere ist verboten
ip6tables -P INPUT   DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT  DROP

Speichern Sie das Skript aus Listing 5 als /root/fw.sh und aktivieren Sie dann die Regeln über den Befehl sh /root/fw.sh. Der Aufruf /etc/init.d/iptables-save sorgt dafür, dass die Regeln auch nach einem Neustart des Rechners aktiv bleiben.

Der Paketfilter erlaubt sämtlichen Traffic aus dem eigenen Subnetz über den IPv6-Tunnel nach außen. Er lässt eingehende Pakete jedoch nur dann zu, wenn als Protokoll entweder SSH oder aber Bittorrent zum Einsatz kommen. Bei Bedarf erweitern Sie das Skript nach Belieben um zusätzliche Protokolle. Eine sehr gute Einführung in das Thema Paketfilter auf Basis von Netfilter finden Sie unter [3].

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Sichere WLAN-Vernetzung mit verschlüsseltem OpenVPN-Tunnel
    Drahtlose Netzwerke sind zwar praktisch, aber auch gefährlich: Die eingebaute WEP-Verschlüsselung ist für einen Angreifer kein ernstes Hindernis, er kann Daten abhören, manipulieren und Pakete einschmuggeln. Abhilfe schafft ein verschlüsselter Tunnel: OpenVPN schützt die Daten.
  • Sicher unterwegs im Wireless LAN
    Wireless LAN endet nicht an der Grundstücksgrenze, und gerade in Städten finden sich immer wieder unerwünschte Zaungäste. Wir zeigen Ihnen, wie Sie es Angreifern möglichst schwer machen, in Ihr drahtloses Netz einzudringen.
  • Quick-and-Dirty-Tunnel mit SSH und Sshuttle
    Für den schnellen Zugriff von unterwegs auf private Daten ist ein VPN oft überdimensioniert. Das geniale kleine Tool Sshuttle dagegen durchtunnelt unsichere Netze auch ohne langwierige Vorbereitungen auf dem Server.
  • Verschlüsselte Tunnel mit OpenVPN einrichten
    Viele WLAN-Geräte verschlüsseln die Verbindungen nur unzureichend. Mit OpenVPN und wenigen Befehlen richten Sie ihr eigenes verschlüsseltes Netzwerk ein und können sich sogar aus dem Internet zu Hause einloggen.
  • Tag der offenen Tür
    Fast jede öffentliche Einrichtung und jedes Hotel bieten heute ein kostenpflichtiges WLAN an. Kreative Zeitgenossen finden jedoch meist schnell eine Möglichkeit, ein solches Netz unautorisiert zu nutzen.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...