T-HOME über VPN

Nabend,

so tuts leider nicht... Bekomme weder über den T-Home-Receiver noch über VLC am Pc den Multicast rein. Am Receiver kommt immer nur mal kurz das Bild und dann bleibts nach ein paar Sekunden hängen...

Kurz zur Situation: Ich route den kompletten Traffic per "route del default" und "route add default dev tun0" durch den Tunnel, habe den Receiver und den PC auf beiden FritzBoxen als "Exposed Host" eingetragen, damit die Firewall nicht in die Quere kommt und habe eben igmpproxy mit den configs von oben auf den FritzBoxen laufen...
 
Schade,

Multicast funktioniert also nicht, der grund warum du einige Sekunden siehst, ist das der Stream erstmal als unicast kommt (holt der T-Home Receiver selbst, bis der Multicast sauber steht, aber maximal einige Sekunden). Ich denke das liegt aber nicht an den andressen sondern an der igmpproxy konfig....

Unicast (VOD) sollte bei dir nun perfekt gehen, aber kein Live TV.

Ich versuche mal mehr ueber die igmpproxy konfiguration herauszufinden ich denke es kann sich nur um eine Kleinigkeit handeln, eventuall sind Interfacenamen nicht korrekt. Hasst Du den igmpproxy mal mit logoutput laufen lassen, der wirft normalerweise die Anfragen und Antworten aus. Ich gehe davon aus, Du hast auch mal 224.0.0.0/8 dazugenommen ?

/Gompf
 
Ne, mit der 224.0.0.0/8 tuts auch nicht.
Habe jetzt mal auch die beiden IPs aus der Anleitung von Fux mit reingenommen, damit tuts aber auch nicht...

Die Configs sehen jetzt so aus:
Server:
Code:
quickleave
phyint dsl upstream ratelimit 0 threshold 1
    altnet 239.0.0.0/8
    altnet 224.0.0.0/8
## Aus dem Beitrag von Fux, weiß nicht ob aktuell:
    altnet 217.0.119.194/24
    altnet 193.158.35.0/24
phyint tun0 downstream ratelimit 0 threshold 1
Client:
Code:
quickleave
phyint tun0 upstream ratelimit 0 threshold 1
    altnet 239.0.0.0/8
    altnet 224.0.0.0/8
## Aus dem Beitrag von Fux, weiß nicht ob aktuell:
    altnet 217.0.119.194/24
    altnet 193.158.35.0/24
phyint lan downstream ratelimit 0 threshold 1

Meinst Du mit logoutput die "-d"-Option bei igmpproxy? Die benutze ich eigentlich immer aber wirklich schlau werde ich aus den ganzen Meldungen nicht...
Kann man den Output irgendwie in einer Datei speichern? Dann würde ich das hier mal posten...
 
Zuletzt bearbeitet:
Schick mal das igmpproxy log Mitschlitt vom der remote Seite hoch, wenn du den Receiver anschaltest, und ein Kanal, sagen wir ARD an ist. Vielleicht kann man daraus was ersehen.

/Gompf
 
Kann man den Output irgendwie in einer Datei speichern? Dann würde ich das hier mal posten...

Da empfehle ich einfaches Cut&Paste mit langen History Buffer, Putty eignet siech hier sehr gut dafuer.

/Gompf
 
Hallo,
bei meinen Eltern in der Heimat läuft grade mal wieder der Fernseher und das heißt Experimentierverbot :)
Aber mir ist vorhin bei der Ausgabe von igmpproxy noch etwas aufgefallen, und zwar kam alle paar Sekunden mal die Meldung:
Code:
The source address 192.168.123.7 for group 239.255.255.250 is not in any valid net for upstream VIF
192.168.123.7 ist die IP von meinem T-Home Receiver, manchmal kommt da auch die IP von meinem Notebook.
Habe die Meldung mal gegoogelt und herausgefunden, dass man wohl noch das Subnetz des T-Home Receivers in die conf von igmpproxy eintragen muss.
Also habe ich die config auf der Client-Seite um eine Zeile erweitert:
Code:
quickleave
phyint tun0 upstream ratelimit 0 threshold 1
    altnet 239.0.0.0/8
    altnet 224.0.0.0/8
## Subnetz des Client T-Home Receivers
    altnet 192.168.123.0/24 
## Aus dem Beitrag von Fux, weiß nicht ob aktuell:
    altnet 217.0.119.194/24
    altnet 193.158.35.0/24
phyint lan downstream ratelimit 0 threshold 1

Daraufhin kommt die Fehlermeldung von igmpproxy nicht mehr... Richtig testen geht aber wie gesagt nicht, weil ich auf der Server-FritzBox meines Vaters jetzt erstmal nicht rumspielen darf bis da wieder der TV aus ist :)
Werde dann die entsprechende Zeile auch auf der Server-Conf einfügen und berichten...
Noch ein kleiner Hinweis: Ich muss zur Zeit immer die FritzBox meines Vaters per "reboot" neu starten, nachdem ich mit igmpproxy experimentiert habe. Ohne ein reboot scheint der Stream bei Ihm häufig zu hängen und das Fernsehbild bleibt ständig stehen... Kann aber nicht sagen, woran das liegen könnte...

