Fli4l Paket

 

OPT_IGMP

Version 1.2.0/ 20.12.2009

Mit Ergänzungen für T-Home (VDSL) unter fli4l mit vlan id7/id8 [9]

Diese Version trennt die IPTV-Verbindung nach jeder 24h Zwangstrennung, ist also vor allem für ADSL+ und VDSL Startnetz zu verwenden.

 

OPT_IGMP ist ein IGMP-PROXY [1] Paket für fli4l, welches erlaubt, T-Home IPTV (andere wurden derzeit noch nicht getestet) mit fli4l als Router statt dem mitgelieferten Router Speedport W700/701 zu verwenden

 

Fli4l package by JK2020@web.de (supported by many others – siehe Danke)

 

 

 

 

 

 

 

 

 

Inhalt

 

A     Wofür?. 2

B      Was wird hier beschrieben?. 2

C     Voraussetzung. 2

D     Hardware Setup. 3

E      VLAN-Konfiguration. 4

F      Konfiguration einer zusätzlichen NIC für IPTV.. 5

G     IGMP-Funktion. 6

H     IGMP-Konfiguration. 7

I       Änderungen in anderen Config-Dateien. 7

J       Quellenverweis. 8

K     Updates. 8

L      Danke. 8

M     FAQ.. 9

 

 

 

 


A       Wofür?

 

Die Deutsche Telekom AG bietet derzeit VDSL25/VDSL50 (Bandbreite: 25/50 Mbit/s) zusammen mit Entertain-Paketen an. Damit besteht die Möglichkeit, Fernsehen über Internet (IPTV) zu empfangen.

 

Die Verteilung von IPTV erfolgt als Multicast, d.h. von einem Punkt zu einer (geschlossenen) Gruppe. Zur Organisation vom Multicast-Gruppen ist das Netzwerkprotokoll IGMP (Internet Group Management Protocol) notwendig. IGMP [1] bietet die Möglichkeit, dynamisch Multicast-Gruppen zu verwalten. Die Verwaltung findet nicht in der Sende-Station statt, sondern in den Routern, an denen Empfänger einer Multicast-Gruppe direkt angeschlossen sind. IGMP bietet Funktionen, mit denen eine Station einem Router mitteilt, dass sie Multicast-IP-Pakete einer bestimmten Multicast-Gruppe empfangen will.

 

Die mitgelieferten Speedport-Router (derzeit W700V/W701V/W722) unterstützen IGMP.

 

Wer fli4l für IPTV statt Speedport-Router nutzen will, benötigt einen IGMP-Proxy  [6] auf dem fli4l-Router. OPT_IGMP ist ein IGMP-Proxy für fli4l.

 

B       Was wird hier beschrieben?

 

Diese Dokumentation zum OPT_IGMP Paket beschreibt die Konfiguration von fli4l, um VDSL und IPTV mit der mitgelieferten Set-Top-Box (STB) X300T/X301T hinter einem fli4l-Router zu betreiben.

 

In dieser Beschreibung erfolgt die Installation von IPTV über eine zusätzliche Netzwerkkarte.

 

C       Voraussetzung

 

Achtung: Die opt-igmp Version bis V1.x (also auch diese Version) führt bei jeder 24h Zwangstrennung, sowie bei jeder manuellen Trennung (beispielsweise durch imonc) einen shutdown und restart des impproxy durch.

 

Damit ist opt_igmp V1.x für allem für ADSL+ und für das VDSL Startnetz (ohne ID8) vorgesehen.

 

Für die Verwendung vom VDSL Zielnetz (mit ID8) wird der Einsatz von opt_igmp V2.x empfohlen (Achtung: opt_igmp ab V2.x funktioniert nicht mit ADSL+ und VDSL Startnetz).

Die Deutsche Telekom hat VDSL als VLAN eingeführt. In der Einführungsphase (Startnetz) wurde nur ein VLAN-Tag (ID7) verwendet, über den der gesamte Traffic floss. Nach der Umstellung (Zielnetz) auf zwei VLAN-Tags (ID7, ID8) bleibt der Internet Traffic auf ID7 und der neue ID8 wird ausschließlich für den IPTV Multicast-Traffic verwendet. Die Umstellung des VDSL Betriebs auf das Zielnetz (zwei VLAN Tags ID7/ID8) ist nach derzeitigem Stand größtenteils abgeschlossen.

 

Hardware (neben Set-Top-Box und VDSL-Modem):

 

Software:

 

