Liebe Besucher, ein aktueller Hinweis in eigener Sache:
Es ist beabsichtigt, diese Seiten und die Domain im Januar/Februar 2004 auf
einen anderen Server umzuziehen. Es ist leider nicht auszuschließen,
daß es während des Umzugs zu technischen Problemen mit diesen
Seiten kommen wird. Insbesondere im eMail-Bereich wird es vermutlich Probleme
geben. Wenn Sie fragen haben oder mich sonstwie erreichen wollen empfehle
ich an rebel@snafu.de zu posten.
Nachdem der Umzug abgeschlossen ist, wird es allerdings auch inhaltliche Änderungen
während des ersten Halbjahrs 2004 geben. Keine Angst. Es werden keine
Inhalte verlorengehen, aber die Struktur der Seiten wird komplett geändert.
Diese Seite hat eben eine andere Entwicklung genommen seit 2000, als das Projekt
gestartet wurde ;-) Ich werde mich bemühen, daß bei ihnen vorhandene
alte Bookmarks wenigstens zu einem Verweis auf die Neustruktur führen,
und die gesuchten Inhalte für sie trotzdem leicht und schnell auffindbar
sein werden.
Die eigentlich zu dieser Seite gehörenden Domains ag-intra.com, ag-intra.org
und ag-intra.de werden von mir geschlossen bzw. gelöscht und unregistriert.
Anleitung - T-DSL Zugang und
Router mit SuSE 8.2
Copyright 2003 by Frank
Gehde
Das Ende einer Ära
Ich habe gerade meinen SuSE 8.0 Router durch einen SuSE 8.2 Router ersetzt.
Also gerade eben :) Und aus diesem Grund ist das die letzte T-DSL mit SuSE
X Anleitung die Sie bei ag-intra.net finden werden. Bis auf ein ganz, ganz,
ganz kleines Miniproblem gab es überhaupt keine Probleme mit einem aktuellen
SuSE 8.2 sowohl einen T-DSL Zugang herzustellen, als auch, das ganze Routing-Fähig
zu machen. Die Zeiten, in denen die PPPoE Integration mit massenhaft Kinderkrankheiten
behaftet waren sind vorbei. Es scheint sich endlich eine stabile Lösung
gefunden haben, und die Art und Weise, wie SuSE bei der Konfiguration unterstützt,
scheint auch endlich vernünftig zu funktionieren. Wenn ich da noch an
die Zeiten von SuSE 6.4 zurückdenke, wo man sich noch fragte ob der
PPPoED oder der Roaring Penguin das Rennen machen würde ... vorbei die
Zeiten :))))))
Abgesehen von der Zeit der Paketauswahl, und der reinen Installationszeit,
hatte ich meinen Router unter SuSE 8.2 nach einer Stunde wieder Online. Funktionierender
DSL-Zugang, funktionierendes Routing UND ein funktionierender Nameserver
wie zuvor. Damit funktioniert mein Netz wieder (nagut, die virtuellen Apaches
auf den diversen dnydns Adressen laufen noch nicht, aber ich bin zuversichtlich
:)))
Damit ist jedenfalls die Ära von Anleitungen hier, die bei der Einrichtung
von DSL und Routern unter SuSE helfen sollten, definitiv beendet.
SuSE 8.2 DSL-Router
In der Vergangenheit habe ich immer wieder sehr ausführlich die Installation,
Netzwerkkartenkonfiguration und verschiedene Probleme betrachten müssen.
Das mache ich hier nicht mehr. Ich schimpfe zwar gegen YaST 2, und das tu
ich immer noch, aber mit Hilfe von YaST 2 war es ein Kinderspiel den Router
ans Rennen zu bekommen.
Das beginnt bei der Installation. Abgesehen vom Roaring Penguin, der immer
noch existiert, habe ich bei der Paketauswahl kein PPPoED Paket gesehen.
Ich habe lediglich das PPPD Paket angewählt. Ich nehme an, alles erforderliche
ist darin enthalten.
Der T-DSL Zugang wird nun direkt während der Installation konfiguriert
!!! Und das ganze ohne technische Tricks sondern einfach nur ganz einfach.
Damit war der Rechner schon mal locker im Internet. Den einzigen Fehler,
den man bei einem Router machen kann, ist die Verwechselung der beiden Netzwerkkarten.
Wenn es nicht gleich funktioniert, einfach mal die andere Netzwerkkarte für
den Zugang testen. Wer mehr zur Konfiguration des Heimnetzwerkes wissen will,
kann ruhig nochmal in meiner SuSE 8.0 Anleitung
nachlesen. Was da steht, stimmt immer noch.
Im YaST Kontrollzentrum findet man bei System den Editor für
die Sysconfig-Dateien. Nach dem Start wählt man Network/General/und
setzt dort einfach alles auf YES (bei IPv6 ist das vielleicht heute noch
nicht erforderlich ;-)
Was ich noch in der 8.0er Fassung zur Sicherheit des InetD gesagt habe ..
naja .. es war dort auch kaum erforderlich, da ja die Iptables Regeln auch
die dort bereitgestellten Dienste nach aussen sperren. Also lassen wir das
einfach mal weg.
Im Grunde ließ sich mit YaST alles machen. Und es funktionierte einfach
so. Das Routing selbst habe ich dann genauso wie in der 8.0er Fassung mit
Iptables gemacht, wie auch das Runtersetzen der MTU. Und das Absperren des
Rechners :) Deswegen werde ich das gleich noch einmal hier wiederholen (um
genauer zu sein, per Copy-Paste einfügen:)
Auf mein kleines Problem möchte ich noch einmal zurückkommen. Der
Router lief nicht gleich. Der Nameserver war schon fertig und der Nameserver
lieferte auch schon IP's zu den Namen zurück. Aber weder eMail-Programme
noch Browser aus dem internen Netz bekamen Antworten. Dazu muß ich
sagen, daß ich den Rechner bis jetzt nicht neu booten musste oder wollte.
Folgendes half:
>echo "1" > /proc/sys/net/ipv4/ip_forward
Tja, ein alt bekanntes Kommando aus SuSE 6.4 Tagen. Obwohl im Sysconfig-Editor
der Wert ja entsprechend besetzt wurde, scheint dieser im laufenden Betrieb
nicht gesetzt zu werden. Ich hab es zwar noch nicht ausprobiert, aber ich
nehme fast an, rebooten hätte den Router auch funktionsfähig gemacht
:)) Also diese Zeile braucht man auf jeden Fall, wenn man noch nicht rebootet
hat oder nicht rebooten will. Sollte jemand feststellen, daß sie auch
nach einem Reboot benötigt wird, dann einfach ins untenstehende Script
mit reinhauen :)
Bevor ich jetzt also noch mal die Sache mit den erforderlichen Iptables-Anweisungen
wiederhole und wie man das Bootfähig macht, verabschied ich mich hiermit.
Und bei der Gelegenheit merk ich mal an, daß es vielleicht nicht die
letzte T-DSL Seite hier war :) Nur die mit SuSE :)). Vielleicht liest man
hier demnächst mal, wie das mit Linux From Scratch geht, oder mit Debian
:)
Viel Spaß noch,
- Frankie
1. Masquerading - Router Funktionalität herstellen
Jetzt schlägt die Stunde für das Einschalten der Masquerading Funktionalität,
die Modifikation der MTU und einer ersten einfachen Sicherheitsschranke.
Dies wird alles mit iptables, der Firewalling Funktionalität
des Kernels erledigt.
Zunächst muss das Masquerading eingeschaltet werden. Dies geschieht mit
den beiden folgenden Kommandos:
>modprobe iptable_nat
>iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Nun funktioniert tatsächlich das Routing bereits und
unser Rechner kann unser Netzwerk komplett ins Internet bringen. Leider funktionieren
noch nicht alle Dinge. Ich habe zB. Probleme mit dem IRC, mit meinen Webseiten
zum Onlinebanking und dem Download von JDK's bei sun.com. Hier gibt es Probleme
mit der MTU. SuSE rät dazu entsprechend die Dateien unter '/etc/sysconfig/network/ifcfg-*'
zu modifizieren (Version 8.0, Anmerkung des Autors *g*). Da aber keine
derartige Konfigurationsdatei für die Schnittstelle ppp0vorhanden
ist, über die ja unsere Verbindung läuft, bringt das keinen Erfolg.
Aber wiederum bietet uns iptables hier die Möglichkeit das
gewünschte Ziel zu erreichen. Um die MTU (die standardmässig auf
1500 oder 1492) eingestellt ist, auf den für das Routing erforderlichen
Wert von 1452 zu bringen (durch Routing Informationen und PPPoE Protokollinformationen
entsteht ein entsprechender Overhead an Daten, der so kompensiert werden
muß), wird folgendes Kommando verwendet:
>iptables -I FORWARD -p tcp --tcp-flags SYN,RST
SYN -j TCPMSS --clamp-mss-to-pmtu
Nun funktioniert der Rechner zu hundert Prozent als Router.
Die gezeigten Zeilen packen wir im nächsten Abschnitt in ein kleines
Script.
2. Sicherheit
Es sind eine Menge Ports auf so einem frisch installierten Rechner offen.
Um sie von außen nicht angreifbar zu machen, werden wir zwei kleine
Firewallregeln aufstellen, die Verbindungen, die aus dem Internet kommen
abblocken. Dies tun wir mit den folgenden Zeilen:
>iptables -A INPUT -i ppp0 -m state --state NEW,INVALID
-j DROP
>iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID
-j DROP
Damit ist ein einfacher Linuxrouter nun erfolgreich eingerichtet.
Da diese Anweisungen nach jedem Reboot neu eingegeben werden müssen
machen wir uns ein kleines DSL-Script zB. bei mir im Verzeichnis '/root/skripte'
namens dslan:
#!/bin/sh
# Das Modul für Network Adresstranslation (NAT) bzw.
Masquerading laden und die
# Masquerading Funktionalität einschalten.
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# Die MTU entsprechend auf 1452 einstellen (pmtu)
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j
TCPMSS --clamp-mss-to-pmtu
# Einfache Firewallregeln zur Blockade eingehender
Verbindungen
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID
-j DROP
iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID
-j DROP
Mit diesem Script kann DSL nach jedem Reboot gleich "Router-Fähig"
gemacht werden. Mit
>chmod u+x dslan
können Sie das Script startfähig machen, wenn Sie
es alsroot verfasst haben, und gerade in dem Verzeichnis stehen.
3. Bootfähig machen
Es wäre jetzt natürlich schön, wenn dieses Script nach jedem
Reboot automatisch aufgerufen werden würde. Da DSL vom pppd (PPP-Daemon)
über den smpppd (SuSE Meta PPP Daemon) gestartet wird, habe ich mir
gedacht, daß ich das Script einfach in dem init-Script für den
SMPPPD mitaufrufe. So muss ich nicht selbst ein derartiges init-Script schreiben.
Das init-Script findet sich unter '/etc/init.d/smpppd'. Mit einem
Editor wiejoe kann man es ändern. Man findet dort deutlich
sichtbar einenstart) Abschnitt. Dort trägt man den Aufruf ein,
so daß der Startabschnitt schließlich so ähnlich aussieht:
start)
echo -n "Starting
SMPPPD"
## Start daemon
with startproc(8). If this fails
## the echo return
value is set appropriate.
# NOTE: startproc
return 0, even if service is
# already running
to match LSB spec.
startproc $SMPPPD_BIN
# Remember
status and be verbose
rc_status -v
# MTU ändern,
Masquerading einschalten und einfache Firewallregel aufsetzen:
/root/skripte/dslan
;;
So, die Probe auf Exempel zeigt, daß die komplette Funktionalität
nun nach jedem Reboot zur Verfügung steht. Dabei spielt es auch keine
Rolle ob man in den Runlevel 3 oder 5 bootet :)
4.
Links (für SuSE 8.0)
|
- ADSL4linux |
Hier wird beschrieben, wie man DSL unter SuSE 8.0 manuell
(zB unter Verwendung von ifconfig etc.) aufsetzt. Ausserdem finden sich Installationshinweise
und Anleitungen zu allen SuSE Versionen sowie anderen Distributionen. |
|
- SuSE SDB |
Hier findet sich der Patch, um einen Fehler in der
Netzwerkdevice Initialisierung zu korrigieren. |
|
- SuSE SDB 2
und SDB 3 |
Hier finden sich Hinweise und Erklärungen zur
MTU und zu ECN Fehlern mit TDSL |
|
- IP
Tables |
Hier finden Sie die Grundlagen zu Masquerading mit
IP Tables auf deutsch. |
|
- IP
Tables 2 |
Hier finden Sie Hinweise wie Sie die Firewall weiter
ausbauen können (deutsch). |
|
- IP Tables 3 |
Homepage von IP Tables. Für alle weiteren Fragen
zu Firewalls starten Sie hier. |
5. Hinweise
Sollte etwas bei Ihnen nicht funktionieren, so finden Sie hier noch einige
Informationen zu Randbedingungen die Ihnen vielleicht helfen evtl. auftretende
Probleme zu lösen.
- Verwendete Hardware:
Ich habe einen neuen Router. Es handelt sich um ein Shuttle Spacewalker SV
24 Barebonesystem (das ist einfach ein sehr kleiner PC). Für diesen habe
ich eine VIA C3 533 Mhz CPU beschafft, die ich demnächst noch passiv
kühlen möchte. Im einzigen PCI Slot hängt eine Realtek 8029
Netzwerkkarte. Ansonsten verwende ich nur die Onboardkomponenten und eine
20 GB HD sowie 128 MB SD RAM. Es funktionierte auf Anhieb perfekt, so wie
hier beschrieben.(Mit SuSE 8.2 habe ich jetzt eine 120GB Platte, deswegen
musste ich ja neu installieren :)
- Fehlersuche:
Sollte irgendetwas nicht gewünscht funktionieren, lohnt sich immer ein
Blick in /var/log/messages. Vielleicht können Sie anhand der
dort auftauchenden Fehlermeldungen schon feststellen ob vielleicht nur ein
Paket fehlt welches installiert werden sollte etc. Im übrigen schadet
es auch nicht, während des ganzen Konfigurationsvorganges eine Konsole
aufzuhaben in der sie mit tail -f /var/log/messagesdiese Datei die
ganze Zeit über im Auge behalten.
- Vorbehalte (8.0):
Ich stehe nicht wirklich auf YaST2 und diese nicht-transparenten Konfigurationswerkzeuge.
Aber YaST 1 steht unter SuSE 8.0 nun nicht mehr zur Verfügung, die Konfigurationsdateien
haben sich ziemlich verändert und daher war die Verwendung von YaST2
zunächst kaum zu umgehen. Es gibt natürlich den o.g. Weg alles
komplett händisch aufzusetzen. Das ist aber zunächst einmal mehr
Arbeit, und ausserdem vertraue ich den SuSE Systemen auch nicht ganz, ob
selbst gezogene und kompilierte _Systemprogramme_ sofort unproblematisch
laufen, oder ob es unerwünschte Seiteneffekte gibt. Die hier gezeigte
Lösung funktionierte jedenfalls relativ unproblematisch (bis auf das
Problem der vertauschten Schnittstelleninitialisierungen eth0/1und
dsl0) und vor allem schnell.
zurück
zur Linux Übersicht |