Achja... was bedeuten diese Zahlen hinter den IP-Adresse in der config von igmpproxy, also /24 oder /8? Ich kann mir da keinen Reim darauf machen...
Schönen Abend
 
Sodele...
Habe jetzt die beiden Subnetze (Server-Netz: 192.168.110.0 und Client-Netz: 192.168.123.0) in die configs mit aufgenommen.
Auf der Server-Seite hatte ich zunächst auch die Fehlermdeldungen:
Code:
The source address 192.168.110.6 for group 239.255.255.250 is not in any valid net for upstream VIF
Doch die ließen sich durch den entsprechenden Eintrag in der Server-Conf auch beheben...

Hier die Logs:
Server-Config:
Code:
quickleave
phyint dsl upstream ratelimit 0 threshold 1
    altnet 239.0.0.0/8
    altnet 224.0.0.0/8
## Subnetz des Client T-Home Receivers
    altnet 192.168.123.0/24
## Subnetz des Server-Netzes
    altnet 192.168.110.0/24
## Aus dem Beitrag von Fux, weiß nicht ob aktuell:
    altnet 217.0.119.194/24
    altnet 193.158.35.0/24
phyint tun0 downstream ratelimit 0 threshold 1
Server-Log:
Code:
root@fritz:/var/mod/pkg# igmpproxy nw.conf -d
MRT_ADD_MEMBERSHIP failed; Errno(125): Address already in use
The origin for route 239.255.255.250 changed from 192.168.110.23 to 192.168.110.22
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
The origin for route 239.255.255.250 changed from 192.168.110.22 to 192.168.110.23
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
No interfaces found for source 192.168.200.2
select() failure; Errno(4): Interrupted system call

Client-Config
Code:
quickleave
phyint tun0 upstream ratelimit 0 threshold 1
    altnet 239.0.0.0/8
    altnet 224.0.0.0/8
## Subnetz des Client-Netzes
    altnet 192.168.123.0/24
## Subnetz des Server-Netzes
    altnet 192.168.110.0/24
## Aus dem Beitrag von Fux, weiß nicht ob aktuell:
    altnet 217.0.119.194/24
    altnet 193.158.35.0/24
phyint lan downstream ratelimit 0 threshold 1

Client-Log:
Code:
root@fritz:/var/media/ftp/uStor01/external# igmpproxy tu.conf -d
MRT_ADD_MEMBERSHIP failed; Errno(125): Address already in use
The origin for route 239.255.255.250 changed from 192.168.123.7 to 192.168.123.1
The origin for route 239.255.255.250 changed from 192.168.123.1 to 192.168.123.7
The origin for route 239.255.255.250 changed from 192.168.123.7 to 192.168.123.1
MRT_DEL_MFC; Errno(2): No such file or directory
The origin for route 239.255.255.250 changed from 192.168.123.7 to 192.168.123.8
The origin for route 239.255.255.250 changed from 192.168.123.8 to 192.168.123.1
The origin for route 239.255.255.250 changed from 192.168.123.1 to 192.168.123.7
The origin for route 239.255.255.250 changed from 192.168.123.7 to 192.168.123.2
select() failure; Errno(4): Interrupted system call

Ich habe zeitgleich die igmpproxy auf beiden Seiten mit der entsprechenden config gestartet. Danach habe ich mit dem Receiver durch verschiedene Kanäle gezappt für ca eine Minute und dann wieder gestoppt...

Auffallend sind natürlich die Meldungen auf dem Server
"No interfaces found for source 192.168.200.2"
Die 192.168.200.2 ist dabei die IP-Adresse, die ich hier im Setup von OpenVPN eingetragen habe, um die beiden Netze zu routen:
openvpn.JPG

Der Screenshot ist von der Client-Config von OpenVPN. Auf der Server-Config sind die beiden IP-Adressen einfach nur vertauscht.

Ich weiß jetzt leider nicht, warum diese Fehlermeldung kommt... Auch googel wusste keine Rat...
 
So könnte es gehen

Bitte nicht übel nehmen, aber nachdem ich dieser Tage stillschweigend mitgelesen habe, scheint es mir, als fehlt es am grundlegenden Verständnis für bestimmte netzwerktechnische Grundlagen und v.a. am Verständnis für die Funktionsweise von Multicast, IGMP und des IGMPProxy, wobei mir zugegebenermaßen persönlich letzteres auch noch nicht 100%ig geläufig ist.

Ich habe mir daher in den letzten 2 Tagen den Kopf über die korrekte Umsetzung der Problematik zerbrochen und entsprechende Manuals zum IGMPProxy gelesen, habe allerdings selber noch keinen Test durchführen können, ob meine theoretischen Überlegungen korrekt sind oder nicht.

Versuchen wir's zusammenzutragen:

Serverseitig(serversite) = T-Home Anschluss mit IPTV

