Debian Router Installation – Teil 1

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.

This Post Has 4 Comments

  1. Hallo, 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

    1. Hi,

      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

  2. Sali,

    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

    1. Hallo,

      vielen Dank für den Hinweis.
      Wurde korrigiert.

      Gruß

      Sebastian

Schreibe einen Kommentar

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.