bugat.at

Achtung! Die Howtos stammen aus der Zeit vor 2006 und sind nur noch aus historischen Gründen online!

ADSL Zugang unter FreeBSD mit mpd konfigurieren

Ich möchte ganz kurz und schmerzlos die Konfiguration eines ADSL Zugangs unter FreeBSD mit Hilfe des mpd, dem "netgraph multi-link PPP daemon", erläutern. Mpd verwendet das Netgraph Subsystem des FreeBSD-Kernel zur eigentlichen Kommunikation, wobei die PPP Implementation in einem User-Prozess erfolgt. Somit werden Geschwindigkeit und Robustheit der Kernel-Implementation von Netgraph mit der Flexibilität der User-Implementation von PPP in mpd kombiniert.

Anmerkung: Leider gibt es Probleme mit mpd und dem Alcatel 1000 ADSL Modem (ISDN und ADSL). Mpd funktioniert aber einwandfrei mit den Alcatel Modems für Analog und ADSL. Es handelt sich scheinbar um einen Bug in der Firmware des Alcatel 1000 ADSL Modems.

Mpd kann ohne weiters auch für normale PPP Verbindungen mit einem Modem verwendet werden, ich werde mich hier aber auf die Verwendung für einen ADSL Zugang mit PPTP (Point to Point Tunneling Protocol von Microsoft) konzentrieren.

Installation von Netgraph

Netgraph kann entweder vom Kernel dynamisch aus /modules/netgraph.ko geladen werden, oder wem es lieber ist, beim Kompilieren statisch in den Kernel gelinkt werden. Beim Komipilieren ist darauf zu achten, dass die entsprechenden Optionen für Netgraph in der Kernelkonfiguration stehen:

Bei einer Standardinstallation kann man ohne weiteres Netgraph automatisch laden lassen, was für einen FreeBSD-Neuling wesentlich einfacher (Plug and Play) ist, da er keinen neuen Kernel übersetzen muss.

Installation von mpd

Entweder durch Download des mpd-netgraph-Packages von einem FreeBSD FTP Server und pkg_add oder durch Übersetzen des Ports unter /usr/ports/net/mpd-netgraph. Beim Übersetzen des Ports ist als Benutzer root wie folgt vorzugehen:

Und schon ist mpd übersetzt und installiert.

Konfiguration von mpd

Als erstes konfigurieren wir die Datei /usr/local/etc/mpd/mpd.conf:

Die beiden Adressen 192.168.1.1 und 192.168.2.2 sind willkürlich gewählt und werden vom PPP als Platzhalter für die tatsächlichen IP-Adressen verwendet. Eventuell sollten diese beiden Adressen in keinem lokalen Netzwerk vorkommen.

Als nächstes folgt die Datei /usr/local/etc/mpd/mpd.links:

Die Adresse 10.0.0.1 ist die Adresse des Computers der mit ADSL mit dem Internet verbunden werden soll, 10.0.0.138 ist die IP-Adresse der ADSL-Modems der Telekom Austria. 10.0.0.138 ist fix vergeben und kann nicht geändert werden.

Der erste Test

Start des mpd erfolgt als Benutzer root aus der Shell mit:

Auf diese Art wird mpd im Vordergrund gestartet und man erhält einige Logging-Informationen. Um mpd im Hintergrund zu starten gibt man folgendes Kommando ein:

Wenn alles geklappt hat, sollte man folgende ähnliche Ausgabe bei netstat -in erhalten:

Wesentlich ist die Zeile mit ng0. Ng0 ist das Netgraph Interface, an der IP-Adresse erkennen wir, das die Verbindung aufgebaut werden konnte. Es sollte ausserdem einen Eintrag für den Default-Router geben:

Wir erkennen einen Eintrag fuer default auf 195.58.161.6 bzw. für 195.58.161.6 auf Gateway 213.229.7.154 (ng0). Die IP-Adressen sind natürlich von Provider zu Provider und Computer zu Computer unterschiedlich

DNS Konfiguration

Wenn nun auch der Resolver für DNS korrekt konfiguritert ist, siehe /etc/resolv.conf:

sollte nun einem nslookup www.yahoo.com oder einem ping www.yahoo.com nichts mehr im Wege stehen:

Mpd automatisch beim Hochfahren starten

Entweder man erzeugt ein Startscript in /usr/local/etc/rc.d oder man erzeugt einen Eintrag in der Datei rc.local:

Copyright ©2000 Michael Ranner mranner@bugat.at
BSD Usergroup Austria