Servernetz: 192.168.110.0/24 (/24 entspricht Netzmaske 255.255.255.0)
Lokale IP Adresse Router(serversite): $ip_local_router_serversite
Lokale IP Adresse Media Receiver(serversite): $ip_local_mr_serversite
Remote IP Adresse Router(serversite): $ip_remote_router_serversite (ggf. durch DynDNS-Name ersetzen)


Clientseitig(clientsite) = x-belieber DSL Anschluss mit Media Receiver im Netzwerk

Clientnetz: 192.168.200.0/24 (/24 entspricht Netzmaske 255.255.255.0)
Lokale IP Adresse Router(clientsite): $ip_local_router_clientsite
Lokale IP Adresse Media Receiver(clientsite): $ip_local_mr_clientsite
Remote IP Adresse Router(clientsite): $ip_remote_router_clientsite (ggf. durch DynDNS-Name ersetzen)

Beide Netze sind über VPN Tunnel miteinander verbunden, angeschlossene Hosts können untereinander kommunizieren.

Soviel zur Vorbereitung.

Grundlagen:
Ein Media Receiver kann seinen jew. IPTV Stream nur emfpangen, wenn er einer entsprechenden Multicast Gruppe beitreten/sie wieder verlassen/einer anderen Gruppe beitreten kann. Die Verwaltung dieser Multicast Gruppen erfolgt über IGMP im Router, die Übertragung des Streams selber wird dann über ein Multicast-Routing Protokoll ermöglicht, welches das Routing zwischen den Routern vornimmt. Welches Protokoll das konkret bei T-Home Entertain ist, ist mir nicht ersichtlich, m.E. nach dürfte es PIM sein.

Umsetzung:
Damit also der clientseitige MediaReceiver streamen kann, müssen seine IGMP Anfragen ("IGMP Daten") über den Tunnel in das Serverseitige Netz geroutet werden. Dies wird vermutlich clientseitig mit IGMPProxy realisiert. Vorraussetzung ist, dass der multid im Router mit der Option -i (disable IGMP proxy), also ohne hauseigene IGMPProxy-Funktion gestartet wird. Also konfigurieren wir clientseitig das Tunneling Interface als Upstream Interface für IGMPProxy und geben als Zielnetzwerk das Remote Netz, ergo das Servernetz an. IGMPProxy muss auch noch wissen, an welche NIC's im Clientnetz der Multicast Stream geroutet werden darf. IGMPProxy leitet allen ankommenden Multicast Traffic an alle Interfaces weiter, die in der Konfiguration als Downstream Interface werden. Also deklarieren wir ethX (wobei X=0-3 ist, je nachdem, an welchem LAN Port der MediaReceiver angeschlossen ist) als Downstream Interface serverseitig. Es kann auch ein zweites oder drittes Downstream Interface deklariert werden, falls mehr Clients Multicast empfangen sollen. Das ist aber aufgrund der Bandbreitenanforderungen kaum praktikabel, aber auf jeden Fall erwähnenswert und später auch noch notwendig. Dazu einfach eine weitere Konfigurationszeile in der Konfiguration anlegen.

Client-Konfig:
Code:
quickleave
phyint tun0 upstream ratelimit 0 threshold 1
## Subnetz des Server-Netzes
    altnet 192.168.110.0/24

phyint lanX downstream ratelimit 0 threshold 1

Serverseitig muss weiterhin der gewünschte Multicast Stream ("Multicast Traffic") ins Clientseitige Netz geroutet werden. Demzufolge muss serverseitig ebenfalls IGMPProxy zum Einsatz kommen. Nochmal zur Erinnerung: IGMPProxy leitet allen ankommenden Multicast Traffic an alle Interfaces weiter, die in der Konfiguration als Downstream Interface deklariert sind. Also deklarieren wir das Tunneling Interface serverseitig als ein Downstream Interface. Natürlich wollen wir im serverseitigen Netz ebenfalls Multicast Traffic entfangen, also müssen alle NIC's im Servernetz ebenfalls als Downstream Interface deklariert werden.

Server-Konfig:
Code:
## Downstream Interface für tun0
phyint tun0 downstream ratelimit 0 threshold 1

## Downstream Interface für lanX (MR des Server Netzes)
phyint lanX downstream ratelimit 0 threshold 1


Jetzt müssen "nur" noch serverseitig alle IGMP Anfragen Richtung T-Home geroutet werden. Ich vermute das Routing dahin, hat bisher der IGMPProxy von mutltid übernommen, diesen haben wir aber deaktiviert. Also muss IGMPProxy das für uns übernehmen. Als Upstream Interface wird serverseitig also das "dsl" Interface deklariert und eine Route in das entfernte Netz konfiguriert. Doch in welches Netz soll geroutet werden?
Hier scheiden sich jetzt die Geister bzw. bin ich mir selber unschlüssig. Aufgrund der zahlreichen Beiträge vermutete ich als Zielnetz das häufig zitierte Netz 193.158.35.0/24. Und tatsächlich taucht eine IP-Adresse aus dieses Netz im Tracelog meines VLAN 8 (siehe Anlage) auf und das nicht zu selten! Allerdings ist jene Adresse niemals eine Ziel-Adresse geschweige denn werden irgendwelche IGMP Anfragen dorthin geroutet. Stattdessen werden über UDP die Multicast Nutzdaten ankommend geroutet. Was passiert aber mit den IGMP Anfragen? Mein Trace sagt: Umschaltvorgang = source-IP: meine per DHCP zugewiesene IP-Adresse, Destination: 224.0.0.X, Protocoll IGMP <= das ist Multicast Traffic!
Demzufolge liegt der Verdacht nahe, dass Serverseitig kein "altnet" angegeben werden muss, denn das Routing von Multicast Traffic zwischen Serverseitigen Router und Backbone Router übernimmt offensichtlich das bereits oben erwähnte Multicast-Routing Protokoll.

