IPv6/Tunnel: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 121: | Zeile 121: | ||
Und schließlich [[start/enable]] ''ddclient.service'' | Und schließlich [[start/enable]] ''ddclient.service'' | ||
== Setting up a tunnelbroker.net IPv6 tunnel on Debian == | |||
= Things you need to find out first = | |||
* The IP address you plan to use the tunnel from (e.g. your current IP, or the IP of the server you want to set this up on) - <code>$yourip</code>. | |||
= Getting a tunnelbroker account = | |||
* Hit the registration page and sign up. | |||
* Wait for the confirmation email, then login. | |||
* From the (left-hand-side) “User Functions” menu click “Create Regular Tunnel”. | |||
* Enter the IP you want to use the tunnel from | |||
* Pick a host near the machine with that IP - the closer it is, the shorter the path your IPv6 packets will have to take to hit the IPv6 Internet. | |||
= Configure your machine to use the tunnel = | |||
Pick a name for the tunnel - it is just used as the interface name on Linux. Let’s say <code>sit1</code>. Now click on the your new tunnel, and you’ll be on the “Tunnel details” page. | |||
Open up /etc/network/interfaces: | |||
<code>auto sit1 | |||
iface sit1 inet6 v4tunnel | |||
address $address | |||
netmask 64 | |||
local $yourip | |||
endpoint $endpoint | |||
up ip route add 2000::0/3 via $theirip dev sit1</code> | |||
Where: | |||
<code>$address</code> is the value of “Client IPv6 address” | |||
<code>$yourip</code> is the local IP address | |||
<code>$endpoint</code> is the value of “Server IPv4 address” | |||
<code>$theirip</code> is the value of “Server IPv6 address”, with the /64 removed | |||
= Test it = | |||
== Ping == | |||
Make sure <code>iputils-ping</code> is installed (<code>sudo aptitude install iputils-ping</code>, if it isn’t), then try <code>ping6 www.kame.net</code> in a terminal:: | |||
<code>PING www.kame.net(orange.kame.net) 56 data bytes | |||
64 bytes from orange.kame.net: icmp_seq=1 ttl=54 time=126 ms</code> | |||
== Web == | |||
If you are setting this up on your desktop, visit Kame using your browser. If this is on a server, use <code>ssh -D1027 yourserver</code> (via ipv4, of course) on your local machine to create a SOCKS proxy, tell your browser to use <code>localhost:1027</code> as a SOCKS proxy, then visit Kame in your browser. If the tortoise is dancing, you’re done. | |||
# http://ertius.org/docs/ipv6-tunnel-on-debian/ | |||
<noinclude> | <noinclude> | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
Zeile 137: | Zeile 185: | ||
# https://wiki.archlinux.org/title/IPv6_tunnel_broker_setup | # https://wiki.archlinux.org/title/IPv6_tunnel_broker_setup | ||
[[Kategorie:IPv6/Tunnel]] | [[index.php?title=Kategorie:IPv6/Tunnel]] | ||
[[Kategorie:Tunneling]] | [[index.php?title=Kategorie:Tunneling]] | ||
</noinclude> | </noinclude> |
Version vom 31. Juli 2023, 05:55 Uhr
topic - Kurzbeschreibung
Beschreibung
Ein Tunnelbroker ist im Bereich der Computernetzwerke ein Dienst, der Tunnel bereitstellt, die zum Beispiel dazu genutzt werden können, Verkehr gesichert (Virtual Private Network) oder verkapselt zu transportieren, um z. B. IPv6 über ein IPv4-Netzwerk zu transportieren.
Obwohl es mehrere Arten von Tunnelbrokern gibt, werden damit meist Broker bezeichnet, die Tunnel bereitstellen, die es ermöglichen, IPv6-Pakete über alte IPv4-Infrastruktur zu routen (RFC 3053), allerdings kann es auch IPv4-Tunnelbroker geben, die IPv4-Pakete über IPv6-Infrastruktur leiten.
- Um IPv6 über IPv4 zu leiten, werden verschiedene Methoden wie 6in4, 6over4, 6to4 oder 6rd verwendet.
- Heutzutage wird häufig Dual-Stack verwendet, bei dem sowohl IPv4 und IPv6 unabhängig voneinander verwendet werden.
Automatische Konfiguration
Normalerweise werden IPv6-Tunnel über das Tunnel Setup Protocol oder Tunnel-Information-Control-Protokoll konfiguriert und erstellt.
- Oft wird ein Tunnel jedoch manuell konfiguriert.
Probleme mit Network Address Translation und Routern
Protokoll-41-Tunnel, wobei IPv6 direkt in IPv4 verpackt wird, funktionieren hinter NATs eventuell nicht mehr zuverlässig.
- Mit vielen modernen Routern gibt es allerdings keine Probleme.
- Umgehen kann man auftretende Probleme, indem man den Endpunkt entweder in eine Demilitarisierte Zone legt oder gleich auf das NAT-Gerät; moderne Router für den Heimeinsatz, die IPv6-fähig sind, unterstützen dies inzwischen.
- Ebenfalls möglich ist der Gebrauch von AYIYA oder TSP (Tunnel Setup Protocol), die IPv6-Pakete in UDP-Pakete verpacken.
- Diese können die meisten Firewalls problemlos passieren (vorausgesetzt, es gibt keine verbietende Regel).
Ein Problem, das immer noch auftreten kann, ist, dass eine NAT-Regel aus der Tabelle entfernt wird, obwohl die Verbindung noch besteht.
- Falls dann von außen Pakete für den Tunnel ankommen, kann der Router diese nicht mehr weiterleiten und verwirft sie.
- Das unterbricht die Tunnelverbindung, bis der Nutzer wieder ein Paket durch den Tunnel sendet.
Ältere (Heim-)Router routen teilweise generell keine Protokoll-41-Pakete.
Dynamische Endpunkte
Falls der Client-Endpunkt des Tunnels eine dynamische IP-Adresse besitzt (wie bei Privatkunden-Breitbandanschlüssen), dann muss der Kunde den Tunnelbroker immer bei einer Änderung über die neue IP-Adresse informieren.
- Das geschieht entweder manuell über die Website des Tunnelbrokers oder über ein automatisches Protokoll wie TSP oder Heartbeat.
Andere Tunnelbroker erlauben eine komfortable webbasierte Lösung, bei der eine vorgegebene URL aufgerufen wird, in der Nutzername, Passwort und der Hostname oder die ID des Tunnels enthalten sind. Über die IP des Aufrufers (der Server für diese Lösung ist über IPv4 angebunden) kann der Endpunkt aktualisiert werden.
tunnelbroker.net
Hurricane Electric bietet einen kostenlosen tunnel broker Dienst an, der unter Arch relativ einfach zu benutzen ist, wenn Sie einem IPv4-Host IPv6-Konnektivität hinzufügen möchten.
Registrierung für einen Tunnel
Gehen Sie auf die Tunnelbroker-Site und füllen Sie die Registrierung aus.
Einrichten des Hurricane Electric-Tunnels
Erstellen Sie die folgende systemd-Unit und ersetzen Sie den fettgedruckten Text durch die IP-Adressen, die Sie von HE erhalten haben:
- Hinweis
- Wenn Sie sich hinter einem NAT befinden (typische Heimrouter-Einrichtung), verwenden Sie Ihre lokale IPv4-Adresse für client_IPv4_address, z.B. 192.168.0.2.
- /etc/systemd/system/he-ipv6.service
[Einheit] Beschreibung=he.net IPv6-Tunnel Nach=network.target
[Service] Typ=oneshot RemainAfterExit=yes ExecStart=/usr/bin/ip tunnel add he-ipv6 mode sit remote server_IPv4_address local client_IPv4_address ttl 255 ExecStart=/usr/bin/ip link set he-ipv6 up mtu 1480 ExecStart=/usr/bin/ip addr add client_IPv6_address dev he-ipv6 ExecStart=/usr/bin/ip -6 route add ::/0 dev he-ipv6 ExecStop=/usr/bin/ip -6 route del ::/0 dev he-ipv6 ExecStop=/usr/bin/ip link set he-ipv6 down ExecStop=/usr/bin/ip tunnel del he-ipv6
[Install] WantedBy=multi-user.target
Dann start/enable he-ipv6.service.
systemd-networkd
Wenn systemd-networkd Ihre Netzwerkverbindungen verwaltet, ist es wahrscheinlich eine bessere Idee, ihn auch den Tunnelbroker verwalten zu lassen (anstatt eine .service-Datei zu verwenden).
- /etc/systemd/network/he-tunnel.netdev
[Match] [NetDev] Name=he-ipv6 Kind=sit MTUBytes=1480 [Tunnel] Lokal=<lokale IPv4> Entfernt=<Tunnel-Endpunkt> TTL=255
- /etc/systemd/network/he-tunnel.network
[Match] Name=he-ipv6 [Netzwerk] Adresse=<lokale IPv6> Gateway=<IPv6-Gateway> DNS=2001:4860:4860::8888 DNS=2001:4860:4860::8844
Und fügen Sie diese Zeile in den Abschnitt "[Network]</nowiki>" Ihrer Standard-Internetverbindungsdatei "'.network" ein
Tunnel=he-ipv6
Verwendung des Tunneling mit dynamischer IPv4 IP
Aktualisierung über Cronjob
Der einfachste Weg, das Tunneln mit einer dynamischen IPv4-IP zu nutzen, besteht darin, einen Cronjob einzurichten, der Ihre aktuelle Adresse regelmäßig aktualisiert.
- Die Beispiel-URL und einen Update Key finden Sie auf der Registerkarte Advanced der Seite Tunnel Details.
Um zu überprüfen, ob die Aktualisierung funktioniert, führen Sie den folgenden Befehl aus (ersetzen Sie USERNAME, UPDATEKEY und TUNNELID durch die Angaben zu Ihrem Konto und Ihrem Tunnel):
wget -O - https://USERNAME:UPDATEKEY@ipv4.tunnelbroker.net/nic/update?hostname=TUNNELID
Wenn es funktioniert, erstellen Sie einen Cronjob, indem Sie crontab -e öffnen und eine neue Zeile hinzufügen:
*/10 * * * * wget -q -O /dev/null https://USERNAME:UPDATEKEY@ipv4.tunnelbroker.net/nic/update?hostname=TUNNELID
Aktualisieren über ddclient
Alternativ kann dies auch durch die Installation von ddclient und die Konfiguration von /etc/ddclient.conf konfiguriert werden:
protocol=dyndns2 use=web web=checkip.dns.he.net server=ipv4.tunnelbroker.net ssl=ja anmeldung=BENUTZERNAME passwort=UPDATEKEY TUNNELID
Und schließlich start/enable ddclient.service
Setting up a tunnelbroker.net IPv6 tunnel on Debian
Things you need to find out first
- The IP address you plan to use the tunnel from (e.g. your current IP, or the IP of the server you want to set this up on) -
$yourip
.
Getting a tunnelbroker account
- Hit the registration page and sign up.
- Wait for the confirmation email, then login.
- From the (left-hand-side) “User Functions” menu click “Create Regular Tunnel”.
- Enter the IP you want to use the tunnel from
- Pick a host near the machine with that IP - the closer it is, the shorter the path your IPv6 packets will have to take to hit the IPv6 Internet.
Configure your machine to use the tunnel
Pick a name for the tunnel - it is just used as the interface name on Linux. Let’s say sit1
. Now click on the your new tunnel, and you’ll be on the “Tunnel details” page.
Open up /etc/network/interfaces:
auto sit1
iface sit1 inet6 v4tunnel
address $address
netmask 64
local $yourip
endpoint $endpoint
up ip route add 2000::0/3 via $theirip dev sit1
Where:
$address
is the value of “Client IPv6 address”
$yourip
is the local IP address
$endpoint
is the value of “Server IPv4 address”
$theirip
is the value of “Server IPv6 address”, with the /64 removed
Test it
Ping
Make sure iputils-ping
is installed (sudo aptitude install iputils-ping
, if it isn’t), then try ping6 www.kame.net
in a terminal::
PING www.kame.net(orange.kame.net) 56 data bytes
64 bytes from orange.kame.net: icmp_seq=1 ttl=54 time=126 ms
Web
If you are setting this up on your desktop, visit Kame using your browser. If this is on a server, use ssh -D1027 yourserver
(via ipv4, of course) on your local machine to create a SOCKS proxy, tell your browser to use localhost:1027
as a SOCKS proxy, then visit Kame in your browser. If the tortoise is dancing, you’re done.
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- Free IPv6 Tunnel broker service betrieben von Hurricane Electric
- https://wiki.archlinux.org/title/IPv6_tunnel_broker_setup
index.php?title=Kategorie:IPv6/Tunnel index.php?title=Kategorie:Tunneling