AW: Oscam als Server über IPv4 und Ipv6 ?
Eine Frage habe ich noch,welche ipv6 bleibt am Router immer gleich?
Achtung!
Diese Stieren auf die im Router angezeigte IP ist eine Einschränkung von Privatkunden-IPv4 und bei IPv6 irrelevant.
Ein uneingeschränkter und vollwertiger (IPv4-)Zugang würde Deinem Router ein ganzes Subnet an öffentlichen IPs zuweisen, welche dieser dann wiederum an die angeschlossenen Geräte verteilt.
So ist TCP/IP eigentlich aufgebaut -> Jedes Gerät hat eine eindeutige IP-Adresse unter der es erreichbar ist.
Daß wir es gewohnt sind,
nur eine einzige öffentliche IPv4 für unseren Router zu erhalten, der dann einen
Trick namens
NAT anwenden muß, damit innerhalb unseres Heimnetzes trotzdem noch alle Geräte eindeutige IPs haben (Meist die bekannten 192.168.x.y) ist eine Einschränkung, denn dadurch mußte man als kleiner Privatkunde bei IPv4 nicht nur
einen Port in der (Router-)Firewall öffnen sondern dem Router auch noch vorgeben, welches Gerät mit welcher - im Internet gar nicht existenten - Adresse diese Anfragen bearbeiten soll (Das eigentliche Port-Forwarding).
IPv4-Portweiterleitungen sehen ja bei Privatkunden in der Regel so aus:
ext. IP: 217.100.150.67 (Implizit gesetzt, wird nicht vom Nutzer eingestellt)
ext. Port: 12000
an Gerät: 192.168.1.5
int. Port: 12000
Diese sagen dem Router
1. Erlaube über die öffentliche IPv4 (Zugleich die WAN-IP des Routers) eingehende Verbindungen auf Port 12000 (= Firewall-Regel/-Ausnahme)
2. Anfragen, die an Port 12000 auf unserer nur einen öffentlichen IPv4 aufschlagen, soll das Gerät x auf seine private IP 192.168.1.5 an dessen Port 12000 weitergeleitet bekommen (= Port-Forwarding)
Das ist und das war nie ein wünschenswerter Zustand!
Im Bereich der professionellen Internetanbindungen ist das auch nicht so, da erhält der Kunde ein ganzes
öffentliches Subnet (Sagen wir 178.13.25.x) , so daß er nicht nur seinem Router (=178.13.25.1), sondern auch seinem Webserver (=178.13.25.2), seinem FTP-Server (=178.13.25.3), seinem Mail-Server (=178.13.25.4) usw. jeweils eigene "richtige" IPs zuordnen kann.
Dann sehen die "Freigaben" so aus:
Erlaube eingehenden Traffic auf Port 80 für das Ziel 178.13.25.2
Erlaube eingehenden Traffic auf Port 443 für das Ziel 178.13.25.2
Erlaube eingehenden Traffic auf Port 21 für das Ziel 178.13.25.3
usw.
Wie Du siehst, spielt die Router-IP hier gar keine Rolle ...
Und genau diesen gewünschten Zustand kriegst Du mit IPv6 eben auch als Privatnutzer!
D.h. daß kein Port mehr vom Router zum Gerät hin verbogen werden muß, jedes Gerät hat seine
eigene, öffentliche IPv6 - kann also bereits aus dem Internet heraus direkt adressiert werden - und für genau diese Adresse legst Du auch die Freigabe an.
Dein Router erhält nicht eine IPv6-Adresse, sondern ein gigantisches Präfix ("Über-Subnetz") aus dem er kleinere Subnetze bilden kann, der Genexis-Router nutzt daraus jedoch nur das erste.
Innerhalb dieses Subnetzes hat dann
jedes Deiner Geräte seine eigene öffentliche IPv6-Adresse.
Mal angenommen, in Deinem Router würde als (LAN-)IPv6-Adresse angezeigt ...
2a00:61e0:4135:7101:20f:94ff:fe12:3456/64
... dann ist das nur seine eigene, ganz "persönliche" IPv6.
Dein PC könnte nun die IPv6
2a00:61e0:4135:7101:21f:76ff:fe34:affe/64
haben, Dein Notebook die IPv6
2a00:61e0:4135:7101:23d:34ff:fe34:c0c0/64
Dein Banana
Pi mit dem oscam die IPv6
2a00:61e0:4135:7101:259:74ff:fecd:affe/64
usw. usf.
und jede davon wäre eine vollwertige, öffentliche Adresse!
D.h. Dich interessiert die IPv6 des Routers eigentlich gar nicht, denn
Du willst ja nicht den Router freigeben, sondern den Banana Pi.
Für die o.g. IPv6 des Banana
Pi und den angenommenen Port 12000 (Tip: Nimm einen völlig anderen!) würdest also folgende Freigabe anlegen:
Du musst angemeldet sein, um Bilder zu sehen.
Welche IPv6 Dein Banana
Pi nun tatsächlich hat, findest Du mit
ifconfig
auf seiner Shell raus.
Die mit 2a00:61e0 beginnende an seiner Ethernet-Schnittstelle ist seine "persönliche"
öffentliche IPv6 und die wird sich auch in den letzten 4 Blöcken niemals ändern (Wenn Du nicht die privacy extensions einschaltest).
Sie könnte sich theoretisch im 3. und/oder 4. Block ändern, weil Du offiziell nur ein dynamisch zugewiesenes Präfix hast, bisher hat sich aber noch nie ein Präfix bei einem "Glasfaser Deutschland"-Kunden geändert, solange nicht der Router getauscht wird.
Die Beispiel-IPv6 und den Beispielport angenommen würde das ausreichen, damit ein IPv6-fähiger oscam Deinen Server so
device = 2a00:61e0:4135:7101:259:74ff:fecd:affe,12000
eintragen könnte.
Keine Hexerei ...
Wie kann ich meine no-ip Adresse ipv4 durch routen? Über normale Port Weiterleitung funktioniert es nicht?!?! Eigentlich würde es doch reichen, wenn ich einfach eine Weiterleitung für ipv4 und ipv6 einrichte..
Ich weiß jetzt nicht wirklich, was Du von mir willst ...
Angenommen Deine Clients
könnten IPv6, bräuchtest Du nun lediglich unter Deinem No-Ip-Hostname die IPv6 2a00:61e0:4135:7101:259:74ff:fecd:affe und keine IPv4 hinterlegen, dann ginge auch
device = highlander.no-ip.com,12000
... vom IPv6-fähigen Anschluß natürlich nur.
Und damit sind wir wieder bei "Keine Arme, keine Kekse":
"Kein IPv6 am Anschluß = kein vollwertiger Anschluß, da keine Erreichbarkeit von IPv6-Servern".
Das ist in erster Linie ein Problem der Clients und nicht Deines.
Wenn Du unbedingt die Probleme anderer Leute lösen willst, machst Du nun folgendes (Ich weiß nicht, ob man das mit no-ip hinkriegt, mit den kostenlosen DynDNS-Diensten von freedns.afraid.org aber auf jeden Fall):
- Du legst einen DynDNS-Host als AAAA-Record mit dem Namen
ipv6.highlander.mooo.com
an und trägst die IPv6 Deines Banana Pi ein.
- Du legst einen DynDNS-Host als AAAA-Record mit dem Namen
highlander.mooo.com
an und trägst die IPv6 Deines Banana Pi ein.
- Du legst - wahlweise auf
Sie müssen registriert sein, um Links zu sehen.
und/oder
Sie müssen registriert sein, um Links zu sehen.
- einen Portproxy (Dort "Portmapper" genannt)
von Port xxxxx
auf Port xxxxx (Selber Port wie bei von Port)
auf Adresse ipv6.highlander.mooo.com
an.
Die Vergabe funktioniert so:
- (Nur bei feste-ip): Du wählst einen Weiterleitungsserver aus, also einen Standort. Nimm Frankfurt (Unitymedia-/KBW-Kunden könnten mit dem niederländischen bessere Ergebnisse haben).
- (Nur bei feste-ip): Lege einen Wunsch-Hostname fest, z.B. highlander. Der ist eigentlich unwichtig ...
- Lege einen Zielhost und einen Ziel-Port fest, also ipv6.highlander.mooo.com und Port 12000 (Bzw. besser einen anderen, möglichst wirren, z.B. 56754, verwendbar sind 1025-65535)
- Dir wird das Ergebnis Deiner Bemühungen mitgeteilt.
Im Idealfall sieht das nun so aus:
"highlander.feste-ip.net Port 56754 wird weitergeleitet auf ipv6.highlander.mooo.com Port 56754"
Wenn Du einen solchen 1:1-Mapper (Der Port auf feste-ip.net ist derselbe wie auf Deinem tatsächlichen Server) bekommen hast, bist Du fertig.
Solltest Du einen "verbogenen" Mapper bekommen haben:
"highlander.feste-ip.net Port 64554 wird weitergeleitet auf ipv6.highlander.mooo.com Port 56754"
wiederholst Du Schritt 3 und 4, bis Du einen 1:1-Mapper hast.
Deshalb auch die Wahl eines wirren Ports:
Die Standard-Ports sind sowieso schon alle in Benutzung (und außerdem eh nicht empfehlenswert), bei irgendwelchen gewürfelten Ports kriegst Du aber nach wie vor noch ganz leicht ein 1:1-Mapping.
- Passe in oscam den durch oscam verwendeten Port an den an, der im vorherigen Schritt als Ergebnis rausgekommen ist.
- Lege/passe die Freigabe im Genexis Router an: IPv6 des Banana Pi, Port wie im vorherigen Schritt
- Den Hostname den Dir der Portmapper nennt, kannst Du theoretisch direkt in IPv4-Clients verwenden, man kriegt es aber schöner hin ...
- Öffne eine Shell (Auf dem Pi, einer E2-Box oder auf dem PC) und gib ein
nslookup <genannter Hostname>
also z.B.
nslookup highlander.feste-ip.net
Wenn das nicht klappt, verwende stattdessen "host":
host <genannter Hostname>
Das Ergebnis wird in etwa so aussehen:
C:\>nslookup highlander.feste-ip.net
...
Name: highlander.feste-ip.net
Address: 89.163.225.168
Notiere die angezeigte IPv4.
- Lege nun auf freedns einen DynDNS-Host als A-Record mit dem Namen
highlander.mooo.com
an (Ja, den Hostname gibt es schon, aber das ist ein AAAA-Record) und trage die vorhin ermittelte IPv4 ein.
- Lege nun auf freedns einen DynDNS-Host als A-Record mit dem Namen
ipv4.highlander.mooo.com
an und trage die vorhin ermittelte IPv4 ein.
Im Ergebnis hast Du 3 (ja drei, trotz vier Records) verschiedene DynDNS-Hosts
1. highlander.mooo.com
2. ipv6.highlander.mooo.com
3. ipv4.highlander.mooo.com
Als
device = highlander.mooo.com,56754
kann nun
jeder Client - egal ob IPv4-only, IPv6-only oder per Dual Stack angebunden - Deinen Server verwenden!
1. IPv6-fähige Clients lösen direkt auf die IPv6 des Banana
Pi auf und verbinden direkt
2. IPv4-only Clients lösen auf die IPv4 des Portmappers auf und verbinden durch ihn
(Aus dem Grund war auch der 1:1-Mapper so wichtig).
Der Hostname "ipv6.highlander.mooo.com" dient zwei Zwecken:
1. Dual-Stack-Clients können damit eine Verbindung über IPv6 erzwingen
2. Gleichzeitig ist es für unseren Portmapper das Weiterleitungsziel
Der Hostname "ipv4.highlander.mooo.com" ist für Kasperles wie
Link ist nicht mehr aktiv. und eine Handvoll anderer Seppels, die ihr eigenes Netzwerk zerschossen haben und das nicht wahrhaben wollen.
Bestimmte Nasen haben IPv6-fähige oscams (Mehr aus Versehen denn aus Absicht) und IPv6-fähige Router (z.B. OpenWrt), es fehlt also nur noch ein Handschlag (Das Eintragen eines SixXS-Tunnels in der Fritz!Box oder das Eintragen eines 6in4-Tunnels im OpenWrt-Router, beides ca. 5 Minuten Aufwand) um selber komplett IPv6-fähig zu sein, aber sie tun es nicht.
Im Ergebnis würden deren oscams versuchen, sich über IPv6 mit highlander.mooo.com zu verbinden (Es steckt ja ein IPv6-fähiger Host dahinter ...), können es aber mangels IPv6-Außenanbindung nicht, deshalb erhalten sie ein "No route to host".
Solchen Trotteln kann man dann
1. einen Hinweis darauf geben, daß sie ein Problem im eigenen Netzwerk haben
und dann
2. sich die blöden Sprüche von diesen Rotzkiddies reinziehen und ihnen zum Dank den Hostname "ipv4.highlander.mooo.com" nennen, damit sie trotz eigenen kaputten Netzwerks verbinden können ...