Ab hier gilt es jetzt also, auszuprobieren:
Entweder

Server-Config ohne Angabe einer Route serverseitig
Code:
quickleave
## Downstream Interface für tun0
phyint tun0 downstream ratelimit 0 threshold 1

## Downstream Interface für lanX (MR des Server Netzes)
phyint lanX downstream ratelimit 0 threshold 1

phyint dsl upstream ratelimit 0 threshold 1

oder

Server-Config mit Route ins Netz 193.158.35.0/24
Code:
quickleave
## Downstream Interface für tun0
phyint tun0 downstream ratelimit 0 threshold 1

## Downstream Interface für lanX (MR des Server Netzes)
phyint lanX downstream ratelimit 0 threshold 1

phyint dsl upstream ratelimit 0 threshold 1
    altnet 193.158.35.0/24

wobei ich letzteres theoretisch ausschliese.

Bitte korrigiert mich, wenn ich grobe Denkfehler habe. Ich habe das ganze bisher nur theoretisch durchgespielt und außer meinem Tracelog und den Manuals man igmpproxy und man igmpproxy.conf keine weiteren Quellen (abgesehen von den üblichen Informationsseiten).

Ergänzende Hinweise:
Ich habe in einem Forum gelesen, dass angeblich die Reihenfolge in der igmpproxy.conf eine Rolle spielt. Es soll wohl zunächst das/die Downstream Interface(s) zuerst deklariert werden, danach erst das Upstream Interface. Ich persönliche glaube aber, dass das Unfug ist.
In allen möglichen Konfigurationen wurde Serverseitig im Upstream Interface eine Route ins Clientnetz konfiguriert. Warum erschliest sich mir nicht ganz. Vmtl. hat hier einfach der "Ich-copy/paste-einfach-mal-ne-Konfiguration-und-schaue-was-dabei-rauskommst-Fehlerteufel" zugeschlagen. Das führt natürlich schnell zu Verwirrungen und Verständnisproblemen. wenn natürlich jemand eine logische Erklärung dazu hat, dann immer her damit.

@-ChriZ
Könntest du das ganze bitte so wie beschrieben testen?! Achte vor allem darauf, dass dein Downstream Interface korrekt konfiguriert ist, denn dieses war m.E. nach bisher falsch konfiguriert (es muss heisen "lanX"; X=0-3 und nicht nur "lan"). Außerdem muss multid ohne Hauseigenen IGMPProxy restartet werden.
 

Anhänge

  • fritzbox-vcc0_12.02.11_0249.zip
    3.3 MB · Aufrufe: 13
Du hasst Recht, Rounting bin ich mir ziemlich sicher bei Multicasting auch, aber IGMP und IGMPPROXY ist das was ich probieren wollte, da ich mir da absolut nicht sicher bin. Allerdings leuchten deine Ausfuehrungen oben ein, sie sind schluessig. Ich denke auch wenn das so funktioniert wie das jetztige Verstaendnis hier ist, das der allnet Eintrag unnoetig, oder vielleicht soger hinderlich sein koennte. Ich kann es aber auch nur theoretisch nachvollziehen im Moment. Werde aber eine Eventuelle Loesung schonmal remote vorbereiten bis ich wieder an meiner Remote Site bin.

@ChrisZ : Ich bin gespannt.

/Gompf
 
Ergänzung zum Thema - Problem OpenVPN

Mir ist noch eine Sache eingefallen, die zum Problem in Chriz' Konfiguration werden könnte. Da er auf Client und Serverseite jew. unterschiedliche Subnetze bedient, muss logischerweise der Routing Mode (tun) von OpenVPN verwendet werden. Besser ist aber stattdessen im Bridging Mode zu arbeiten und somit zwei gleiche IP Netze zu bedienen.

Warum?
Das in IGMPProxy deklarierte Downstream Interface sendet (by default) den Multicast Traffic ausschlieslich an Hosts aus dem eigenen Subnetz. Man könnte das umgehen, indem man stattdessen ins Downstream Interface eine Route ins Zielnetz, sprich in unserem Fall des entfernte Client Netz schreibt. Das würde dann so aussehen:
Code:
## Downstream Interface für tun0
phyint tun0 downstream ratelimit 0 threshold 1
    altnet 192.168.200.0/24
