Inhaltsverzeichnis
IN-DSL mit Router
Es gibt natürlich sehr viele verschiedene Router, die unterschiedliche Bezeichnungen für die Funktionen haben und deren Konfigurations-Interfaces unterschiedlich aussehen. Daher können die folgenden Screenshots nur als Orientierung dienen. Die Anleitung bezieht sich in erster Linie auf DSL bei IN-Berlin (Merkmale und Tarife hier), vieles gilt aber für Router am DSL-Anschluss generell.
Vorbemerkung
Ich habe zum Spaß mehrere Router ausprobiert. Eigentlich müsste man sie als elektrisch versorgte Bug-Sammlungen bezeichnen. Jeder hat andere Macken, fehlerfrei war gar keiner. Der eine erzeugt selbst irgendwelchen Traffic, der andere verklemmt sich, wenn man ihn zusammen mit dem DSL-Modem an einen Hub hängt, und die Web-Interfaces sind grausam. Rechtschreibfehler sind da noch das harmloseste. Beliebt sind mit Java oder Javascript gesteuerte Seiten, die je nach Verbindungstyp (PPtP, PPPoE, DHCP) andere Optionen einblenden - das ist nett gedacht, nur funktioniert es nie mit allen Browsern. Ich habe Router erlebt, die gehen mit IE5 und Konqueror, aber nicht mit Netscape 4, andere mit IE5 und Netscape4, aber nicht mit Mozilla, und auch einen, der geht mit Netscape, aber nicht mit IE. Das äußert sich dann so, dass nicht die passenen Optionen erscheinen oder dass angeklickte Funktionen ignoriert werden oder dass beim Versuch, Einstellungen zu bestätigen Fehlermeldungen kommen. Auch unvollständig implementiertes PPPoE ist dabei, d.h. die Verbindung kann sich auch mal für 20 Minuten verklemmen. Bei den Teilen muss leider jeder selbst sehen, wie er mit den Bugs klarkommt, es gibt zu viele, als dass hier eine Anleitung für jeden stehen könnte.
Verkabelung
Die Verkabelung ist in der Regel ganz einfach, die Router sind entsprechend beschriftet.
Splitter DSL-Modem PC PC PC Switch TAE ,-----------. ,-------. | | | | ,---. | TAE RJ | | | * * `-. | | # | | # # # ~ | | BBAEo--. | `----. * * | # | | # # # ~ | | | | `-------. | | | `-+-´ | | | | | 10BTo--+--*----. | | | | | `---+-o---+-´ | | | ,--o-----o---o---o------o--. | | | | `-------´ | | WAN LAN LAN LAN LAN UL | `----$---------+-´ `--@------------´ | | | | | $ `--------------------------´ | Router ISDN-NTBA oder analoges Telefon * - 1:1-Netzwerk-Kabel, Cat3 oder Cat5 $ - Telefon-Kabel mit TAE-Stecker oder zum Selbst-Anklemmen @ - 1:1-Netzwerk-Kabel oder Telefonkabel zum Selbst-Anklemmen o - Anschluss + - Kreuzung ohne Verbindung Bei einer Modem-Router-Kombination geht es direkt vom Splitter in den Router.
Dem Splitter (BBAE) liegt ein Telefon-Kabel mit TAE-Stecker an dem einen und einem RJ-11-Stecker mit versetzter Feder am anderen Ende bei. Man kann den Splitter aber auch direkt anstelle der TAE anschließen, er hat Klemmen unter der kleinen Klappe, ggf. muss man den Schalter „PPA“ (ebenfalls unter der Klappe) aktivieren, wenn man ihn anstelle der 1. TAE-Dose (diese enthält sonst den PPA, ein kleines schwarzes Plastik-Teil mit 3 Anschlüssen) anbaut. Unter der Klappe findet sich auch der Umschalter „Analog/ISDN“, den man entsprechend kontrollieren sollte.
Dem DSL-Modem (NTBBA) liegen in der Regel zwei 1:1-Netzwerk-Kabel bei, eins zum Anschluss an den Splitter (der dafür eine RJ-45-Dose hat), und eins zum Router. Für die Verbindung zum Splitter kann man wiederum normales Telefonkabel benutzen, sowohl NTBBA als auch BBAE haben Klemmen dafür.
Die Kabel vom Router zu den Computern sind normale 1:1-Netzwerk-Kabel, für die üblichen 100BaseTX sollte man natürlich Cat5 verwenden, während für die Verbindung vom NTBBA zum Router Cat3 genügt. Ein 1:1-Netzwerk-Kabel benutzt man auch, wenn man zu einem weiteren Switch oder Hub möchte, dazu nimmt man dann am Router den Uplink-Port und lässt den zugehörigen LAN-Port frei! Viele neuere Router haben auch Auto-MDI, d.h. es ist egal, ob man ein 1:1- oder ein Cross-Kabel benutzt, einen Uplink-Port braucht man damit dann nicht mehr.
Einrichtung der LAN-Daten
Die Router bieten in der Regel an, die IP-Nummern für das lokale Netz per DHCP zu verteilen und holen sich ggf. sogar selbst eine IP-Nummer per DHCP, wenn im LAN ein DHCP-Server läuft. Wie man verfahren möchte, muss man jetzt entscheiden:
Router ist DHCP-Server
Man stellt alle Rechner so ein, dass sie ihre IP-Nummer per DHCP beziehen und aktiviert DHCP auf dem Router (meistens ist das die Voreinstellung). Für Rechner, die vom Internet aus als Server zugänglich sein sollen, ist das nicht geeignet, weil sich die IP-Nummern ggf. beim Neustart ändern könnten. Empfehlenswert vor allem dann, wenn man nur einen Windows-Rechner ans Internet bringen möchte und keine Anwendungen wie ssh oder Tauschbörsen benutzt. In der Regel übermittelt sich der Router auch gleich als Gateway, so dass man weiter nichts tun muss.
Feste IP-Nummern
Man schaltet DHCP auf dem Router aus, und gibt allen Rechnern und dem Router je eine IP-Nummer aus dem gleichen Subnetz. Als Nummern sind für die Verwendung in privaten Netzen folgende Bereiche reserviert:
- Class A: 10.0.0.0 bis 10.255.255.255, Netzmaske 255.0.0.0
- Class B: 172.16.0.0 bis 172.31.0.0, Netzmaske 255.255.0.0
- Class C: 192.168.0.0 bis 192.168.255.255, Netzmaske 255.255.255.0
Auf den Rechnern stellt man den Router als Default-Gateway ein. Empfehlenswert, wenn man mehrere Rechner hat, vor allem dann, wenn ein Linux dabei ist und gar selbst einen DHCP-Server hat.
Beispiel:
Gerät | IP-Nummer | Netzmaske | Broadcast | Default-Gateway |
---|---|---|---|---|
Router | 192.168.1.1 | 255.255.255.0 | 192.168.1.255 | – |
Linux-Rechner | 192.168.1.2 | 255.255.255.0 | 192.168.1.255 | 192.168.1.1 |
Win-Rechner | 192.168.1.3 | 255.255.255.0 | 192.168.1.255 | 192.168.1.1 |
Unter Windows stellt man alle Parameter bei den Netzwerk-Eingenschaften in den verschiedenen Dialog-Fenstern entsprechend obiger Tabelle ein. Bei Linux ist das abhängig von der Distribution verschieden.
Das Ergebnis sollte z.B. so aussehen:
root@linuxrechner:~# ifconfig eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 root@linuxrechner:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Wenn der Router eine DNS-Funktion (Name-Server) hat, kann man bei der Gelegenheit auch auf allen Rechnern die IP-Nummer des Routes als DNS einstellen. Falls nicht, trägt man die Nummern des DSL-Providers ein, die bei der Verbindungsaufnahme angegeben werden (siehe http://in-berlin.de/support/in-dsl/index.html#log][hier).
Gemischt
Man kann beim Router den DHCP-Bereich einschränken und aus dem anderen Bereich IP-Nummern fest vergeben. Z.B. wenn man ein Linux, ein Windows und ein Notebook hat.
Einrichtung auf dem Client
Entweder über die per DHCP geholte IP-Nummer oder über die auf dem Handzettel angeführte Nummer stellt man den ersten Kontakt zum Router her. Ggf. muss man in seinem Internetbrowser vorher die Benutzung eines Proxy-Servers abschalten oder die IP-Nummer des Routers unter „für diese Adressen keinen Proxy verwenden“ hinzufügen. So sieht das bei Mozilla für die Beispiel-Adresse 192.168.0.254
aus:
Und so beim Internet-Explorer:
(Es kann vorkommen, dass diese Einstellung grau und nicht zugreifbar ist. Das ist dann der Fall, wenn der Explorer von der CD eines anderen Internet-Providers stammt - viele manipulieren den IE so, dass man den Proxy des Providers nicht mehr abstellen kann. In dem Fall muss man sich durch die Registry wühlen, Anleitung findet man per google.)
Dann muss der eigene Rechner eine Route zur IP-Nummer des Routers haben. Das kann die Default-Route sein, hat man aber z.B. unter Linux andere IP-Nummern konfiguriert, kann es sein, dass man ein virtuelles Interface erzeugen muss, z.B. so:
/sbin/ifconfig eth0:0 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
Dann gibt man im Browser z.B. http://192.168.0.254/
ein, und bekommt die Konfig-Seite des Routers. Das voreingestelltes Passwort (z.B. Username „admin“ Passwort „admin“) sollte man als erstes ändern, und als nächstes DHCP ausschalten, wenn man es nicht möchte (siehe oben). Damit der Router in das LAN passt, kann man auch seine IP-Nummer (siehe oben) ändern und dann z.B. o.g. Interface wieder entfernen. Am besten startet man den Router dann neu.
Einrichtung der Zugangsdaten
Über das DSL der Telekom sind verschiedene Provider zu erreichen. Da es sich bei der eigentlichen DSL-Verbindung - diese endet in der nächsten Vermittlungsstelle - jedoch nicht um eine Wählleitung handelt, muss auf andere Art und Weise eingestellt werden, wohin die Verbindung gehen soll. Das passiert durch das Anhängen einer Providerkennung an den eigentlichen Zugangsnamen. Unsere DSL-Provider heißen „city-adsl.de“ und „profi-adsl.de“. Die Telekom leitet die Verbindung zu diesen Providern weiter, und von dort geht es zum IN-Berlin, was wiederum durch eine angehängte Kennung erreicht wird. Daher ergibt sich der Name, den man bei den Zugangsdaten einstellen muss, aus dem Site- oder Benutzernamen, „#in“ für IN-Berlin und „@profi/city-adsl.de“ für den DSL-Provider. Also z.B. „beispielaccount#in@city-adsl.de“. city-adsl ist nicht überall verfügbar, aber wenn, dann meistens schneller (kürzere Ping-Zeiten).
IN-Berlin-DSL arbeitet mit PPPoE, das muss man also anklicken. IN-Berlin vergibt derzeit nur feste IP-Nummern, man kann die Nummer, die wir vergeben haben, fest in der Router-Konfiguration eintragen, jedoch kann man auch darauf verzichten und „dynamisch“ oder „automatisch“ anklicken, sie wird dann automatisch übermittelt. Auch der DNS wird automatisch übermittelt, diese Felder kann man also unverändert lassen.
Bei manchen Routern hat das Eintragen einer festen IP-Nummer außerdem eine andere Bedeutung (nämlich, dass kein PPPoE gemacht werden soll). Bei anderen wiederum kann man das Durchleiten aller Ports zu einem Rechner nur eintragen, wenn man eine feste Nummer eingetragen hat. Dass muss man leider selbst herausfinden. Insbesondere bei billigen Routern ist auch noch mit anderen Unzulänglichkeiten zu rechnen, z.B. lässt meiner bei Traceroute kein UDP durch, nur ICMP… „Connect on demand“ bzw. „Automatisch verbinden“ könnten je nach Router-Typ unterschiedliche Bedeutung haben. Meine Router agieren dabei so: Bei „Nein“ bzw. „Disabled“ stellen sie die Verbindung nur manuell her, und zwar auch dann, wenn die Verbindung z.B. von der Zwangstrennung der Telekom unterbrochen wurde. Damit sich der Router automatisch wieder einwählt, muss also „Ja“ bzw. „Enabled“ ausgewählt sein, und eine Haltezeit von 0 (damit er nicht von selbst auflegt). Die erste Einwahl muss u.U. trotzdem noch manuell ausgelöst werden. Wenn der Router nach einer Trennung nicht selbst wieder anwählt, muss man notfalls ein ping -i 60 oder dergleichen stehen lassen.
Dann sollte man in das Log des Routers schauen, ob die Verbindung zustandegekommen ist. Dort sieht man dann z.B. soetwas:
„Local IP address“ sollte dann die vom IN-Berlin zugewiesene IP-Nummer sein und der Internet-Zugang sollte funktionieren.
Durchleiten - Beispiel ssh
IN-Berlin vergibt feste IP-Nummern. Mit einem Linux z.B. ist es so möglich, sich von unterwegs auch mit dem eigenen Rechner zu verbinden, um z.B. eine Datei abzuholen. Der Router muss dazu wissen, an welchen lokalen Rechner er eingehende Verbindungen weiterleiten soll. Das lässt sich je nach Anwendung variieren, wenn man mehrere Rechner hat. Für ssh könnte das so aussehen:
Oder so:
Mehrere IP-Nummern
Nach entsprechender Begründung vergeben wir auch mehrere IP-Nummern. Leider sind alle Router von mir damit nicht wirklich gut zurechtgekommen, ich habe mit einem 255.255.255.252er Netz probiert (also Netzadresse, 2 IP-Nummern und Broadcast-Adresse), sie haben jeweils die erste IP-Nummer für sich selbst beansprucht und dann entweder nur noch die zweite geroutet (man kann aber dann per „Virtuellem Server“ einzelne Ports wie z.B. ssh auch von der ersten IP an einen Server im LAN durchleiten) oder aber immerhin alle anderen einzeln (also incl. Netzadresse und Broadcast), so dass ich mit Linux drei Nummern nutzen konnte. Einer bot die Möglichkeit eines n:n-NAT, also mehrere externe Nummern auf je eine interne abzubilden, auch das ist brauchbar. Für den häufigsten Fall, dass die erste Nummer vom Router genommen und die anderen durchgereicht werden, habe ich die verbleibenden Nummern auf dem Router mit einzelnen Host-Routen (also Netmask 255.255.255.255) eingetragen und NAT ausgeschaltet. Die Rechner bekamen dann ein Interface mit der richtigen IP-Nummer sowie ein weiteres mit dem Transfernetz zum Router. Die Defaultroute kann man nicht mehr mit dem normalen „route“-Kommando setzen, sonder muss sowas machen:
ip route add default src <richtige-nummer> via <transfernetznummer_des_routers>
Dazu muss das Paket iproute2 installiert sein. Grund ist, dass er sonst die falsche IP-Nummer für ausgehende Pakete nimmt, nämlich die des Transfernetzes. Die geht aber nicht, weil NAT ja aus ist. Erschwerend kommt hinzu, dass sich auch unter Linux einigen Programme beim Ermitteln der abgehenden IP irren (Traceroute!), und nur dann richtig laufen, wenn das Interface mit der richtigen IP das erste vom Interface ist. D.h. wenn eth0 192.168.xxx
und eth0:1 212.42.xxx
ist, geht es nicht, es geht aber, wenn eth0 212.42.xxx
ist und eth0:1 192.168.xxx
.
Inwieweit sowas mit Win geht, weiß ich nicht. Eigentlich sollte das so laufen, dass der Router Bridge spielt und alle Pakete von außen nach innen durchreicht, egal welche Nummer sie haben. Für die Konfiguration bekommt er seine interne IP-Nummer (private Netze siehe oben), die Rechner im LAN bekommen dann die festen IP-Nummern mit der von uns zugeteilten Netz- und Broadcast-Adresse. Zusätzlich wird man das virtuelle Interface auf dem privaten Netz für den Zugriff auf den Router brauchen. Das ist mir aber nur mit einem Linux als Router gelungen, diese kleinen Hardware-DSL-Router sind dafür offenbar nicht gemacht. Immerhin habe ich es mit allen bis auf einen geschafft, mehrere IP-Nummern irgendwie hindurch zu bekommen.
Gezielte Trennung/Verbindung/Tricks
Gezielte Trennung/Verbindung
Es gibt Router, die werfen bei der Zwangstrennung bestehende NAT- Sessions (und somit sowohl aus- als auch eingehende ssh-Verbindungen usw.) weg. Das ist zwar nicht ganz unsinnig (denn bei den meisten Provideren ändert sich dasnn ja auch die IP-Nummer), bei der gleichen IP-Nummer aber wie bei uns nicht sinnvoll. Wer solch Gerät hat, sollte der Trennung zuvorkommen, und das zu einer Uhrzeit, die ihm genehm ist, also z.B. mitten in der Nacht (oder bei Studenden am frühen Nachmittag ).
Um das zu erreichen, muss man die entsprechende Konfig- Seite des Routers aufrufen - das geht aber wegen Javascript usw. normalerweise nicht automatisch. Man nehme sich also die Seite, schaue in den Quelltext, was da passiert, und baue sich eine Kommandozeile für Programme wie wget (die man dann aus dem Cron heraus rufen kann). Auf der Seite steht z.B. hier:
bla bla bla <form method="POST" action="status.cgi"> bla bla bla PPPoE Connected <input type=submit name="connect" value="Connect"> <input type=submit name="disconnect" value="Disconnect"> bla bla bla </form> bla bla bla
Daraus kann man machen (User/Passwort/IP des Routers einsetzen):
wget http://user:password@192.168.x.x/status.cgi?disconnect=disconnect
Das ist dann zwar ein GET-Request statt POST, aber bei meinem Router geht das (sicher nicht bei allen, und bei einigen könnte die Stelle tief versteckt im Javascript liegen).
Analog geht es hier auch mit connect=connect. Es gibt Router (z.B. von AVM), da kann man eine Zeit einstellen, zu der der Router einmal trennen soll.
Versteckte Funktionen
Manche Router haben interessante Funktionen, z.B. SNMP, Telnet-Zugang oder ähnliches, ohne dass das in der Anleitung steht. Ein Portscanner-Durchlauf kann ganz interessant sein. Kann er z.B. SNMP (Edimax), kann man sich ein MRTG installieren und schöne Grafiken vom Traffic sehen.