Posts mit dem Label IGMP werden angezeigt. Alle Posts anzeigen
Posts mit dem Label IGMP werden angezeigt. Alle Posts anzeigen

Dienstag, 30. Juli 2013

Swisscom Multicast im LAN

IP-Multicast

Wer Swisscom TV hat, stellt sich vielleicht die Frage welchen Switch man im LAN verwenden kann, damit das Fernsehen weiterhin ein Vergnügen bleibt. Wer sich diese Frage nicht stellt, der ist unter Umständen hier gelandet, weil das WLAN nicht funktioniert so lange man Swisscom TV schaut. Ziemlich sicher bist du über den Begriff Multicast oder IGMP Snooping gestossen...
Wie auch immer. Die Lösung oder Antwort ist relativ simpel. Hier versuche ich mit möglichst einfachen Worten, Multicast und IGMP im Bezug auf Swisscom TV zu erklären, damit jedermann mit einfachen Mitteln wieder Herr der Dinge wird.

"Kurzeinführung"

Es gibt verschiedene Methoden IP Daten zu übertragen. Die gängigste Methode nennt sich Unicast. Hier werden die Daten gezielt von Punkt A nach Punkt B gesendet und umgekehrt. Man könnte im übertragenem Sinne von einer Punkt zu Punkt Verbindung sprechen (auch wenn es im Internet über verschiedene Stationen geht). Im Allgemeinen ebenfalls bekannt ist die Broadcast Übertragung. Sicher kennt jeder das simultane Blinken aller Ports an einem Switch, wenn ein Gerät auf der Suche nach einem anderen oder nach gewissen Services ist. Beim Broadcast wird eine Nachricht an alle gesendet, zB. bei einem DHCP Request über IPv4. Da der DHCP Server noch nicht bekannt ist, wird in diesem Fall mal quasi in die Runde gerufen ob sich bitte ein solcher Server melden könnte.
Multicast ist ebenfalls eine Methode der Datenübertragung. Im Gegensatz zum Broadcast wo die Daten an alle gesendet wird und somit auch Ziele erreicht, welche eigentlich gar nicht daran interessiert sind, schränkt sich Multicast auf Empfänger bzw. Empfängergruppen ein welche explizit solchen Multicast Gruppen beitreten wollen oder beigetreten sind. Multicast ist also das Broadcast für interessierte Empfänger und schont somit das Netzwerk vor unnötigem Traffic.

Wie bei Broadcast muss der Sender seine Daten nur einmalig versenden. Die Vervielfältigung der Datenpakete auf einzelne Empfangsziele zB. IPTV Streams auf STB'en, findet dann jeweils nur bei den Routern und Switches statt. Würde man hier Unicast verwenden, so müsste für jede STB welche einen identischen Stream anschaut, nehmen wir mal die Tagesschau um halb acht an, eine separate Verbindung vom Server zur STB gemacht werden. Somit wäre IPTV in hoher Qualität und einer grossen Anzahl an Kunden gar nie möglich gewesen. Die Backbone sowie Server Infrastruktur wäre masselos überfordert. Die Kapazitäten auf dem Netz und die Fähigkeiten der Server und Software werden aber immer besser. So das ein grosser Teil der IPTV Streams nun nach und nach eigentlich in Unicast gesendet werden können. Somit ermöglichen sich auch ganz neue Services wie Replay TV. Was früher nur bei VoD der Fall war, ist bei Replay TV gar nicht anders zu lösen. Hier müssen die Streams in Unicast gesendet werden, da es praktisch unmöglich ist, dass 2 oder mehr Empfänger die genau gleiche Sendung mit dem genau gleichen Timestamp gleichzeitig anschauen, was die Anwendung von Multicast verunmöglicht. In einer Zukunft in der die STB'en  keine Harddisk mehr haben "könnten" und sämtliche Streams von der Cloud geliefert werden "würden", wird die Anzahl an Unicast Streams noch mehr zunehmen. Jeder Pausendruck, jede Aufnahme wird sofort als Unicast gesendet werden!
Nichts desto trotz bleibt Multicast ein wichtiges IPTV Mittel, um Bandbreite bei linearen TV Inhalten zu schonen.