Vgl. dazu aus "man igmpproxy.conf"
altnet networkaddr
Defines alternate sources for multicasting and IGMP data. The network address must be on the following format 'a.b.c.d/n'. By default the
router will accept data from sources on the same network as configured on an interface. If the multicast source lies on a remote network,
one must define from where traffic should be accepted.
Jetzt kommt aber noch erschwerend hinzu, dass bei OpenVPN im Routing Mode zusätzlich ein sog. "VPN Netz" (z.Bsp. 10.8.0.0) welches wiederrum von OpenVPN in mehrere kleine /30 Subnetze gesplittet wird.
Vgl. dazu http://wiki.openvpn.eu/index.php/Vergleich_TUN/TAP#Erkl.C3.A4rung_2
Hier muss natürlich ebenfalls Multicast & IGMP geroutet werden, und genau da stoßen wir vmtl. an die Grenzen des Machbaren im Routing Mode.

Es ist daher zu empfehlen, die eigenen Subnetze 1:1 zu konfigurieren und stattdessen den Bridging Mode zu verwenden.

Das ändert natürlich grundlegende Dinge:
Man beachte, dass der Interfacename für das Tunnel-Interface statt "tun0" auf "tap0" geändert wird. Des Weiteren könnte theoretisch der Routing Eintrag Clientseitig im Upstream Interface entfallen (der, der urpsrünglich ins Servernetz verwies). Stattdessen kann (falls notwendig) eine Route ins Netz 193.158.35.0/24 (deren Sinn sich mir immer noch nicht erschliest) konfiguriert werden.
 
Wuerden in dem Fall nicht Drei altnet Eintraege fuer den tun0 setup tun ? Sprich im downstream des servers auf tun0 und in tun0 und lanX auf der client Seite ? Ich sags nur, den TAP modus mit FB im selben addressraum, den habe ich schon mal getestet (kann sich ja geaendert haben) bevor ich ueberhaupt mit tun angefangen habe, und das hat ueberhaupt nicht funktioniert. Ich wollte das als ganz normale Bridge probieren, ganz ohne IGMP ;)

/Gompf
 
Tut mir leid! Ich verstehe deine Frage oder deinen Denkansatz nur mutmaßlich. Könntest du dich etwas präziser ausdrücken?!
 
Nun ich denke mir (ohne dass ich wie gesagt igmpproxy genau kennen wuerde, da bist,Du mir vorraus, habe nie das man gefunden, geschweige gelesen, aber ich kenne mich etwas mit multicasts im generellen aus...), dass der altnet die multicast bounderies festsetzt oder vierschiebt. Multicast laeuft ja normallerweise im selben subnet, es sei denn der router macht etwas. Der multid in der FB macht das genau fuer sein LAN, IGMPPROXY offensichtlich fuer mehrere interfaces. Ich denke wenn allerding "routen' statt bridgen wollen mit dem igmpproxy muessen wir von hand die multicast bounderies per altnet Befehl bei jedem hop um das jedweile Zielnetz verschieben. Das ist mein Gedankengang.

Uebrigens die sagenumworbene Route die hier immer faellt ist wahrscheindlich eine unicast Route. denn so weit ich weis werden multicasts ueberhaupt nicht gerouted, jedenfalls nicht im traditonellen Sinne mittels des route commandos, ich denke das sind die unicast Routen fuer den Receiver. Teilweise wird das Video des Fernehkanals (die ersten 5 Sek.) per unicast uebertragen bis der Multicast gebuffert und syncronisiert ist und das ganze VOD sowieso. Sozusagen definieren diese Routeneintraege eigentlich nur welche IP Bereiche direkt ueber VLAN 8 (Zielnetz Architektur) gehen und welche nicht. Es muesste also schon reichen diese Addressen durch VPN zu routen und nicht den gesammten traffic. Damit muesste die Authentifizierung des Receivers und VOD schon mal tun. Multicast natuerlich seperat wie wir es hier nun diskutieren.

/Gompf
(sicher mit genug spelling mistakes, vom Handy aus getippt)
 
da bist,Du mir vorraus, habe nie das man gefunden, geschweige gelesen
jain, ich hab's nur theoretisch durchgesponnen, ob das alles stimmt, sei erst mal dahin gestellt. Obwohl es von der Logik her schlüssig erscheint. Die man's sind über "man igmpproxy" und "man igmpproxy.conf" nach Installation des Packages aufrufbar.

dass der altnet die multicast bounderies festsetzt oder vierschiebt.
Ich glaube, dass das stimmt nicht so ganz. Ich bin mir über Multicast Boundary's nicht ganz 100%ig im klaren, aber m.E. stellen Sie eine Möglichkeit dar, bestimmte Multicast Gruppen bzw. bestimmte Adressbereich per AccessList für eingehenden Muticast Verkehr zu organisieren (im Sinne von Allow oder Deny, ähnlich einer Firewall). IGMPProxy macht aber etwas anderes, nämlich eingehenden Multicast und IGMP Verkehr an seine Subnetz Hosts weiterzuleiten ggf. auch an Hosts aus externen Subnetzen. Für letzteres ist altnet da:
Dazu nochmal der Auszug aus der "man igmpproxy.conf"
altnet networkaddr
Defines alternate sources for multicasting and IGMP data. The network address must be on the following format 'a.b.c.d/n'. By default the router will accept data from sources on the same network as configured on an interface. If the multicast source lies on a remote network, one must define from where traffic should be accepted.​