Die Anpassung der Konfigurationsdateien (base.txt, dsl.txt, advanced_networking.txt, dhcp_client.txt, dns_dhcp.txt) werden in dieser Anleitung beschrieben.

 

D       Hardware Setup

 

Die Empfehlung für den Speedport-Router, die IPTV STB ohne weitere Netzwerk-Elemente direkt an den Router anzuschließen, gilt natürlich auch für den fli4l-Router. Falls dennoch Netzwerk-Knoten (Hub, Switch, Bridge, Gateway, Router) zwischen der IPTV Box und Router dazwischengeschaltet werden, sollten diese multicastfähig sein, um Störungen zu vermeiden.

 

Im Heimnetz werden i.d.R. keine Switche verwendet, die virtuelle Netze (VLAN) voneinander trennen, um den restlichen Verkehr (ID7) vom IPTV Multicast-Traffic (ID8) zu entlasten.

 

Deshalb wird hier als HW-Konfiguration eine separate NIC (Network Interface Card = LAN- bzw. Ethernet-Karte) im fli4l verwendet, um die Set-Top-Box (STB) direkt mit dem fli4l zu verbinden und das restliche Heimnetz vom Multicast-Traffic zu entlasten und alle o.g. Probleme auszuschließen.

 

Wer die ‚Single’ NIC-Methode bevorzugt sollte selbst wissen was er tut (das wird hier nicht weiter beschrieben).

 

3 Karten-Konfiguration

 

Der einfachste Weg, eine IPTV STB zu nutzen, ist eine zusätzliche NIC im fli4l zu installieren. Anbei ein Diagramm, wie im genannten Beispiel der fli4l-Router vom Standard-Router zum Router mit 3 NIC’s migriert wird:

 

 

 

 

                       

VDSL-Modem      Fli4l-Router

 LAN-Schnittstelle

 

 

 

 

 

 

                         Fli4l-Router

VDSL-Modem                           IPTV-Schnittstelle zur STB

LAN-Schnittstelle

 

 

E        VLAN-Konfiguration

 

Eines vorweg: Der IGMP-Proxy – OPT_IGMP - ist nicht auf VLAN angewiesen. Vielmehr wird VLAN derzeit von der Deutschen Telekom für VDSL verwendet und muss dafür vom Router unterstützt werden. Ob VLAN für den Internet-Betrieb auch bei anderen Providern (Arcor, Alice, etc…) benötigt wird, entzieht sich meinen derzeitigen Kenntnissen.

 

Um VDSL25/50 von T-Home für den Internet-Betrieb zum Laufen zu bringen, muss die NIC zum VDSL-Modem zwingend  als VLAN-Interface konfiguriert werden - siehe auch [8]. VLAN hat also nichts mit IGMP und IPTV zu tun, ist aber zwingend notwendig und deshalb wird die Konfiguration hier beschrieben.

 

An alle die nur das ‚normale DSL’ der Telekom, also ADSL, ADSL2, ADSL2+ haben: VLAN wird nur von VDSL benötigt, nicht aber vom ‚normalen DSL’. Die VLAN-Konfiguration wird deshalb mit dem ‚normalen DSL’ nicht funktionieren.

 

Mit der Einführung von VDSL als Startnetz hat die Deutsche Telekom sowohl Internet als auch IPTV über VLAN ID7 eingeführt. Seit Anfang 2009 erfolgte die Umstellung vom Startnetz auf das Zielnetz.

Mit der Umstellung auf das VDSL-Zielnetz ändert sich nichts am Internetverkehr, der weiter über ID7 läuft. Wesentlicher Unterschied ist, dass für VLAN ID7 eine Einwahl erforderlich ist und eine Zwangstrennung nach 24h erfolgt. Damit läuft der Internet-Traffic jetzt komplett unabhängig vom IPTV-Traffic. VLAN ID8  wird über einen DHCP-Server ohne Einwahl zur Verfügung gestellt und es erfolgt auch keine Zwangstrennung.

 

VDSL Zielnetz:

 

 

Für VLAN ist folgende Konfiguration erforderlich:
(NICs wie im Kapitel D Hardware-Setup Standard-Konfiguration angegeben)

 

advanced_networking.txt:

 

VLAN_DEV_N='2'
VLAN_DEV_1_DEV='eth1’   # interface of VDSL-Modem; example: eth1

# In unserem Beispiel geht 'eth1' zum VDSL-Modem

VLAN_DEV_1_VID='7’      # ID7 to support VLAN for internet
VLAN_DEV_2_DEV='eth1’   # interface of VDSL-Modem; example: eth1

