1.37. DSL konfigurieren (NetBSD)
Da es keine deutsche Übersetzung für die DSL-Konfiguration unter NetBSD gibt (zumindest fand ich keine), habe ich die Passage aus dem Handbuch übersetzt und erweitert. Ich hoffe, es hilft einigen NetBSD-Benutzern.
Zuerst bauen wir eine manuelle Testverbindung via DSL auf. Wenn ihr einen neuen
Kernel gebaut habt, überprüft, ob ihr auch die Option 'pseudo-device pppoe
‘
im Kernel habt. (Diese Option ist im Generic-Kernel). Überprüfen könnt ihr es
ganz schnell mit folgendem Kommando:
# ifconfig -C
tun pppoe
Wenn ihr als aus Ausgabe 'tun pppoe
‘ bekommt, ist alles in Oordnung,
ansonsten heißt es, den Kernel nochmal kompilieren.
Fangen wir also mit der manuellen Testverbindung an (manuell deswegen, damit wir einen Fehler schneller ausmerzen können, bei einer automatischen Einwahl ist die Fehlersuche etwas aufwendiger, deswegen dieser Weg).
Zuerst erstellen wir das pppoe0-Interface und weisen ihr eine Dummy-IP
zu, die später beim Verbindungsaufbau durch die zugewiesene ersetzt
wird. Die Befehle müßt ihr als root ausführen. Das Interface, das bei
mir zum DSL-Modem geht, heißt 'ne0
‘, das interne, das ins LAN geht,
ist 'rtk0
‘.
# ifconfig pppoe0 create
# ifconfig pppoe0 inet 0.0.0.0 0.0.0.1 down
Als nächtes wird dem pppoe0-Interface die NIC, die zum DSL-Modem geht, zugewiesen (hier ne0)
# ifconfig ne0 up
# pppoectl -e ne0 pppoe0
Nun geben wir unseren Loginnamen und das Passwort an (bei myauthname kommt der Login hin, bei t-online die T-Onlinenummer, bei myauthsecret das Passwort, der rest bleibt so wie er ist).
Syntax für myauthname bei T-Online:
anschlusskennung+t-online-nr+#0001@t-online.de
wenn die Anschlusskennung aus über 12 Zeichen besteht, entfällt die Raute.
# pppoectl pppoe0 myauthproto=pap 'myauthname=000123456789123456789123#0001@t-online.de'<br /> 'myauthsecret=01234567' hisauthproto=none
Jetzt setzen wir die Anzahl der Fehlerversuche auf eins (sonst versucht er ständig, sich einzuwählen mit eventuell falschen Login-Daten. Wenn er das sieben mal macht, wird euer Anschluss bis Mitternacht gesperrt)
# pppoectl pppoe0 max-auth-failure=1
Probieren wir jetzt den Verbindungsaufbau:
# ifconfig pppoe0 up
Falls ein Ping auf eine Webseite noch nicht geht, müßt ihr wohl noch die
'/etc/resolv.conf
‘ editieren und Nameserver eintragen, hier seht ihr
meine '/etc/resolv.conf
‘:
# cat /etc/resolv.conf
nameserver 194.152.64.35
nameserver 194.25.2.132
Wenn ihr nun noch folgende Ausgabe bekommt:
# pppoectl -d pppoe0
pppoe0: state = session
Session ID: 0x91a
PADI retries: 0
PADR retries: 0
das heißt, 'state = session
‘, dann habt ihr eine Verbindung via DSL
mit eurer NetBSD-Kiste, was ihr nun auch mit ifconfig sehen solltet:
# ifconfig -a
rtk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: 00:50:fc:ca:da:df
media: Ethernet none (none)
inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
ne0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: 00:40:95:45:4a:a2
media: Ethernet manual
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33220
inet 127.0.0.1 netmask 0xff000000
pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1492
inet 217.230.135.213 -> 217.5.98.56 netmask 0xff000000
Wenn ein Ping funktioniert, und ihr keine Webseiten erreichen könnt,
habt ihr ein DNS-Problem, das heißt, ihr habt vergessen, einen
Nameserver in der '/etc/resolv.conf
‘ einzutragen; wenn ein Ping
nicht geht (no route to host), aber ihr trotzdem eine IP zugewiesen
bekommt und '"state = session"
‘ erscheint, habt ihr ein
Routing-Problem; Per '"netstat -r"
‘ oder '"route show"
‘ seht ihr
eure Default-Route bzw. Gateways. Der Default-Gateway muß auf die
interne IP zeigen, in diesem Fall 217.230.135.213); (bei der
DSL-Verbindung werden zwei IPs angzeigt, eine lokale und eine von der
Gegenstelle, da DSL eine Punkt-zu-Punkt-Verbindung ist. Hier in meinem
Fall ist meine IP, unter der ich auch erreichbar bin, die
217.230.135.213).
Mit 'route show
‘ seht ihr eure IP:
# route show
Routing tables
Internet:
Destination Gateway Flags
default 217.230.135.213 UG
loopback 127.0.0.1 UGR
localhost 127.0.0.1 UH
192.168.1.0 link#1 U
192.168.1.5 00:10:5a:d8:39:ee UH
217.5.98.56 217.230.135.213 UH
und bei 'netstat -r
‘ den DNS-Namen (hier pD9E687D5.dip.t-di…)
# netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default pD9E687D5.dip.t-di UGS 0 34 - pppoe0
loopback localhost UGRS 0 0 33220 lo0
localhost localhost UH 1 0 33220 lo0
192.168.1 link#1 UC 1 0 - rtk0
192.168.1.5 00:10:5a:d8:39:ee UHLc 1 1302 - rtk0
217.5.98.56 pD9E687D5.dip.t-di UH 0 0 - pppoe0 <br />
AppleTalk:
Destination Gateway Flags Refs Use Mtu Interface
So sollte es aussehen. Ich nehme an, das sind die häufigsten Fehler, die auftauchen, neben dem vertippen. ;-)
Nachdem die manuelle Verbindung nun hoffentlich funktioniert, sollten
wir eine automatische Verbindung erstellen lassen, da wir uns ansonsten
jeden Tag neu einwählen müßten. Dieses Skript wird immer, wenn der
Server hochfährt, bzw. wenn die Verbindung gekappt wird, den Server neu
einwählen. Zuerst erstellen wir die '/etc/ifconfig.pppoe0
‘ Sie
sollte so aussehen:
# cat /etc/ifconfig.pppoe0
create
# Mark the physical interface used by this PPPoE interface up
! /sbin/ifconfig ne0 up
# Let $int use ne0 as its Ethernet interface
! /sbin/pppoectl -e ne0 $int
# Configure authentication
! /sbin/pppoectl $int myauthproto=pap 'myauthname=000123456789320012345678#0001@t-online.de' 'myauthsecret=01234567' hisauthproto=none
# Configure the PPPoE interface itself. These addresses are magic
# meaning we don't care about either address and let the remote
# ppp choose them.
0.0.0.0 0.0.0.1 up
Dann noch ein
# chmod 700 ifconfig.pppoe0
Nun erstellen wir das PPP-Verzeichnis in '/etc/
‘:
# mkdir /etc/ppp
Die beiden Skripte 'ip-up
‘ und 'ip-down
‘ kommen in das
'/etc/ppp/
‘-Verzeichnis:
# cat /etc/ppp/ip-up
#! /bin/sh
/sbin/route add default $5
Mit dem ip-up wird beim Aufbauen der Verbindung die Default-Route auf die interne IP der DSL-Verbindung gesetzt, dies muß jedesmal gemacht werden, da bei jedem neuen Verbindungsaufbau eine neue IP zugewiesen wird;
# cat /etc/ppp/ip-down
#! /bin/sh
/sbin/route delete default $5
Hier wird die Route beim Verbindungsabbau wieder gelöscht;
Jetzt muß sie nur noch für root ausführbar gemacht werden:
# chmod 700 ip-down ip-up
Am Ende noch ein 'ifwatchd=YES
‘ in die '/etc/rc.conf
‘ einfügen
und fertig. Jetzt sollte sich der Server nach einem Reboot oder beim
Verbindungsabbau wieder einwählen; ifwatchd ist im übrigen dafür
zuständig, daß die ip-up und -down-Skripte ausgeführt werden.
Nun solltet ihr ohne Probleme mit dem Router Online gehen können, einwaehlen sollte er sich automatisch; als nächstes konfigurieren wir NAT, damit auch alle Rechner hinter dem Router Online gehen können.
Zuerst setzen wir in der '/etc/sysctl.conf
‘ folgenden Wert ein:
# Obey interface MTUs when calculating MSS
net.inet.tcp.mss_ifmtu = 1
net.inet.ip.forwarding = 1
und passen danach noch die '/etc/ipnat.conf
‘ an bzw. erstellen sie
mit folgenden Werten:
map pppoe0 192.168.1.0/24 -> 0/32 portmap tcp/udp 44000:49999 mssclamp 1440
map pppoe0 192.168.1.0/24 -> 0/32 mssclamp 1440
Meine IP-Range daheim ist 192.168.1.0, mit der Netmask 255.255.255.0 bzw. /24, diese Werte müßt ihr natürlich an eure anpassen.
Nun erstellen wir noch die '/etc/ipf.conf
‘ und zum testen lassen wir
alle Pakete durch den Paketfilter passieren:
pass in from any to any
pass out from any to any
In die '/etc/rc.conf
‘ müßt ihr noch folgendes eintragen, damit die
Firewall und NAT immer gestartet werden:
ipfilter=YES
ipnat=YES
Nach einem Neustart oder einem '/etc/rc.d/ipfilter restart
‘ und
'/etc/rc.d/ipnat restart
‘, sollten die Clients Online gehen können.
Ihr müßt natürlich noch den Paketfilter anpassen, sonst ist euer Router
nach außen offen wie ein Scheunentor.
1.37.1. Dial on Demand
Zwar findet man in der PPPoE Dokumentation von NetBSD die Angabe, daß für PPPoE ein Dial on Demand möglich ist, allerdings scheint es nicht ohne weiteres möglich zu sein, dieses umzusetzen. Vergleiche hierzu den [http://www.bsdforen.de/showthread.php?p=66477 Thread in BSDForen.de]. <br />Stand dieser Information: Januar 2005
1.37.2. Weblinks
http://www.netbsd.org/Documentation/network/pppoe - PPPoE-Dokumentation von NetBSD
Zuletzt geändert: 2023-07-22