This is especially useful for the upstream interface, since the source for multicast traffic is often from a remote location. Any number of altnet parameters can be specified.​
altnet ist also nichts weiter, als die Angabe eines externen Subnetzes, in dem sich Multicast & IGMP Datenquellen befinden.

altnet Befehl bei jedem hop um das jedweile Zielnetz verschieben. Das ist mein Gedankengang.
Wir können m.E. aber nur funktionstüchtige "altnet's" ins unmittelbar angrenzende Subnetz angeben. Bei OpenVPN im tun Mode hängt wie erwähnt aber noch ein VPN Subnetz dazwischen, quasi "ein dazwischen hängender Hop". Damit also der Multicast & IGMP Verkehr ins eigentliche Zielnetz kommt, müsste in diesem Hop ebenfalls IGMPProxy laufen, und dafür erschliest sich mir keine Möglichkeit.
Dazu auch nochmal ein Auszug aus "man igmpproxy"
Since igmpproxy only uses IGMP signalling, the daemon is only suited for situations where multicast traffic comes from only one neighbouring network. In more advanced cases, 'mrouted' or 'pimd' is probably more suited.​


/Gompf
(sicher mit genug spelling mistakes, vom Handy aus getippt)
Ich konnte es dieses mal entziffern ;)
 
wenn wir schon von mrouted oder pimd reden, kann ich ja auch erwaehnen das ich mal ueber eine udpxy modifiikation nachgedacht habe. Dann wuerde es naemlich ganz ohne VPN gehen, was die box nicht so belasten wuerde.

FB1-<MC>udpxy<http>udpxy<MC>FB2

Nach deiner bescreibung wuerden dann dort jewals auch noch ein igmpproxy sein muessen, das weis ich aber jetzt noch nicht.

Ich habe leider igmpxy nur unter freetz, vielleicht installier ichs mal auf dem host das paket, damit ich auch die mans lesen kann.

Allerdings gibt mir das hier wieder massiv zu denken :

altnet ist also nichts weiter, als die Angabe eines externen Subnetzes, in dem sich Multicast & IGMP Datenquellen befinden.

/Gompf
 
Nabend,
wow.. hier ist ja auf einmal richtig leben :)

Danke zero°|K3nnY für deinen Beitrag #43...
Eine kurze Frage hätte ich aber noch: Das Client-Netz ist nicht 192.168.200.0/24 sondern 192.168.123.0/24, das macht aber soweit ich das verstehe keinen Unterschied, oder? Werde einfach die IP-Adresse in Deinen vorgeschlagenen Konfigs anpassen...
Die 192.168.200.1 und 192.168.200.2 habe ich aus irgendeinem Tutorial übernommen, als es um die einrichtung der OpenVPN-Verbindung ging...
Wegen Bridge vs. Tunnel: Ich wollte keine Bridge benutzen, damit beide Netze weiterhin ihren eigenen DHCP-Server verwenden können. Ich möchte halt nicht in meinem CLient-Netz allen Geräten eine feste IP zuordnen müssen.
Ich bin bis Sonntagabend unterwegs. Dann werde ich wieder ein wenig testen

Gruß und schönen Abend noch

P.s.: Gibt es eine Möglichkeit herauszufinden, an welchem LAN Interface der MediaReceiver hängt? Und: Im Server-Netz hängen zwei MRs... Einer direkt an der Server-Fritz-Box über ein Kabel, der andere hängt hinter einer Speedport W101 WLan-Bridge, also FritzBox-> WLan -> W101 -> MR.
Heißt das jetzt, ich muss für beide MRs einen downstream in die Konfig einfügen? Und wenn ja, welches Interface muss ich für den hinter der WLan-Bridge wählen?
 
Zuletzt bearbeitet:
Off Topic zur Info: Mehrere MRs muss mal wegen Aufnahme aufpassen, die passiert immer am ersten (glaube ich) MR, die anderen nehmen selbst nichts auf, sondern nur der eine, das ist immer noch eines der grossen Probleme. Bei mir ist es der erste der alle Aufnahmen hat, aber sicher bin ich mir natuerlich nicht wie das bei anderen ist.
 
Moin,
jup man kann nur einen MR im Netz als Videorekorder benutzen. Aber (normalerweise) können dann alle MRs im Netz die Aufnahmen abspielen oder Aufnahmen starten und für den Benutzer ist es egal, welcher der MRs jetzt der Videorekorder ist. Ich finde das recht praktisch.
In meinem Fall kann der MR im Client-Netz aber noch nicht den Videorekorder-MR im Server-Netz "sehen". Aber ich denke, das ist jetzt erstmal zweitrangig...

