blauzahn.net

wvdial und ifup zur Interneteinwahl nutzen

Im folgenden gehe ich davon aus, das wvdial fertig konfiguriert läuft. Nun soll aber als Modem ein Bluetooth Handy verwendet werden, das über die Schnittstelle /dev/rfcomm1 angesprochen wird. Der Provider (bzw. Dialer) hat den Namen blauzahn ([Dialer blauzahn]). In der Datei /etc/wvdial.conf können wir also die Modem-Zeile wie folgt abändern: Modem = /dev/rfcomm1

Die eigentliche Interneteinwahl soll mit dem Kommando ifup blauzahn erfolgen (das als root ausgeführt werden muß). Hierfür muß die Datei /etc/network/interfaces wie folgt ergänzt werden:

iface blauzahn inet wvdial
provider blauzahn
pre-up /sbin/route del default
pre-up /bin/rfcomm bind 1 00:01:C3:42:A8:AA
up echo 0 > /proc/sys/net/ipv4/ip_forward
post-down /sbin/route add default gw 192.168.42.42 dev eth0
post-down /bin/rfcomm release 1

iface blauzahn inet wvdial legt ein Interface mit dem Name blauzahn an, das für den Internetzugang ausgelegt ist und wvdial zur Interneteinwahl nutzt. provider blauzahn gibt an, welcher Dialer Eintrag aus der wvdial-Konfiguration gelesen werden soll. Das Kommando pre-up /sbin/route del default entfernt einen vorhandenen Default-Route Eintrag, bevor das Interface angelegt wird. Das ist nötig, damit die Option defaultroute, die in der Datei /etc/ppp/peers/wvdial eingetragen werden sollte, ihre Arbeit tun kann. Ohne Änderung der Default-Route hat man quasi keinen Zugriff auf die durch die Interneteinwahl hergestellte Verbindung, wenn man auf einer vorhandenen Netzwerkkarte schon eine Defaultroute hat.
pre-up /bin/rfcomm bind 1 00:01:C3:42:A8:AA bindet das Bluetooth-Gerät mit der Geräte-Adresse 00:01:C3:42:A8:AA an das Device /dev/rfcomm1 (Hierzu und zu einer evtl. PIN-Abfrage siehe die Anleitung zu Debian). Für den Fall das der Rechner Routingfähigkeiten hat, schaltet up echo 0 > /proc/sys/net/ipv4/ip_forward das IP-Forwarding aus. Damit kann keiner aus dem LAN unsere Bluetooth Verbindung als Route ins Internet nutzen.
Da die Defaultroute beim Einrichten des Devices gelöscht wurde, müssen wir sie mit post-down /sbin/route add default gw 192.168.1.1 dev eth0 nach Ende der der Verbindung wiederherstellen. Das Defaultgateway ist in diesem Fall 192.168.1.1 und wird über die Netzwerkkarte eth0 erreicht. Abschließend gibt post-down /bin/rfcomm release 1 nach dem Ende der Verbindung auch das Device /dev/rfcomm1 wieder frei.

Das ganze habe ich unter einem Debian GNU/Linux 3.0 unstable getestet.