Zur Steuerung und Organisation der der Multicast Gruppen wird das Netzwerkprotokoll IGMP verwendet. Im LAN melden die einzelnen Clients ihr Interesse an Multicast-Gruppen am sogenannten IGMP Proxy an oder wieder ab, sofern sie die Gruppe wieder verlassen möchten. Die Daten selber werden über die übliche Transportschicht abgewickelt. Im Falle von IPTV Streams zumeist als verschlüsselte UDP Pakete. Zumeist, weil ein Halunke wie Tux die unverschlüsselten Multicast Quellen nennen könnte, was er aber mit Garantie nicht macht :p so lange die Funktion noch gegeben ist. Danach könnte ich natürlich einen Nachtrags-Post schreiben... sofern es diese unverschlüsselten Streams auf dem BBCS Netz auch tatsächlich gibt :)

Damit Multicast vom Anfang bis zum Ende funktioniert, muss die ganze Kette IGMP fähig sein, also auch die Switches im LAN an welchen Swisscom TV Boxen hängen!

Komm zur Sache, wie ist das mit dem WLAN?

Jetzt könnte man natürlich fragen, was ich hier eigentlich labere? "Ich verwende seit Jahren einen Fr. 30.- Switch und habe keinerlei Probleme!"
Korrekt. Dies ist absolut möglich. Jeder Switch welcher Multicast nicht handeln kann, wandelt die Pakete in Broadcast um. Somit wird im Falle von Swisscom TV das ganze Netz mit IPTV Traffic "geflutet". Dies muss abgesehen von hässlichem Netzwerken und einem wie verrückt blinkendem Switch keinen grossen Einfluss haben. Hat man aber an solch einem gefluteten Switch einen Access Point in Betrieb, so kann der Traffic auch über dessen WLAN weiter verbreitet werden. Die im WLAN bereits schon knappe Bandbreite wird nun durch den eigentlich unangeforderten IPTV Traffic zugemüllt. Effekt ist, dass Wireless Clients keine oder nur eine stark eingeschränkte Bandbreite für den restlichen Traffic haben.

Die Lösung

Die Lösung ist einfach, verwende einen Switch welcher das IGMP Snooping korrekt handelt :)
Schaut man die Changelogs der Hersteller an und beobachtet die Probleme auf dem Markt, so scheint dies aber gar nicht so einfach zu sein. IGMP verwenden mittlerweile unzählige Anwendungen, die Hersteller scheinen so ihre liebe Mühe damit zu haben.
Im Falle von Swisscom TV ist die Lösung aber wirklich einfach. Mit ein klein wenig Stolz präsentiere ich die Netzwerk Verteiler Box von Swisscom, bekannt auch mit dem original Namen Netgear GS105E. Stolz bin ich ein wenig, weil Verantwortliche bei der Swisscom, nach diesem kleinen Thread in der Supportcommunity Kontakt zu mir aufnahmen und dieses Gerät tatsächlich ins Sortiment nahmen. Vermutlich hätten sie es früher oder später auch ohne diesen Thread gemacht. Ich gebe mir trotzdem den selbsternannten Titel " Godfather of the Network Distribution Box". Etwas Positives in der Zuckerbrot und Peitschen Beziehung welche ich mit der Swisscom pflege ;)

Mit dem Netgear GS105E war es erstmals möglich den IPTV Stream kostengünstig und mit Gigabit Speed zu handeln. Hast du dein LAN im Griff, ermöglicht dies in direkter Folge auch den Einsatz eigener Firewalls und Router mit einem IGMP Proxy wie ipfire, wrt oder pfsense um Swisscom TV sauber durchzuschleusen.

Die Konfiguration

Wer den Netgear GS105E via Swisscom Shop bestellt, bekommt schon seit längerer Zeit einen richtig vorkonfigurierten Switch. Bezieht man den Switch von einer anderen Quelle oder hat noch eine ältere Version muss diesen zunächst noch konfigurieren.
Dies geschieht bei der Netgear Prosafe Plus E Serie mit dem eigentlich unsäglichen Tool "Prosafe Plus Configuration Utility" . Dieses Tool und die jeweils aktuellste Firmware findet man auf dieser Seite.
Es empfiehlt sich hier die neueste Version zu verwenden.
Die eigentliche Konfiguration ist einfach und schnell gemacht. Unter System, Multicast, IGMP Snooping aktiviert man das IGMP Snooping. Deaktiviert das validieren des IGMPv3 Headers und das blockieren unbekannter Multicast Quellen, damit sich bei Multiroom Betrieb die Boxen mittels SSDP finden können.


Wer einen grösseren Switch als die 5 Port Variante braucht, kann sich mit derselben Konfiguration bei den Netgear Modellen 8-Port  GS108Ev2 und 16-Port GS116E bedienen.