Ich habe jetzt aber erstmal noch ein weiteres Problem entdeckt, was das Experimentieren für mich deutlich erschwert: Sobald man auf der Server-FrizBox multid mit "multid -s" stoppt und dan mit "multid -i" ohne den IGMP-Proxy startet, tritt folgendes Problem auf: Fernsehen geht so ca. 3-5 Minuten lang ohne Probleme, bleibt dann aber für ca. 1 Minute lang hängen. Danach gehts wieder für ein paar Minuten und bleibt dann wieder hängen. Wenn man sich auf der FritzBox den Traffic im Online-Monitor anschaut sieht man, dass der Multicast einfach nicht mehr rein kommt. Zappt man innerhalb dieser einen Minute in der das Bild hängt auf einen anderen Kanal kommt zunächst UniCast und dann kurz danach auch wieder der Multicast-Stream rein, bleibt dann aber auch wieder nach 3-5 Minuten wie oben beschrieben hängen...
Dieses Verhalten ist wohl der Indikator, dass irgendwas mit dem Igmp-Proxy nicht stimmt (sei es jetzt der im multid, der nicht läuft, oder igmpproxy, der nicht richtig konfiguriert wurde).
Das machts für mich nicht einfacher, weil das mein Vater natürlich nicht so dolle findet, wenn bei ihm das Fernsehen nicht richtig tut :rolleyes:

Daher wäre es für mich jetzt erstmal wichtig, igmpproxy auf der Server-Seite so zum laufen zu kriegen, dass dort alles richtig tut...
Ich bin dafür heute morgen zu meinen Eltern gefahren, um zumindest das mal hinzubekommen.

Daher mein Vorschlag für eine minimal .conf auf der Server-Seite, damit die MRs dort tun:
Code:
quickleave

## Downstream Interface für lanX (Erster MR des Server Netzes, der am LAN hängt)
phyint lanX downstream ratelimit 0 threshold 1
    altnet 192.168.110.0/24

## Downstream Interface für zweiten MR hinter der WLan-Brücke?
## phyint ??? downstream ratelimit 0 threshold 1
## altnet 192.168.110./24

## DSL Interface als Upstream-Interface 
phyint dsl upstream ratelimit 0 threshold 1
    altnet 192.168.110.0/24

Schomal vorweg: So tuts nicht und das Bild bleibt wie oben beschieben immer mal wieder hängen...

Was ich nicht weiß:
Welches LanX-Interface für den MR, der über Kabel an der FritzBox hängt? Es müsste doch nen telnet-Befehl geben, der mir anzeigt, welches Gerät (über MAC-Adresse) an welchem lanX hängt, oder? Das würde schon mal diese Fehlerquelle ausschließen.

Und unter dem dsl-upstream muss ich das Subnetz des Server-Netzes eintragen, da sonst ständig die Fehlermeldung von igmpproxy kommt:
Code:
The source address 192.168.110.22 (<- IP des MR) for group 239.255.255.250, is not in any valid net for upstream VIF.
Macht das überhaupt Sinn? Eigentlich nicht, oder?

Und ich muss doch, wie oben in der conf angedeutet, auch ein downstream-interface für den MR hinter der WLan-Brücke eintragen, oder?

Ich probiere jetzt mal verschiedene configs aus und versuche eine Einstellung zu finden,bei der das Bild nicht hängen bleibt... Falls jemand in der Zwischenzeit meine Fragen beantworten könnte, würde das auf jeden Fall helfen :p
Gruß

