Don't understand german? Read or subscribe to my english-only feed.

VPN über Bluetooth mit Linux

Verrückte Idee des Tages beim grml-Develmeeting: machen wir VPN über Bluetooth. Gegeben: 2 Laptops mit grml, 1 Nokia 770 mit Linux 2.6.12.3-omap1. Ein Laptop spielt Gateway, der andere Laptop und das Nokia-Teil wollen über das Gateway ins Netz…

Am Laptop, der den Server/Gateway spielt:

root@grml ~ # Start bluez-utils       # macht ein '/etc/init.d/bluez-utils start'
root@grml ~ # pand -s -r NAP
root@grml ~ # echo 1 > /proc/sys/net/ipv4/ip_forward
root@grml ~ # iptables -t nat -A postrouting -o atheros0 -j masquerading
(... dann warten bis der Client verbunden ist - kontrollieren via 'pand -l')
root@grml ~ # ifconfig bnep0 192.168.20.1
root@grml ~ # grml-vpn -k 2005 add 1000 192.168.20.1 192.168.20.2

Zugangskontrolle kann man dann noch via /etc/bluetooth/hcid.conf machen. Und am Laptop, der nur Client ist, macht man Folgendes:

root@grml ~ # Start bluez-utils # macht ein '/etc/init.d/bluez-utils start'
root@grml ~ # pand -Q 10
root@grml ~ # ifconfig bnep0 192.168.20.2
root@grml ~ # grml-vpn -k 2005 add 1000 192.168.20.1 192.168.20.2

Das war’s auch schon. Wenn man jetzt am Client das Gateway pingt:

root@grml ~ # ping 192.168.20.1
PING 192.168.20.1 (192.168.20.1) 56(84) bytes of data.
64 bytes from 192.168.20.1: icmp_seq=1 ttl=64 time=26.6 ms
64 bytes from 192.168.20.1: icmp_seq=2 ttl=64 time=20.0 ms
[...]

… sieht man am Gateway mit tcpdump, dass die Daten schon verschlüsselt laufen:

tcpdump: listening on bnep0, link-type EN10MB (Ethernet), capture size 96 bytes
15:49:47.408101 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto: ESP (50), length: 124) 192.168.20.1 > 192.168.20.2: ESP(spi=0x000003e8,seq=0x32), length 104
15:49:47.455697 IP (tos 0x0, ttl  64, id 7662, offset 0, flags [none], proto: ESP (50), length: 124) 192.168.20.2 > 192.168.20.1: ESP(spi=0x000003e9,seq=0x37), length 104

Am Nokia 770 richtet man sich mit dem nap-Installer gemäß dem HOWTO-BluetoothNetworking im maemowiki das Bluetooth-Setup ein. JFTR: Mangels setkey aber ohne VPN Richtung Gateway. (Gebi hat dann auch noch schnell das nap-Paket angepasst.) Et voila:

grml-webpage am nokia 770

Der grml-Laptop kann jetzt also ohne großem Aufwand Internet-Gateway für bis zu 7 Clients spielen. :-)

2 Responses to “VPN über Bluetooth mit Linux”

  1. mp Says:

    Nette Spielerei für einen kalten Sonntagnachmittag :-)

  2. Fakler Says:

    Wenn ich richtig mitbekommen habe, kann ich mit meinem Nokia 6630, indem ich den PC als Gateway nehme (OK ist kein Linux OS !) mittels Bluetooth ins Internet … bin ich da richtig ? (Es geht mir nur um die Bestaetigung, weil klar formuliert habe ich es durch Googeln bisher nicht gefunden, und ich denke Du kennst Dich da aus …)