Möchte man einen echten Smart Switch für relativ wenig Budget benutzen, kann man den Netgear GS108Tv2 oder GS716T verwenden.
Bei diesen Switches muss man zusätzlich zu den Prosafe Plus Versionen die Interfaces fürs IGMP Snooping aktivieren und da man die Möglichkeit schon hat, gleich noch das QoS auf DSCP stellen.





Als ebenfalls tauglich, sind die Switches der HP Pro Curve Serie 1910 und der SF/SG-300 Serie von Cisco Small Business, bekannt. 
Equipment welches ebenfalls IGMP Snooping für Swisscom TV macht, sind die Swisscom WLAN Magicbox und das Wireless Verbindungskit.
Weitere Ideen und Erfahrungen findet man in den Kommentaren des Schirmer-Blogs: http://www.schirmer-online.de/t-home/igmp-v3-switches/

Um mit Swisscom TV ein funktionierendes Netzwerk mit Switches zu haben, muss man wie im Falle der Netgear Prosafe Plus Serie nicht viel Geld ausgeben. Obendrein können die Switches noch für VLAN Konfigurationen gebraucht werden und besitzen die Funktion der Port Spiegelung für Monitoring Zwecken.

Für weitere Fragen bezüglich diesen Switches oder IGMP im Allgemeinen empfehle ich die Swisscom Support Community.

In dem Sinne: "Keep on switching"

Mittwoch, 13. Juni 2012

pfSense 2.1 mit Swisscom Access

pfSense 2.1

Was ist pfSense?

pfSense ist eine freie, open source Firewall, basierend auf freeBSD. Als Paketfilter verwendet man pf. Daher auch der Name pfSense. Diese Distribution kann und wird, als Router und Firewall für kleine Heimnetzwerke, wie auch für grosse Unternehmen gebraucht.
pfSense startete als Fork von M0n0wall. Während M0n0wall vor allem auf embedded Systeme ausgerichtet ist, wurde pfSense auch für grössere PC Architekturen konzipiert um zusätzliche Leistungen zu erbringen. Trotzdem ist pfSense auch noch als Image für embedded Systeme zu haben. Mein Blog Post bezieht sich auf ein solches System. Für den Test verwende ich ein ALIX Board 2D13 und beschränke mich auf Routing und Firewalling Funktionen. Proxy, IDS/IDP usw. wäre für die pfSense auch kein Problem. Hierzu habe ich leistungsfähigere Systeme zur Hand.
Als Heimrouter ist ALIX aber auch heute noch eine gute Wahl.

pfSense 2.1

pfSense 2.1 ist momentan noch in der Entwicklung. Die Entwickler von pfsense hofften bis zum IPv6 Launch Day den offiziellen Release bereit zu haben. Leider hat dies nicht geklappt.
Die Snapshots sind hier erhätlich. Auf Produktivsystemen ist der Einsatz dieser Snapshots nicht empfohlen. Grundsätzlich gibt es hier mehrere Releases pro Tag! Darunter gibt es auch Tage bei denen man ein schlechtes Ei erwischen kann :)
Für den Heimgebrauch gibt es beim Einsatz dieser Snapshots nichts einzuwenden. Hier ist jeder sein eigener König.
Gerade der volle IPv6 Support in dieser Version hat schon seinen Reiz. Und genau darum geht es in diesem Blog Post.


 IPv6 mit Swisscom

Die grundlegende Konfiguration einer pfSense um IPv6 Konnektivität mit Swisscom zu erlangen ist relativ simpel. Der Spielplatz dahinter aber umso grösser :)
Ich führe hier die nötigen Schritte auf.
Wie schon erwähnt muss das System mit der Version 2.1 laufen. Der aktuelle Release 2.0.1 ist dazu noch nicht fähig. 


WAN


Zuerst wird das WAN Interface konfiguriert. Wie bereits bekannt, verwendet Swisscom momentan das Tunnelprotokoll 6RD. Dementsprechend setzt man den IPv6 Configuration Type auf 6rd.



Dadurch öffnet sich innerhalb der WAN Interface Konfiguration ein neuer Abschnitt: "6RD Rapid Deployment". Diesen füllt man mit den Swisscom relevanten Daten aus.
6RD Prefix: 2a02:1200::/28
6RD Border Relay: 193.5.122.254 193.5.29.1 (Wechselt per 09.04.2013)
6RD IPv4 Prefix lenght: 0


 Save und Apply, WAN ist erledigt.

LAN

Damit IPv6 auch im LAN bekannt wird, muss nun das LAN Interface konfiguriert werden.
Auch bei diesem hat es in Version 2.1 einen Punkt mit IPv6 Configuration Type. Diesen setzt man im Falle eines Tunnels wie 6to4 oder eben 6RD auf Track Interface.