Update:
Mhm... tut nicht. Habe beim downstream-interface von lan0 bis lan3 und auch mal ath0 und ath1 ausprobiert.
Beim upstream-interface habe ich mit und ohne altnet 192.168.110.0/24 und auch mit und ohne altnet 193.158.35.0/24 getestet.
Habe über "ifconfig" gesehen, dass es noch ein interface "vdsl" gibt und das mal beim upstream-interface eingetragen. Damit startet aber igmpproxy schonmal garnicht.
Ich kann nur vermelden, dass nach einem restart von multid über die freetz-gui das Fernsehen wieder ohne Probleme tut.
Es gibt einfach zu viele Variablen und ich kenne mich offensichtlich nicht gut genug aus :(

2.Update:
Okay, zumindest der MR, der am Kabel der ServerFritzBox hängt, scheint jetzt zu tun, und zwar mit dieser conf:
Code:
quickleave
phyint dsl upstream ratelimit 0 threshold 1
altnet 217.0.119.194/24
altnet 193.158.35.0/24
## IP des MRs, der am LAN-Kabel hängt
altnet 192.168.110.22/32
phyint lan0 downstream ratelimit 0 threshold 1

Zumindest mal ein Erfolgserlebnis...
Bei der IP-Adresse des MR tut 192.168.110.0/24 übrigens nicht... Tut nur, wenn ich die genaue IP-Adresse angebe...

Der hinter der WLan-Bridge tut aber noch nicht und bleibt ständig hängen. Habe als downstream-Interfaces glaube ich alles probiert:
ath0, ath1, wifi0 und wifi1
Hat jemand eine Idee?
 
Zuletzt bearbeitet:
Ich habe jetzt aber erstmal noch ein weiteres Problem entdeckt, was das Experimentieren für mich deutlich erschwert: Sobald man auf der Server-FrizBox multid mit "multid -s" stoppt und dan mit "multid -i" ohne den IGMP-Proxy startet, tritt folgendes Problem auf: Fernsehen geht so ca. 3-5 Minuten lang ohne Probleme, bleibt dann aber für ca. 1 Minute lang hängen. Danach gehts wieder für ein paar Minuten und bleibt dann wieder hängen.
Dies kann ich bestätigen, habe ich bereits vorgestern getestet. Dieses Verhalten tritt zum Beispiel auch an Streams via VLC-Player am PC auf.

Dieses Verhalten ist wohl der Indikator, dass irgendwas mit dem Igmp-Proxy nicht stimmt (sei es jetzt der im multid, der nicht läuft, oder igmpproxy, der nicht richtig konfiguriert wurde).
Wohl eher der von multid. IGMPProxy war bei mir zum Testzeitpunkt noch nicht implementiert. Was ich aber erstaunlich finde, dass der Stream noch mehrere Minuten weiterläuft, erst dann hängen bleibt und nach Umschalten weiterläuft. Eine richtige Erklärung dafür habe ich dafür momentan nicht. Sollte etwa tatsächlich für einen so langen Zeitraum der Stream via Unicast übertragen werden?



Daher wäre es für mich jetzt erstmal wichtig, igmpproxy auf der Server-Seite so zum laufen zu kriegen, dass dort alles richtig tut...
Meine Rede. Erstmal auf Serverseite alles zum Laufen bringen dürfte alles einfacher machen. Ab morgen habe ich einen Speedport W920V zum Freetzen & Testen im Haus. Da kann ich das ganze dann mal praktisch umsetzen und näher analysieren. Irgendwie stell ich mich zu dumm an, meinen Speedport W721V mit Freetz auszustatten (Firmware Image zu groß)

Daher mein Vorschlag für eine minimal .conf auf der Server-Seite, damit die MRs dort tun:
Dein Vorschlag macht auf den ersten Blick nicht wirklich Sinn. altnet im Downstream macht nur Sinn, wenn der Client im externen Subnetz liegt.



Welches LanX-Interface für den MR, der über Kabel an der FritzBox hängt? Es müsste doch nen telnet-Befehl geben, der mir anzeigt, welches Gerät (über MAC-Adresse) an welchem lanX hängt, oder? Das würde schon mal diese Fehlerquelle ausschließen.
ifconfig heist das Stichwort. Und genau dabei ist mir eine Eigenheit aufgefallen, was unbedingt beachtet werden muss:
Mein PC hängt am LAN 1 meines Speedport W721 dran, das Interface dafür heist eth0.
Mein MediaReceiver hängt am LAN4 meines Speedport W721 dran, man sollte meinen, das Interface heist eth3. Ist aber nicht der Fall. das Interface heist tiwlan0!

Demzufolge sollte meine Minimal-Konfiguration wie folgt aussehen:
Code:
quickleave

## Downstream Interface für LAN4 (Mein MR 301)
phyint tiwlan0 downstream ratelimit 0 threshold 1

## DSL Interface als Upstream-Interface 
phyint dsl upstream ratelimit 0 threshold 1
 altnet 193.158.35.0/24

Nicht mehr und nicht weniger. Die Fehlermeldung vom IGMPProxy kommt vermutlich durch die falsche Angabe des Downstream Interfaces. Pass mal die Konfiguration wie beschrieben an und probiere es dann nochmal!
 
Zuletzt bearbeitet:
Ich doppelposte mal, weil Chriz mittlerweile seinen Beitrag editiert hat.

Upstream Interface altnet 193.158.35.0/24 => könnte Sinn machen. Wenn ich mir es so recht überlege sogar notwendig. Der Multicast Traffic kommt ja lt. Trace tatsächlich von einer IP-Adresse dieses Subnetzs. Und der altnet Eintrag im Upstream gibt ja eine Multicast Quelle an, die wir benötigen. Es scheiterte bei mir bisher an einem Denkfehler, dass ich das nicht erkannt habe. Dieser Eintrag ist defnitiv notwendig und richtig!

Upstream Interface altnet 217.0.119.194/24 => sehe ich keinen Sinn drin. Könntest du bitte den Eintrag entfernen und probieren?

Upstream Interface altnet 192.168.110.22/32 (IP des MR) => Das macht keinen Sinn. Warum sollte ich einen Routingeintrag zu einer IP-Adresse und dann noch im selben Subnetz anlegen?!

phyint lan0 downstream ratelimit 0 threshold 1 => ändere das mal testweise wie beschrieben mal auf das aktive Interface, dass du via ifconfig siehst (tiwlanX).

Welche Bridge verwendet dein Vater? Die W101 Bridge wird über WDS angebunden, die Interfaces dafür sind wahrscheinlich wdsdwX. Es gibt auch noch ein Interface wdsup0, keine Ahnung wozu das gut ist. Ich habe keine Bridge zum Testen im Haus.
Die W100 Bridge wird ja direkt am Router angeschlossen, es müsste also das entsprechende LAN Interface angegeben werden. Ein Kollege meinte aber einmal, die 100er Bridge fährt im internen Netz Unicast....

¤dit: ich sehe grade aus Beitrag #56, dass die W101er Bridge verwendet wird...
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.