Login
Newsletter
Werbung

Mi, 18. Juli 2007, 00:00

VDSL-Modem unter Linux

Vorbereitung

Gleich eines vornweg: Durch die hier geschilderte Vorgehensweise geht man nicht nur des Supportanspruchs, sondern sehr wahrscheinlich auch die Garantie auf die Geräte verlustig. Also alles auf eigene Gefahr!

Idealerweise sollte man die meisten Schritte erledigen, bevor die VDSL-Verbindung geschaltet wird, da man sonst womöglich keinen Internetzugang mehr hat, um an die nötigen Programme zu kommen.

Vorgehensweise

Punkt 1 ist der Router, meist ein W700/701V oder W900V. Die genaue Vorgehensweise zum Austausch der Firmware hat Spirou im IP-Phone-Forum haarklein dargestellt, das dazugehörige Wiki inklusive des Links auf den Forenthread findet sich im IP-Phone-Forum. Die Firmware findet man auf den Seiten der Hersteller (AVM) und bei T-Home (Hilfe & Service/Downloads) oder bei Google, besonders die älteren Versionen.

Punkt 2 ist der Media Receiver. Da gibt es nicht viel zu machen, nur die Mac-Adresse (steht unten drauf) in die Datei dhcpd.conf eintragen, denn man kann ihm keine statische zuteilen und ohne Verbindung fährt er nicht einmal hoch (M$ eben) (zumindest diesen Punkt hätte man im Handbuch erwähnen sollen).

Punkt 3 ist das Modem, hier gibt es nichts zu tun. Wen es interessiert, im Onlinekosten-Forum ist beschrieben, wie man die Weboberfläche des ebenfalls Linux-basierten Gerätes aktiviert und dort verschiedene Statusdaten abfragen kann.

Punkt 4 ist dann die Umstellung der bisherigen Einwahl via PPPoE von ADSL auf VDSL. Die Grundzüge dafür sind sehr gut auf claus.freakempire.de beschrieben, bis auf eine Kleinigkeit: Die MTU/MRU-Größe muss auf 1476 anstatt 1492 geändert werden, da die 16 Byte anscheinend für die VLAN-Schicht draufgehen. Bei Suse kommt nicht vconfig zum Einsatz, sondern die VLAN-Unterstützung ist direkt eingebaut. Siehe auch »info ifcfg-vlan«.

Details

Im Einzelnen sieht es so aus: Bisherige Konfiguration in /etc/sysconfig/network/ifcfg-dsl0:

BOOTPROTO='none'
DEVICE='eth-id-00:00:00:00:00:00'
MODEM_IP='192.168.2.50'
PPPD_OPTIONS=''
PPPMODE='pppoe'
PROVIDER='tonline-dsl'
STARTMODE='manual'
UNIQUE=''
USERCONTROL='no'
NAME='ADSL-Verbindung'
MTU='1492'
MRU='1492'
REMOTE_IPADDR=''

Wird in diese geändert (empfehlenswert ist, den Startmodus auf Automatik zu setzen, VDSL gibt es ohnehin nur mit Flatrate):

BOOTPROTO='none'
DEVICE='vlan7'
MODEM_IP='192.168.2.50'
PPPD_OPTIONS=''
PPPMODE='pppoe'
PROVIDER='tonline-dsl'
STARTMODE='auto'
UNIQUE=''
USERCONTROL='no'
VPIVCI='1/32'
NAME='VDSL-Verbindung'
MTU='1476'
MRU='1476'
REMOTE_IPADDR=''
POST_UP_SCRIPT='start-igmpproxy'
PRE_DOWN_SCRIPT='stop-igmpproxy'

Dazu kommt noch ein neues, virtuelles VLAN-Interface unter /etc/sysconfig/network/ifcfg-vlan7. Dafür ist das Paket vlan nötig, das sich im Suse-Repository findet. Das Modul 8021q sollte normalerweise automatisch geladen werden. Falls nicht, einfach modprobe 8021q an die Datei /etc/init.d/boot.local anhängen. Was man für das Interface genau einträgt und welche Daten wirklich gebraucht werden und welche nicht, weiß ich nicht. Aber es scheint relativ egal zu sein, solange es an die Netzwerkkarte gebunden ist, an der das Modem hängt und die VLAN-ID 7 hat. Wichtig ist nur, dass es automatisch gestartet wird, damit es zur Einwahl auch verfügbar ist.