Dadurch wird der Abschnitt Track IPv6 Interface verfügbar. In unserem Fall tracken wir das WAN Interface und geben als IPv6 Prefix ID 0 an.


Save und Apply!
Im Dashboard sollte nun bereits die IPv6 Verbindung ersichtlich sein. Falls nicht, hilft ein release / renew des WAN Interfaces oder ein simpler Reboot.

Firewall Regeln

pf blockt per Default sämtlichen nicht aus dem LAN initiierten Verkehr. Damit surfen via IPv6 möglich ist, muss wie bei IPv4, im Minimum eine Regel erstellt werden, welche den ausgehenden Verkehr erlaubt.



Natürlich lassen sich auch Regeln zum Erlauben von Services auf Host's oder Netzwerke einrichten. Hier bietet pfSense 2.1 volle IPv6 Unterstützung.

Damit steht dem sicheren surfen via IPv6 über die pfSense nichts mehr im Wege.


Swisscom TV

Spricht man vom Swisscom Access, so ist auch Swisscom TV immer wieder mal ein wichtiges Thema.
Auch hier. pfSense lässt sich so konfigurieren, dass Swisscom TV dahinter betrieben werden kann!
Auch wenn es in den pfSense Foren offensichtlich nicht ganz klar ist, hier die funktionierende Konfiguration.
Damit Swisscom TV betrieben werden kann, ist ein IGMP Proxy von Nöten. Während dieser unter Linux schon lange hervorragend läuft, hatte man unter BSD ein wenig Mühe. Trotz allem. Seit der Version 2.0.1 hat auch pfSense einen IGMP Proxy und diesen sogar per Default mit an Bord.

IGMP proxy

Der IGMP Proxy ist unter Services > IGMP Proxy schnell konfiguriert.
Benötigt wird ein Upstream und ein Downstream Interface.
Dem Downstream weist man das LAN Interface zu und gibt das lokale Netzwerk oder falls man möchte, die entsprechende IP der Swisscom TV Box(en) an. Threshold ist 1.



Dem Upstream weist man das WAN Interface zu. Hier werden das Multicast Netz 224.0.0.0/4 und die Swisscom TV Infrastruktur 195.186.0.0/16 benötigt. Ergänzung: Für die neue TV 2.0 Plattform wird das Netz 213.3.72.0/24 benötigt!
Verwendet man anderer Service Strukturen oder andere Provider ist hier eine andere IP nötig.
Dies lässt sich aber problemlos ausfindig machen, indem man via ssh igmpproxy -d -c /tmp/igmpproxy.conf nach Source Adressen sucht, welche geblockt werden.
Threshold ist auch hier 1.


Damit ist der IGMP Proxy bereits konfiguriert.

Firewall Regel LAN

Damit Swisscom TV funktioniert muss man ausgehend Multicast erlauben. Am einfachsten geht dies, wenn man bei der Regel welche ausgehenden IPv4 Verkehr erlaubt, unter Advanced Options:"This allows packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic.", markiert.



Die LAN Regel Übersicht sollte nun so aussehen:


Firewall Regeln WAN

Zudem benötigt man 2 Regeln für WAN.
Gebraucht wird eine Regel welche UDP Traffic durchlässt. In diesem Fall am bestem noch auf die Beschränkung der Swisscom Infrastruktur.




Ebenfalls muss man noch IGMP erlauben. Auch hier aktiviert man unter Advanced Options:"This allows packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic."


Die WAN Regel Übersicht sollte sich nun so darstellen:


Wichtig! Bei sämtlichen Änderungen am Ruleset bezüglich Swisscom TV / Multicast ist es wichtig, danach einen sauberen Reboot der Firewall zu machen!

Somit steht ab sofort auch dem Swisscom TV Vergnügen nichts mehr im Wege.
Damit das Netzwerk nicht mit Multicast bzw eben Broadcast Traffic geflutet wird, empfiehlt sich so oder so ein Switch, welcher igmp snooping beherrscht.
Günstig und gut kann dies der GS105E von Netgear. Auch bei Swisscom erhältlich.

Ich hoffe ich konnte mit diesem Post ein wenig teuflisches Gedankengut verbreitet :D
Wenn nicht, who cares!



Special thanks to people like Seth Mos!









Samstag, 28. April 2012

ipfire, eine kurze Vorstellung

ipfire - an open source firewall solution


Ich möchte in diesem Beitrag ipfire vorstellen.

