Verwenden des Raspberry Pi als IPv6-Router für das Netzwerk

5963
whiskers75

Es ist mir gelungen, IPv6 für meinen Raspberry Pi mit tunnelbroker.net einzurichten. Ich möchte jedoch die / 64, die ich erhielt, unter den anderen Geräten in meinem Netzwerk freigeben. Der Router des Netzwerks ist ein Virgin Media Super Hub (VMDG480) und hat keine IPv6-Unterstützung.

Hier sind meine / etc / network / Schnittstellen für den Raspberry Pi:

auto lo iface lo inet loopback  auto eth0 iface eth0 inet static address 192.168.0.3 gateway 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255  auto he-ipv6 iface he-ipv6 inet6 v4tunnel address 2001:470:1f09:4f8::2 netmask 64 endpoint 216.66.80.26 local 192.168.0.3 ttl 255 gateway 2001:470:1f08:4f8::1 

Hier ist die Information, die ich von Tunnelbroker bekommen habe:

 Client IPv6 Address: 2001:470:1f08:4f8::2/64 Routed /64: 2001:470:1f09:4f8::/64 Routed /48: 2001:470:6c92::/48 

Ich habe es mit radvd, dibbler und isc-dhcp-server versucht - keiner konnte andere Computer in meinem Netzwerk mit IPv6-Konnektivität versorgen. Kann jemand helfen, etwas Licht in die Situation zu bringen?

6
Ich denke, das Routed / 64 sollte 2001: 470: 1f0a: 4f8 :: / 64 sein Elgs Qian Chen vor 8 Jahren 0

2 Antworten auf die Frage

6
Sander Steffann

Es funktioniert etwas anders: Sie teilen nicht die / 64 aus dem Tunnel, Sie verwenden neue / 64 aus der gerouteten / 48 für Ihre Netzwerke. Die / 48 gibt dir 2001:470: 6c92::/64(was ist 2001:470:6c92:0000::/64) bis zu 2001:470:6c92:ffff::/64. Das gibt Ihnen 65536 / 64s, was normalerweise ausreicht, um jedem Netzwerk eine eigene / 64 zu geben.

Zunächst müssen Sie die IPv6-Weiterleitung in Ihrem Kernel aktivieren, damit Ihr Raspberry Pi als Router fungiert. Fügen Sie diese Zeile hinzu /etc/sysctl.conf:

net.ipv6.conf.all.forwarding=1 

Es ist wahrscheinlich schon drin, aber auskommentiert.

Dann müssen Sie IPv6 in Ihrer eth0Schnittstelle konfigurieren . Etwas hinzufügen wie:

iface eth0 inet6 static address 2001:470:6c92:1::1 netmask 64 

Anschließend konfigurieren Sie radvd(Router Advertisement Daemon) so, dass Ihr Raspberry Pi dem lokalen Netzwerk mitteilt, dass IPv6 verfügbar ist und dass es als Standardgateway fungiert. Eine grundlegende Konfiguration in /etc/radvd.confist etwa wie folgt:

interface eth0 { AdvSendAdvert on; prefix 2001:470:6c92:1::/64 { AdvOnLink on; AdvAutonomous on; }; }; 

Es gibt bekannt, dass es sich um das Standard-Gateway handelt und dass andere Systeme sich automatisch konfigurieren können.

Warnung : Wenn Sie radvdalle Systeme in Ihrem LAN starten, erhalten Sie IPv6-Adressen und ein IPv6-Standardgateway. Wenn Sie auf dem Raspberry Pi keine IPv6-Firewall konfiguriert haben, sind alle Systeme direkt mit dem IPv6-Internet verbunden. Stellen Sie sicher, dass ihre Konfigurationen sicher ausgeführt werden, oder konfigurieren Sie eine IPv6-Firewall auf dem Raspberry Pi, bevor Sie sie aktivieren radvd.

Wenn Sie möchten, dass nur bestimmte Systeme das Raspberry Pi für IPv6-Konnektivität verwenden, führen Sie keine Ausführung aus radvd. Konfigurieren Sie IPv6 stattdessen auf diesen Systemen manuell. Verwenden Sie eine Adresse von. 2001:470:6c8b:1::/64Die All-Zero-Adresse ist der Subnetz-Router, der nach Konvention eine beliebige Cast-Adresse ist, obwohl ich dies fast nie in der Praxis sehe. Die Adresse 2001:470:6c92:1::1wurde für den Raspberry Pi verwendet, sodass Sie alles von 2001:470:6c92:1::2(= 2001:0470:6c92:0001:0000:0000:0000:0002) bis verwenden können 2001:470:6c92:1:ffff:ffff:ffff:ffff. 2001:470:6c92:1::1Als Standardgateway konfigurieren und Sie sollten online sein :)

Es gibt auch einige Hinweise zu https://wiki.ubuntu.com/IPv6#Configure_your_Ubuntu_box_as_a_IPv6_router, die möglicherweise auf Ihre Konfiguration zutreffen. Schauen Sie sich den Abschnitt "ufw und routing" an. Im Wesentlichen werden Sie dazu aufgefordert, die folgenden Zeilen hinzuzufügen /etc/ufw/sysctl.conf:

net/ipv6/conf/default/forwarding=1 net/ipv6/conf/all/forwarding=1 

Diese Zeile ändern in /etc/default/ufw:

DEFAULT_FORWARD_POLICY="DROP" 

Und die folgenden Zeilen hinzufügen /etc/ufw/before6.rules:

-A ufw6-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A ufw6-before-forward -i eth0 -o he-ipv6 -m conntrack --ctstate NEW -j ACCEPT 
Ich kann das nicht zum Laufen bringen. (Mein / 48 wurde in 2001 geändert: 470: 6c92 :: / 48, aber ich habe gerade Ihre Anweisungen entsprechend aktualisiert). radvd ordnet meinem Ubuntu-Computer im selben Netzwerk nichts zu. Wenn Sie die IPv6-Konfiguration mithilfe von NetworkManager manuell konfigurieren, können Sie das Gateway aber nicht das Internet anpingen. whiskers75 vor 9 Jahren 0
Ich benutze ufw, also habe ich es dort aktiviert. `❯ sudo sysctl net.ipv6.conf.all.forwarding` gibt zurück, dass es auf 1 gesetzt ist. whiskers75 vor 9 Jahren 0
Dass es angefangen hat Hm, ich habe DEFAULT_FORWARD_POLICY = "DROP" `in / etc / default / ufw eingestellt, das ist es wahrscheinlich ... whiskers75 vor 9 Jahren 0
Der erste Absatz ist _partially_ falsch. Der HE-Tunnel bietet zwei / 64s. Der erste von ihnen gehört eigentlich zum Tunnel; "Client-IPv6-Adresse" wird davon ausgewählt, und Sie haben Recht, dass Sie es nicht mit radvd verwenden sollten. Die zweite / 64, die "geroutete / 64", ist jedoch in Ihrem LAN _perfekt zu verwenden, da sie _through_ den Tunnel genauso lenkt wie die / 48. grawity vor 9 Jahren 0
0
rundekugel

Ich musste hinzufügen, ipv6um /etc/moduleserste, IPv6 zu aktivieren. Vielleicht hilft das auch anderen.