BOOTPROTO='none'
STARTMODE='auto'
ETHERDEVICE='eth-id-00:00:00:00:00:00'
NAME='VLAN-Verbindung fuer VDSL'
IPADDR='192.168.1.60/24'
NETMASK='255.255.255.0'
NETWORK='192.168.1.0'
BROADCAST='192.168.1.255'
REMOTE_IPADDR='192.168.2.50'
UNIQUE='rBUF.IPwRm6bNMRD'
USERCONTROL='no'
_nm_name='bus-pci-0000:00:00.0'
PREFIXLEN='24'

In der Datei /etc/ppp/options muss ebenfalls noch die MTU/MRU und noch ein paar andere Einstellungen geändert werden. Zuerst aber die bestehenden evtl. gegenteiligen suchen und auskommentieren. Die letzten beiden Zeilen kann man, wenn dann alles funktioniert, auch wieder herausnehmen, sie dienen nur der Fehlersuche. Das maxfail 5 schützt gegen versehentlich geänderte Zugangsdaten/Passwort, da der Zugang erst nach 9 Fehleingaben gesperrt wird.

passive
persist
nolock
maxfail 5
mtu 1476
mru 1476
debug
kdebug 7

So, ab jetzt sollte die Einwahl via VDSL mit ifup dsl0 bzw. bei einem ausgehenden Paket funktionieren.

Punkt 5 ist, den Media Receiver zum Laufen zu bekommen. Der in obigem Blog genannte IGMP-Proxy ist dafür zwingend notwendig. Statt des üblichen Dreisatzes direkt das Makefile bearbeiten und dann mit checkconfig ein Paket erstellen und installieren. Die Broadcast-Regeln finden sich in der Datei /etc/igmpproxy.conf, eine kommentierte Vorlage wird mit installiert. Dies sind die nötigen Einstellungen (die erste Netzwerkkarte ist das Interface zum internen Netz, die zweite jene, an der das Modem hängt):

quickleave
phyint dsl0 upstream ratelimit 0 threshold 1
altnet 217.0.119.0/24
altnet 193.158.35.0/24
altnet 239.35.0.0/16
phyint eth-id-00:00:00:00:00:00 downstream ratelimit 0 threshold 1
altnet x300t/32
phyint eth-id-00:00:00:00:00:00 disabled
phyint vlan7 disabled
phyint lo disabled

Als letztes braucht es noch ein kleines Skript in /etc/sysconfig/network/scripts/start-igmpproxy, das die IPTables-Regeln setzt und danach den Proxy startet:

#!/bin/bash
iptables -I FORWARD -s 217.0.119.0/24 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -s 193.158.35.0/24 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -s 239.35.0.0/16 -d 224.0.0.0/4 -j ACCEPT
iptables -I INPUT -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -d 224.0.0.0/4 -j ACCEPT
igmpproxy &

Gestartet wird es dank obigem Eintrag, nachdem die Verbindung steht. Der Proxy muss aber auch wieder beendet werden. Dafür reichen zwei Zeilen in /etc/sysconfig/network/scripts/stop-igmpproxy:

#!/bin/bash
killall igmpproxy

Schaltet man den Media Receiver nun an, sollte er sich problemlos verbinden und dem Fernsehen steht nichts mehr im Weg.

Punkt 6 ist die Konfiguration der Firewall, zu finden unter /etc/sysconfig/SuSEfirewall2. Die meisten Einstellungen ändern sich im Vergleich zu einer ADSL-Verbindung nicht, außer was Broadcasts und den Upstream betrifft. Nur die wichtigsten sind aufgeführt, alle anderen können bleiben. Unbedingt die Netzwerkkarte, an der das Modem hängt, sowie das VLAN-Interface als extern definieren oder wenigstens in die DMZ stecken, da diese bei Wartungs- und Entstörarbeiten durchaus auch »rückwärts« vom DSLAM aus genutzt werden können (auch wenn das Modem nicht im Wartungsmodus ist). Die Konfiguration hier ist nicht für sicherheitskritische Anwendungen zu empfehlen, da alle Hosts im internen Netz durch Masquerading unbeschränkten Zugriff zum Internet erhalten. Besser ist es, ausschließlich Proxys zu verwenden, aber nun ja...

FW_DEV_EXT="dsl0 vlan7 eth-id-00:00:00:00:00:00"
FW_DEV_INT="eth-id-00:00:00:00:00:00"
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="dsl0"
FW_MASQ_NETS="0/0"
FW_ALLOW_FW_BROADCAST_EXT="yes"
FW_ALLOW_FW_BROADCAST_INT="yes"
FW_IGNORE_FW_BROADCAST_EXT="yes"
FW_IGNORE_FW_BROADCAST_INT="yes"
FW_HTB_TUNE_DEV="dsl0,9500"

Die letzte Einstellung begrenzt den Upstream auf 5% unter das Maximum. Der genaue Wert hängt aber stark von der jeweiligen Nutzung ab.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung