Jo's Linux Firewall Howto: DSL
Die bessere Verbindung nach draußen: DSL
Okay, vergeßt alles, was ich über ISDN gesagt habe. Inzwischen nimmt man (ich auch :-) DSL. Da geht richtig die Post ab. Und außerdem ist es glatt noch billiger. (je nach dem, wie man rechnet)
Wichtig ist es, beim Rechnen gut aufzupassen: Auf den Telekomseiten verliert man leicht den Überblick darüber, daß man dort gleich zwei Dinge bestellt: Den eigentlichen DSL-Anschluß exklusive Endgerät (!) und einen T-online Zugang für DSL. Es steht häufig nur 1 Preis pro Seite, am Ende bezahlt man aber derer 2. Trotzdem rechnet es sich recht schnell, wenn man das Internet wirklich nutzt. Ich werde dies hier aber nicht vorrechnen, da sich die Preise schneller ändern, als ich tippen kann.
Inhaltsübersicht
Um die DSL-Konfiguration etwas übersichtlicher zu gestalten, habe ich dieses Dokument inzwischen getrennt und daraus 3 Dokumente gemacht: Dieses Dokument, welches den allgemeinen Teil beinhaltet, ein Dokument über den pppoed von Davin und ein Dokument über pppoe von Roaring Penguin. Da dies alles aber eng miteinander verbunden ist, gibt es weiterhin 1 gemeinsames Inhaltsverzeichnis.
- Wie funktioniert DSL?
- Was braucht man?
- Welche Software für PPPoE?
- Die Installation der Netzwerkkarte
- DSL mit pppoed von davin
- DSL mit pppoe von roaring penguin
Wie funktioniert DSL?
Nun, im Prinzip genauso wie ISDN. Also es wird auf der selben Leitung, die bisher schon für das analoge oder ISDN Telefon da war, ein zusätzliches Signal aufmoduliert. Dieses zusätzlich aufmodulierte Signal liegt außerhalb des Bereiches, in welchem analoge und ISDN-Verbindungen arbeiten. Daher läßt es sich auch durch ein "einfaches" Filter trennen. (Okay, die Jungs und Mädels, die dieses Filter entwickelt haben mögen mir verzeihen - es ist schon nicht ganz einfach zu entwickeln, aber einfach anzuwenden) Im Prinzip funktioniert das so: Wenn ich mittels trommeln telefoniere, stört es nicht, wenn zusätzlich noch jemand pfeift.
Somit wird als erstes an den eigentlichen Telefonanschluß (die TAE-Dose) der DSL-Splitter geschaltet, der das DSL-Signal wieder vom Telefonsignal trennt. Er arbeitet somit wie eine Frequenzweiche in einer Lautsprecherbox, die die tiefen Töne an den Tieftöner und die hohen Töne an den Hochtonlautsprecher weitergibt.
An den Telefonanschluß des DSL-Splitters kommt dann, wenn es sich um einen ISDN-Anschluß handelt, der NTBA, welcher die ISDN-Signale aufbereitet. Bei einem analogen Anschluß ist dieser direkt verfügbar. Inschwischen hat sogar die Telekom eingesehen, daß das funktioniert und bietet es ihren Kunden an.
Am DSL-Anschluß des Splitters wird entsprechend das DSL-Modem angeschlossen.
Dieses wird nun nicht mehr über 1 serielle Schnittstelle an den PC angeschlossen, weil diese zu langsam wäre. (DSL schafft mehrere Mbit/s gegenüber 115 kbit/s bei der seriellen Schnittstelle eines PC) Dafür benutzt man nun eine TP-Netzwerkverbindung (10 Mbit/s).
Bei DSL unterscheidet man unterschiedliche Varianten:
- DSL (Digital Subcriber Line)
ist der Oberbegriff für alle Varianten - SDSL (Symmetrical Digital Subcriber Line)
verwendet in beide Richtungen die selbe Übertragungsrate = Geschwindigkeit - ADSL (Asymmetrical Digital Subcriber Line)
verwendet je nach Richtung unterschiedliche Übertragungsraten = Geschwindigkeiten - im allgemeinen wird hier zum Endkunden hin (downstream) eine höher Geschwindigkeit ermöglicht, als zum Provider (upstream). - TDSL (Telekom Digital Subcriber Line)
beschreibt lediglich die ADSL-Variante der Telekom, die vermutlich glaubt, daß es der Welt noch an Abkürzungen mangelt
Warum die Unterschiede? Grob vereinfacht gesprochen passen über 1 Leitung nur eine feste Menge an Bits/s, unabhängig von ihrer Richtung.Wenn also insgesamt 896 kbit/s übertragen werden kann, so kann man dies als 448 kbit/s upstream und 448 kbit/s downstream aufteilen und hat SDSL. Dies ist für Server o.ä. nützlich, die in beide Richtungen ähnlich viele Daten transportieren. Ein Surfer lädt üblicherweise deutlich mehr Daten aus dem Netz, als er versendet. Diesem ist mehr gedient, wenn man die Gesamtübertragungsrate z. B. auf 768 kbit/s downstream und 128 kbit/s upstream aufteilt. Letzteres ist dann ADSL bzw. TDSL.
Warum 896 kbit/s? Das fragen sich viele! An und für sich kann DSL bis mehrere Mbit/s übertragen. Dies hängt aber am jeweiligen Anschluß (z. B. Länge der Leitung bis zur Vermittlung). Da es recht unpraktisch und vor allem aufwendig (=teuer) ist, jeweils einzeln nachzumessen, hat sich die Telekom weit nach unten gelegt. Das geht immer. Außerdem wird die Datenrate, welche sie über ihr Netzwerk transportieren muß, dann nicht so groß. Naja, es ist immer noch deutlich besser als ISDN.
Was braucht man?
Heute muß man bei der Telekom oder einem anderen Netzbetreiber, der DSL anbietet, den Anschluß bestellen. Dann über die T-elekom bei T-online den Zugang bzw. bei einem anderen Provider, der DSL anbietet. Dann braucht man noch ein DSL Modem, das seit Anfang 2002 nicht mehr mit dem DSL Anschluß mitgeliefert wird. Und zuletzt natürlich die erwähnte Netzwerkkarte. Oder man nimmt ein "internes" DSL Modem, das als PCI-Karte direkt in den PC eingebaut wird.
Ich beschreibe hier die Variante, welche dem alten Telekomstandard mit externem Modem entspricht.
Bei internen Modemkarten muß natürlich ein entsprechender Treiber für Linux dabei sein. Auch die Konfiguration ist dann vermutlich anders. Ich hoffe, daß dies die Hersteller entsprechend Dokumentieren.
Nunja, bei Linux braucht man auch noch die Software, denn die Telekom kennt nur Windows. Hier hat man die Wahl zwischen mehreren Paketen. Ich habe inzwischen 2 ausprobiert, die beide ihren Dienst tun. Im Moment bin ich mir nicht ganz schlüssig, welches besser ist.
In dem Rechner, welcher den Gateway bilden soll, benötigt man dann noch 1 zusätzliche Netzwerkkarte, die die Verbindung zum DSL-Modem herstellen soll. Diese muß einen TP-Anschluß haben, wie auch das DSL-Modem.
Prinzipiell ist es möglich, das DSL-Modem an der vorhandenen Netzwerkkarte zu betreiben, an der auch das interne Netz hängt. Dies erscheint mir aber wenig sinnvoll, da man dann das DSL-Modem an den Hub des lokalen Netzwerkes anschließen muß und so jeder Rechner auch direkt mit dem Modem verbunden ist. Da gibt die Firewall nur noch wenig Sinn. Und die zusätzlichen 10 Euro für eine Netzwerkkarte sollten eigentlich kein Thema sein. Eher schon die begrenzte Anzahl an Steckplätzen.
Insgesamt gibt es durchaus Sinn, sich mehrere Beschreibungen zu diesem Thema durchzulesen.
Die Installation der Netzwerkkarte
Vor der Installation einer (weiteren) Netzwerkkarte sollte man sich notieren, welche Interrupts und Portadressen schon durch andere Geräte belegt sind. Hierzu zählen nicht nur die bereits vorhandenen Netzwerkkarten, sondern auch die seriellen und parallelen Schnittstellen. Diese belegen zumindest Interrupts im interessanten Bereich. Auch eine ISDN-Karte kann sich hier bemerkbar machen. Sowie sollte man irgendwo (!) eine Liste der "verbrauchten" Interrupts und Portadressen haben, dann kann man neuen Geräte recht einfach installieren.
Folgende Ressourcen belegen die Standard-Schnittstellen üblicherweise:
- 1. Serielle Schnittstelle: Int = 4, I/O = 3F8h
- 2. Serielle Schnittstelle: Int = 3, I/O = 2F8h
- 1. Parallele Schnittstelle: Int = 7, I/O = 378h
- 2. Parallele Schnittstelle: Int = 5, I/O = 278h
Das kleine h hinter der I/O-Adresse bedeutet, daß es sich um 1 hexadezimale Adresse handelt. Näheres dazu in jedem besseren Lexikon.
Wenn die genannten Schittstellen nicht vorhanden sind oder im BIOS ausgeschaltet sind, benötigen sie entsprechend auch ihren Interrupt nicht. Dieser kann dann von der Netzwerkkarte verwendet werden.
In seltenen Fällen muß der Interrupt und der Port- (I/O-) Bereich auf der Karte noch mit Steckbrücken (Jumpern) eingestellt werden. Normalerweise werden diese Einstellungen heutzutage mit einer Setup-Software vorgenommen, welche mit der Netzwerkkarte geliefert wird. Dazu benötigt man dann meist eine DOS Bootdiskette. (Erhältlich in jedem besseren Museum ;-) Das Nähere entnimmt man der Dokumentation, welche hoffentlich der Karte beiliegt.
Nun zu Linux: Hier muß jetzt die Netzwerkkarte eingebunden werden. Achtung: Je nach dem verwendeten Treiber muß dies ggf. unterschiedlich geschehen:
- Für den pppoed von Davin (siehe unten) wird sie wie eine normale Netzwerkkarte eingebunden und aktiviert. Sie soll eine eigene IP-Adresse bekommen. Diese sollte in einem anderen Netz liegen, als die lokalen Adressen. (z. B. 192.168.100.1)
- Für den rp pppoe bekommt sie keine IP-Adresse und wird nicht im Netzwerk aktiviert! Sie soll nämlich nur für die Verbindung zum DSL-Modem mittels eines eigenen Treibers verwendet werden.
Leider ist hier anscheinend etwas probieren nötig: Wenn ich das Netzwerkinterface nicht aktiviere (ifconfig eth1 up), funktioniert bei mir der pppoe NICHT. Außerdem gibt es Berichte von Menschen, die Ihre Installation nur mit bestimmten IP-Adressen zum Laufen bekamen.
Zum Einbinden der Netzwerkkarte kann man in Yast unter Administration des Systems -> Hardware in System integrieren -> Netzwerkkarte konfigurieren die neue Netzwerkkarte installieren. Für Menschen ohne Yast steht auch der direkte Weg offen: mittels /etc/modules.conf. Hier muß zum einen jeweils ein Eintrag für jede Netzwerkschnittstelle (also eth1 für die zweite Netzwerkkarte) und zum anderen ein Eintrag für den Typ der Netzwerkkarte erzeugt werden (also ne für NE2000-kompatible Karten). Hier kann man sich am besten an den Beispielen in der Datei orientieren.
Meine Einträge (zwei NE2000 kompatible Netzwerkkarten, 1. Karte Portadresse 300h, Interrupt 9, 2. Karte Portadresse 280h, Interrupt 10) sehen so aus:
alias eth0 ne alias eth1 ne options ne io=0x300,0x280 irq=9,10 |
Zum Aktivieren der Netzwerkkarte kann man in Yast unter Administration des Systems -> Netzwerk konfigurieren -> Netzwerk Grundkonfiguration die neue Netzwerkkarte konfigurieren (IP-Adresse in einem anderen Netz!) und aktivieren. (Nur für pppoed!). Ohne Yast muß man dies entsprechend der ersten Netzwerkkarte tun, also in /etc/rc.config oder wie die Datei gerade heißt. So oder so sollte keine Defaul-Route eingerichtet sein, da dies der pppd oder der pppoed tut.
Doku:
-
man modules.conf
Die Manpage zu modules.conf.
Test
Wenn soweit alles geklappt hat, sollte nach dem Booten ungefähr folgendes in /var/log/messages zu finden sein:
8:16:14 gateway kernel: ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) 8:16:14 gateway kernel: NE*000 ethercard probe at 0x300: 00 80 ad 82 xx xx 8:16:14 gateway kernel: eth0: NE2000 found at 0x300, using IRQ 9. 8:16:14 gateway kernel: NE*000 ethercard probe at 0x280: 00 80 ad 82 xx xx 8:16:14 gateway kernel: eth1: NE2000 found at 0x280, using IRQ 10. |
Auch mit einem Aufruf von ifconfig läßt sich prüfen, ob soweit alles stimmt. Zu beachten ist hierbei, daß für rp pppoe die zweite Netzwerkkarte (eth1) keine IP-Adresse besitzt (also ohne die dunkelgrau hinterlegte Zeile), für pppoed sollte die dunkelgrau hinterlegte Zeile auch da sein:
root@gateway:/root>ifconfig eth0 Link encap:Ethernet HWaddr 00:80:AD:82:XX:XX inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:165172 errors:0 dropped:0 overruns:0 frame:0 TX packets:227723 errors:0 dropped:0 overruns:0 carrier:0 collisions:32 txqueuelen:100 Interrupt:9 Base address:0x300 eth1 Link encap:Ethernet HWaddr 00:80:AD:82:XX:XX
RX packets:182403 errors:0 dropped:0 overruns:0 frame:0 TX packets:158943 errors:0 dropped:0 overruns:0 carrier:0 collisions:45 txqueuelen:100 Interrupt:10 Base address:0x280 |
Doku:
-
man ifconfig
Die Manpage zu ifconfig.
Nun muß man nur noch feststellen, ob das DSL-Modem angesprochen werden kann. Am einfachsten geht dies mit einer von mir modifizierten Version des pppoed von Davin, den ich weiter unten beschreibe. Diese Version kennt 1 zusätzlichen Parameter um die Anwesenheit und Ansprechbarkeit des DSL-Modems zu testen.
Download:
pppoed | Ausführbare Datei (Suse Linux 6.4 und alles was kompatibel ist ;-) |
pppoed0.47.tgz | (modifizierte) Quellen |
Der Aufruf ist dann relativ einfach:
root@gateway:~>pppoed -I eth1 -t send_packet: ifn eth1 Ether hdr: dst=ff:ff:ff:ff:ff:ff src=00:80:ad:82:c0:d3 AC at: 00:d0:c0:f9:c2:13 discovered Server! send_packet: ifn eth1 Ether hdr: dst=00:d0:c0:f9:c2:13 src=00:80:ad:82:c0:d3 Request completed successfully (session ID=3613 AC MAC=00:d0:c0:f9:c2:13) discovered SessionID! |
Der erste Parameter -I dient der Angabe des Netzwerkinterfaces, an dem das DSL-Modem hängt. Der zweite Parameter -t startet den (neuen) Testmodus. Ggf. kann noch ein -d 7 angefügt werden, um mehr Debug-Ausgaben zu erhalten. Wenn eine Ausgabe wir oben erscheint, dann ist alles OK. (sonst beginnt das große Suchen)
Dieser Test ist evtl. auch zwischendurch mal
ganz sinnvoll, wenn eines
(weniger) schönen Tages der Zugang zu Internet klemmt. |
Welche Software für PPPoE?
Gute Frage. Im Moment gibt es da diverse Pakete, die jeweils ihre speziellen Vor- und Nachteile haben. Ich beschreibe hier zwei Pakete.
Ersteres, der pppoed von Davin scheint mir die sauberere Lösung zu sein und bringt - rein subjektiv - etwas höhere Datenraten.
Letzteres Paket, pppoe von Roaring Penguin, hat einen deutlich schnelleren Verbindungsaufbau und verliert auch nicht das erste Packet. (Diese Einschränkung gilt vermutlich nur für die Variante mit diald)
Entscheide jeder nach seinem oder ihrem Geschmack.
weitere Doku (alles auf deutsch):
-
ADSL-Support
Homepage mit Infos zu Hardware und Software (verschiedene OS), Links, FAQ, ... -
Diskussionsforen ADSL, Spracherkennung
deutsches Diskussionsforum über ADSL und verwandte Themen. Viele Erfahrungsberichte.
Weiter mit: Das Routing: Firewall und Masquerading mit IPChains.
Urheber © Dr. Joachim Wiesemann
Letzte Aktualisierung: 4.12.2022
www.JWiesemann.de
Für Anregungen und Kritik: feedback@jwiesemann.de