# In unserem Beispiel geht 'eth1' zum VDSL-Modem

VLAN_DEV_2_VID='8’      # ID8 to support VLAN for IPTV

 

Die Virtual-NIC eth1.7 muss in die DSL-Konfiguration eintragen werden:

 

dsl.txt:
PPPOE_ETH='eth1.7'      # eth<nummer der karte zum vdsl-modem>.7'

# Bsp 'eth1.7'

Für die Virtual-NIC eth1.8 benötigen wir einen dhcp_client, da VLAN ID8 über einen DHCP-Server ohne Einwahl zur Verfügung gestellt wird.

 

dhcp_client.txt

 

OPT_DHCP_CLIENT='yes'

DHCP_CLIENT_TYPE='dhcpcd'     

DHCP_CLIENT_INTERFACES='IP_NET_3_DEV' # listen on interface eth1.8

DHCP_CLIENT_USEPEERDNS='no'  

DHCP_CLIENT_HOSTNAME=''  

 

Seit Fli4l V3.3.x kann für das Interface nicht mehr eth1.8 angegeben werden, sondern es muss der Eintrag IP_NET_x_DEV verwendet werden, der für das Interface in base.txt definiert wurde; hier IP_NET_3_DEV.

 

Optional:

Falls die verwendete NIC mit der MTU-Größe Probleme hat, muss der MTU-Wert über den Parameter DEV_MTU angepasst werden. Im Test zeigte die Intel Pro/100 (e100) und auch meine 3-Com-Karte keine Probleme, andere User berichten, dass bei der 3Com ‚3c59x’ der MTU-Wert auf 1496 angepasst werden muss.


DEV_MTU_1=''            # Adjust MTU size of NIC on VDSL-Modem

# Example: DEV_MTU_1='eth1 1496'

 

 

Jetzt sind noch die Konfigurationsdateien base.txt und dns_dhcp.txt anzupassen, wie im nächsten Kapitel beschrieben.

 

 

 

F        Konfiguration einer zusätzlichen NIC für IPTV

 

In base.txt und dns_dhcp.txt muss die Konfiguration für VLAN und für die zweite NIC angepasst werden.

 

Zweite NIC für IPTV eintragen:

 

NET_DRV_N='2'           

NET_DRV_1='via-rhine'          # 1. NIC für als LAN-Schnittstelle

NET_DRV_2='3c59x'              # 2. NIC – hier 3Com für IPTV SetTopBox

 

Jetzt müssen wir den Adressraum für die zweite NIC festlegen. Ich verwende im LAN 192.168.2.0/24 und habe die zweite NIC mit dem Adressraum 192.168.3.0/24 versehen. Außerdem brauchen wir Einträge für die Virtual-NIC’s eth1.7 und eth1.8

 

IP_NET_N='4'       

IP_NET_1='192.168.2.1/24'          # home/office LAN

IP_NET_1_DEV='eth0'        

IP_NET_2='192.168.3.1/24'          # iptv LAN

IP_NET_2_DEV='eth2'

IP_NET_3='dhcp'                    # dhcp client - IP ueber dhclient

IP_NET_3_DEV='eth1.8'

IP_NET_3_MAC='00:40:63:da:cf:32'   # neue MAC/nicht MAC von eth1

IP_NET_4='dhcp'                    # eth1.7 zum modem

IP_NET_4_DEV='eth1.7'

IP_NET_4_MAC='00:40:63:da:cf:33'   # neue MAC/nicht MAC von eth1

 

Wichtig ist auch die Änderung die MAC-Adressen für eth1.7 und eth1.8, welche nicht mit eth1 übereinstimmen dürfen, da sonst – abhängig vom VDSL-Net der DTAG – ggf. Störungen nach der Zwangstrennung auftreten können.

 

Für die neue NIC muss der Zugriff auf das Internet natürlich genauso funktionieren, wie für die erste NIC.  Dazu sind weitere Einstellungen notwendig:

 

PF_INPUT_1='IP_NET_1 ACCEPT'

PF_INPUT_2='IP_NET_2 ACCEPT'

PF_INPUT_3='any 224.0.0.0/4 ACCEPT'

 

. . .

PF_FORWARD_3='any 224.0.0.0/4 ACCEPT'

PF_FORWARD_5='IP_NET_1 ACCEPT' 

PF_FORWARD_6='IP_NET_2 ACCEPT'

     

. . .

PF_POSTROUTING_1='IP_NET_1 MASQUERADE'

PF_POSTROUTING_2='IP_NET_2 MASQUERADE'

 