ipfire ist eine Linux Firewall Distribution welche für kleine bis mittlere Netzwerke gedacht ist, sowohl im Geschäftsbereich, wie auch für Heimanwender wie mich :)
ipfire bietet diverse Addons, welche die auf die wichtigsten Firewall Funktionalitäten basierte Grundgerüst um diverse Möglichkeiten erweitert.
Unter anderem könnte man ipfire so zu einem NAS erweitern. Aber für eine Firewall wichtiger, bzw. interessanter sind sicher Funktionen wie IDS/IDP und Proxy Anwendungen.
Einer der absolut wichtigsten Punkte für mich war, das ipfire durch das Addon igmpproxy, Swisscom TV unterstützt.
Klar gibt es diverse Möglichkeiten eine Firewall mit Swisscom TV zu betreiben (IP-Passtrough, DMZ..)
"Cooler" ist es aber schon denn ganzen Traffic durch die Firewall zu leiten :)
Ich werde also einige Dinge zeigen um diese Firewalllösung schmackhaft zu machen.

ipfire mit Swisscom TV

Das Wichtigste für mich erwähne ich hier gleich mal zuerst.
Swisscom TV ist für die Live Streams darauf angewiesen das Multicast Traffic gehandelt werden kann.
Dazu bietet ipfire eine Addon namens igmpproxy.
Die Konfiguration ist simpel. Grundsätzlich installiert man das Paket und passt dazu noch die configs an.
Dazu habe ich in der Swisscom Support Community schon einen Beitrag geschrieben.
Es würde den Rahmen des Beitrags sprengen hier nochmals detailliert darauf einzugehen.
Dies werde ich eventuell mal in einem eigenen Beitrag machen. Darum genügt hier fürs Erste mal der Link zur Community.

give me logs

Wer eine Firewall betreibt möchte auch wissen was so geht. Hier bietet ipfire natürlich diverse Logs und Grafiken.
Auf einen Blick lassen sich so die Verbindungen anzeigen, lässt sich die Hardware überwachen und man kann Statistiken bezüglich des Datenverkehrs anschauen.
Die hilft uA. bei der Störungssuche wenn das Internet mal lahmt.


In den Logs lassen sich Portscans und Muster anzeigen. Selbst Wochen oder Monate später. Abhängig davon wie man ipfire konfiguriert und was der Speicher hergibt.

Webproxy - aber richtig

ipfire hat schon einen Webproxy an Bord. Basierend auf Squid gibt es den Advanced Web Proxy.
Dazu gibt es ein eigenes Manual welches zwar für IPCop geschrieben ist, aber auch für ipfire gilt.
(IPCop ist quasi die Mutter von ipfire)
Hier mal eine kleine Übersicht für was so ein Webproxy gut ist.
  • Caching: Websiten werden im Cache von ipfire gehalten. So wird Traffic reduziert und die Surfgeschwindigkeit kann erhöht werden.
  • Content Filter: Whitelists, Blacklists, Filterlisten. Dies kann als Werbeblocker benutzt werden und wenn gewünscht Inhalte und Anwendungen (P2P) zB als Kinderschutz ausfiltern. Dies kann Zeitgesteuert, Account und oder Maschinenbasiert geschehen. Es ist also eine Individualisierung möglich welche bei einfachen Lösungen wie einer Fritzbox 7390 nicht erreicht werden kann (bei weitem nicht :) ) 



  • Update Accelerator: Hier hat man die Möglichkeit das ipfire zB Windows oder Linux Updates speichert. Dies hat der Vorteil das Software nur einmalig heruntergeladen werden muss und sich die Clients die Updates mit LAN Geschwindigkeit direkt von der ipfire besorgen!












IDS/IDP

Natürlich hat man mit ipfire auch die Möglichkeit ein IDS Intrusion Detection System zu verwenden.
Dazu lassen sich Regeln von http://www.snort.org/ und oder http://emergingthreats.net/ verwenden.
Falls es gewünscht ist das erkannte Angriffsversuche oder Muster geblockt werden, kann man Guardian aktivieren und hat so ein IDP Intrusion Detection and Prevention System.

Abschluss

Ich hoffe ich konnte in dieser kurzen Zusammenstellung einigen ipfire schmackhaft machen und zeigen das es auch möglich ist  eine Firewall und Swisscom TV zu haben und man nicht eine teure Lösung kaufen muss die nicht mal funktioniert :)
Auf einige Themen in diesem komplexen Bereich werde ich in künftigen Beiträgen genauer eingehen.
Wenn ihr Wünsche oder Fragen habt steht die Kommentar Funktion offen.
In dem Sinne viel Spass!!!