Im ersten Schritt (nach der Debian Grundinstallation) soll die DSL Einwahl sowie die Gateway Konfiguration vorgenommen werden.
In diesem Beispiel ist das DSL-Modem an eth0 angeschlossen. An eth1 und eth2 befindet sich das interne Netzwerk.
Zuerst benötigt man die zur DSL Verbindung notwendigen Pakete sowie den DNS Server bind9:
aptitude install bind9 ppp pppoe
Als nächstes müssen die DSL Zugangsdaten in die Datei „/etc/ppp/pap-secrets“ eingetragen werden. Im Falle von T-Online sieht dies ca. so aus:
"11111111111111111111111100001@t-online-com.de" * "DSL_PASSWORD"
Die Nummer setzt sich zusammen aus „T-Online-Nummer“ „Anschlusskennung“ „00001“ jeweils ohne Leerzeichen hintereinander geschrieben. Bei einem anderen Provider müssen die Zugangsdaten entsprechend angepasst werden.
Der Benutzer muss nun auch in die Datei „/etc/ppp/peers/dsl-provider“ eingetragen werden:
user "11111111111111111111111100001@t-online-com.de"
Anschließend muss noch der Eintrag:
net.ipv4.ip_forward = 1
in der Datei „/etc/sysctl.conf“ eingefügt bzw. auskommentiert werden. Damit wird die Weiterleitung von IP Paketen ermöglicht.
Mit dem Befehl
sysctl -p
werden die Einstellungen übernommen.
Für die automatische Einwahl, wird die ppp Verbindung zur Netzwerkinterfacekonfiguration „/etc/network/interfaces“ hinzugefügt:
# DSL Network Interface auto t-online iface t-online inet ppp provider dsl-provider
Zusätzlich sind in dieser Datei noch die beiden folgenden Einträge erforderlich:
pre-up iptables-restore < /etc/iptables.up.rules pre-down iptables-save > /etc/iptables.up.rules
Diese sorgen dafür das die IPTables gespeichert werden und beim Wiederherstellen der Netzwerkverbindungen neu geladen werden.
Nun kann man einige Basic IP-Tables einspielen. Die folgenden Befehle legen diese an und stellen damit die Grundlegende Routerfunktionalität bereit.
Desweiteren stellen sie bereits eine einfache Firewall dar. Diese sollte natürlich noch erweitert werden.
# Eingangseinstellungen iptables -A INPUT -p ALL -i lo0 -j ACCEPT iptables -A INPUT -p ALL -i eth0 -j ACCEPT iptables -A INPUT -p ALL -i eth1 -j ACCEPT iptables -A INPUT -p ALL -i eth2 -j ACCEPT iptables -A INPUT -p ALL -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT # Ausgangseinstellungen iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP iptables -A OUTPUT -p ALL -o lo -j ACCEPT iptables -A OUTPUT -p ALL -o eth0 -j ACCEPT iptables -A OUTPUT -p ALL -o eth1 -j ACCEPT iptables -A OUTPUT -p ALL -o eth2 -j ACCEPT iptables -A OUTPUT -p ALL -o ppp0 -j ACCEPT # Routing iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Standardverhalten iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD ACCEPT
Als nächstes kann man nun eine DSL-Verbindung aufbauen:
pppd call dsl-provider
Bei einem Neustart des System oder durch das Neustarten des Linux Networkings „/etc/init.d/networking restart“ passiert dies automatisch.
Nun sollte eine ppp0 Verbindung hergestellt worden sein („ifconfig“) und die Routerkonfiguration ist damit abgeschlossen.
masterchief
6 Nov 2009Hallo, tolle Tutorials hast du da =)
Wie würde denn eine Konfiguration ohne DSL Einwahl funktionieren? Habe KabelDeutschland und da regelt das Modem das von alleine 😉
MfG
sebastian
6 Nov 2009Hi,
eigentlich ganz einfach, du lässt ppp und pppoe weg. Dann hast du natürlich kein ppp0 Device.
Wenn eth0 weiterhin dein lokales Netzwerkinterface bleibt, dann könnte bei dir zum Beispiel eth1 die Verbindung ins Internet über dein Kabelmodem sein. (Ganz normal mit dynamischer IP konfigurieren in /etc/network/interfaces.)
In den IPTables musst du nun alles was ich hier mit ppp0 gemacht habe mit eth1 machen. (Bitte die anderen eventuellen Regeln und Interfaces beachten).
Also kurz:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Das ganze musst du natürlich an deine Konfiguration entsprechend anpassen.
PS: Übrigens ist dieser Weg auch geeignet um zum Beispiel einen fertigen DSL-Router mit dem Linux Router zu verwenden.
Greez
Sebastian
lousek
3 Jan 2012Sali,
Du hast wohl noch ein kleiner Fehler drin:
pre-up iptables-restore /etc/iptables.up.rules
Fehlt da nicht noch ein s (oder es ein s ist zuviel)? 😉
Greetz,
lousek
sebastian
4 Jan 2012Hallo,
vielen Dank für den Hinweis.
Wurde korrigiert.
Gruß
Sebastian