Damit es später auch eine dynamische DHCP-Adressierung an der neuen IPTV-NIC klappt und die SetTop-Box einem Namen angesprochen werden kann, sind noch folgende Einstellungen in dns_dhcp.txt erforderlich:

 

HOST_10_NAME='igmp'             

HOST_10_IP4='192.168.3.1'

HOST_11_NAME='iptv'             

HOST_11_IP4='192.168.3.4'

HOST_11_MAC='00:D0:E0:93:49:34'    # MAC Adr T-Home X300T

. . .

DHCP_RANGE_2_NET='IP_NET_2'

DNSDHCP_RANGE_2_START='192.168.3.10'

DNSDHCP_RANGE_2_END='192.168.3.20' 

DNSDHCP_RANGE_2_DNS_SERVER1=''

DNSDHCP_RANGE_2_DNS_SERVER2=''                      

DNSDHCP_RANGE_2_NTP_SERVER=''            

DNSDHCP_RANGE_2_GATEWAY=''

 

 

Am Besten ist es nach der Konfiguration der neuen NIC an diese erst mal seinen PC zu hängen, um zu sehen, ob man über die neue NIC auch ins Internet kommt. Ist der Test erfolgreich, sollte die neue zweite NIC richtig konfiguriert sein

 

G       IGMP-Funktion

 

Beim  Booten des fli4l-Routers werden die Parameter der config-Datei igmp.txt in die Konfigurationsdatei /etc/igmpproxy.conf geschrieben, welche beim Start des Programms igmpproxy eingelesen werden.

 

Sobald der Router sich mit dem Internet verbindet, startet das Script ip-up499.igmp den IGMP-Proxy, falls igmpproxy.conf vorhanden ist. Beim Trennen (Hang-up) wird der Prozess von igmpproxy gestoppt und beim erneuten Verbinden wieder gestartet.

 

H        IGMP-Konfiguration

 

OPT_IGMP_PROXY='yes'         # IGMP Proxy installieren: yes or no

 

OPT_IGMP_DEBUG='no'          # show igmpproxy verbose information    

OPT_IGMP_DEBUG2='no'          # show igmpproxy debug information

 

Mit Quickleave kann die Last im Upstream-Link gesenkt werden. Falls der Parameter ‚Quickleave’ mit ‚yes’ eingeschaltet wird, führt das dazu, dass der Multicast nach einem Kanalwechsel schneller abbestellt und so die Last im Downstream gesenkt wird, indem sich der IGMP-Proxy wie ein Receiver verhält.

 

Gibt es 2 STB’s und sehen diese dasselbe Programm, dann kann es (mit Quickleave = yes) passieren, dass beim Umschalten des Programms von einer STB bei der zweiten STB das Programm unterbrochen wird. Beim Einsatz von nur einer STB kann Quickleave gefahrlos eingeschaltet werden (yes).

 

IGMP_PROXY_QUICKLEAVE_ON='yes'     # Quickleave-Modus einschalten

# yes or no; Default: yes

 

Für den IPTV-Betrieb benötigt der IGMP-Proxy ein Upstream- und ein Downstream-Interface. Das Upstream-Interface ist die Schnittstelle mit der NIC, an dem das  VDSL-Modem hängt. Diese sollte i.d.R. immer gleich bleiben.

 

IGMP_PROXY_UPLOAD_DEV='eth1.8'     # Upstream Interface; Default: ppp0

                                   # eth1.8 für T-Home/VDSL mit id7/id8

 

Die Schnittstelle des Downstream-Interfaces (NIC zur IPTV SetTop-Box) ist hier abhängig von der HW-Konfiguration einzutragen. Für fli4l mit zweiter NIC – wie in diesem Dokument beschrieben - ist eth2 das Interface zur SetTop-Box.

 

IGMP_PROXY_DOWNLOAD_DEV='eth2'           # Downstream Interface

 

Mit dem Parameter ALT_NET werden Adressbereiche für Multicast-Traffic festgelegt, welche Ihren Ursprung außerhalb des Heim-Netzwerks haben, sowie der lokale Adressbereich, an der die STB hängt.

 

IGMP_PROXY_ALT_N='4'                     # Anzahl der Multicast Sourcen

IGMP_PROXY_ALT_NET_1='239.35.0.0/16'     # IPTV streams - immer benoetigt

IGMP_PROXY_ALT_NET_2='217.0.119.0/24'    # Erforderlich fuer T-Home

IGMP_PROXY_ALT_NET_3='193.158.35.0/24'   # Erforderlich fuer T-Home

IGMP_PROXY_ALT_NET_4='192.168.3.0/24'    # Adressraum der IPTV SetTop-Box

 

 

I            Änderungen in anderen Config-Dateien

 

Damit der Multicast-Traffic von außen auch in das Heimnetz und zur STB kommt, sind noch folgende Änderungen in base.txt vorzunehmen.

 

PF_INPUT_3='any 224.0.0.0/4 ACCEPT'

. . .

PF_FORWARD_3='any 224.0.0.0/4 ACCEPT'

 

Hinweis: Wer glaubt, diese Einträge lassen sich sparen, kann hier gerne experimentieren. Ich bin zum Ergebnis gekommen, dass diese Adressen notwendig sind.

 

J         Quellenverweis

 

Hier noch mal zusammengefasst die Quellen, welche mir und anderen geholfen haben, einen igmpproxy zu konfigurieren.

 

[1] T-Home IPTV without Speedport W700V

http://man-wiki.net/index.php/T-Home_IPTV_without_speedport_W_700V

 

[2] Wikipedia - IGMP

http://de.wikipedia.org/wiki/IGMP

 

[3] Wikipedia - Multicast

http://de.wikipedia.org/wiki/Multicast

 

[4] VDSL-Modem unter Linux 

http://www.pro-linux.de/berichte/vdsl.html

 

[5] T-Home IPTV ohne Speedport unter Linux (VDSL)

http://wiki.freakempire.de/doku.php/linux/t-home_iptv_ohne_speedport_unter_linux_vdsl

 

[6] Sourceforge.net - igmpproxy

http://sourceforge.net/projects/igmpproxy

 

[8] [fli4l] Fli4l Dokumentation – Kapitel 4.6.2

http://www.fli4l.de/fileadmin/doc/deutsch/html/fli4l-3.4.0/node30.html

 

[9] T-Home (VDSL) unter Debian Linux einrichten (vlan id7 und 8)

http://claus.freakempire.de/2009/02/17/t-home-vdsl-unter-debian-linux-einrichten-vlan-id-7-und-8/

 

K       Updates

 

22.08.2007

  • V0.3 Erste Version als Paket für fli3l ab V3.1.2

22.09.2007

  • V0.9 Start- und Stop-Scripte in /etc/ppp verlegt
  • Konfigurations-Script in /etc/rc.d belassen
  • IGMP-Proxy startet jetzt auch zuverlässig nach jedem aus- und wiedereinloggen des Routers

1.10.2007

  • V0.95 Namenskonvention der Parameter on fli4l angeglichen
  • Parameter in igmp.txt config weggelassen

2.10.2007

  • V1.0 Script nochmals überarbeitet mit Input von Jean
  • Versionskontrolle eingebaut

26.03.2008

  • V1.0.1 Doku ergänzt; getestet mit fli4l v3.2.0 und kernel 2.6.16.56

11.01.2009

  • V1.0.2a igmpproxy ohne Trace-Ausgabe compiliert von Harald Kaufmann

26.03.2009

  • V1.0.2 Geändert für T-Home/VDSL ID7/ID8
  • Neuen igmpproxy, compiliert von Harald Kaufmann
  • Getestet mit fli4l v3.2.1 , v3.2.2 und kernel 2.6.16.56

20.05.2009

  • V1.0.3 Änderungen für fli4l 3.3.x und 3.4.0

20.12.2009

  • V2.00 Update auf Igmpproxy Version 0.1
  •  

L        Danke

 

Vielen Dank an alle, die mir mit Rat und Tat zur Seite standen und mir geholfen haben, dieses Paket zu erstellen.


M      FAQ

 

  1. Für welchen Internet-Anschluß ist diese opt_igmp Version geeignet

 

  1. Welche HW ist für opt_igmp geeignet?

 

  1. Was für fli4l-Versionen sind für opt_igmp geeignet?

 

  1. Was muss ich beachten bevor ich opt_igmp installiere?

 

  1. Brauche ich eine zusätzliche NIC im fli4l für IPTV?

 

  1. Was ist bei der Installation von opt_igmp mit zusätzlicher NIC zu beachten?

 

 

 

  1. Was ist bei der Installation von opt_igmp über die Standard NIC zu beachten?

 

  1. Warum erhalte ich Debug-Information von IGMP im syslog Fenster?

 

  1. Wie kann ich überprüfen ob ich opt_igmp richtig konfiguriert wurde?
  2. Wie stelle ich fest, ob ich bereits an die VDSL das Zielnetz angeschlossen bin.