iPhone Tethering am Raspberry Pi

closeDieser Beitrag gehört zu der Artikelserie Hacking in a Box

Ich hab es in meinem vorigen Artikel bereits angekündigt, für mein „Hacking in a Box“-Raspberry Pi, welcher bisher nur über WLAN -> LAN Internet hatte, wollte ich wegkommen vom LAN-Anschluss und stattdessen mein iPhone verwenden, da dies ein klein wenig mobiler ist, als ein Router mit Modem…
Das Tethering habe ich als echte Knacknuss erwartet, doch am Schluss ging alles ganz schnell. Als ich das iPhone das erste mal angesteckt hatte, kamen bereits die passenden Einträge:

[  995.268574] ipheth 1-1.2:4.2: Apple iPhone USB Ethernet device attached

Und es tauchte auch sogleich ein Interface eth1 auf, soweit so gut. Doch das Interface wollte einfach keine IP beziehen, trotz meiner Anpassung in der Datei /etc/network/interfaces:

allow-hotplug eth1
iface eth1 inet dhcp

Um es kurz zu machen, das Tethering funktioniert tadellos, sobald das iPhone gemountet wird. Damit das aber klappt, müssen zuerst noch ein paar Zusatzpakete dazu:

sudo apt-get install libimobiledevice-utils gvfs-backends gvfs-bin gvfs-fuse gvfs ipheth-utils ifuse

Wenn die drauf sind, kann das iPhone gemountet werden:

mkdir /media/iPhone
ifuse /media/iPhone

Sobald der letzte Befehl ausgeführt wurde, kann das Interface hochgebracht werden und bekommt auch eine IP:

ifup eth1

Nun wollen wir das ganze noch automatisieren. Dazu machen wir eine Datei /lib/udev/iphoneconnect:

#!/bin/bash
umount /media/iPhone
ifuse /media/iPhone
ipheth_pair

Und machen die Datei noch ausführbar:

chmod 755 iphoneconnect

Damit nun alles automatisch geladen wird, ergänzen wir in der Datei /lib/udev/rules.d/90-iphone-tether.rules den Eintrag RUN+=“ipheth_pair“:

# udev rules for setting correct configuration and pairing on tethered iPhones
ATTR{idVendor}!="05ac", GOTO="ipheth_rules_end"

# Execute pairing program when appropriate
ACTION=="add", SUBSYSTEM=="net", ENV{ID_USB_DRIVER}=="ipheth", SYMLINK+="iphone", RUN+="iphoneconnect"

LABEL="ipheth_rules_end"

Somit ist nun nach einem Reboot immer noch alles verfügbar.
Doch damit hat man noch kein Internet. Dazu muss zuerst noch die iptables ergänzt werden:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT

Und dann wieder alles sichern:

sh -c "iptables-save > /etc/iptables.ipv4.nat"

Reboot und gut ist!

4 Kommentare bei „iPhone Tethering am Raspberry Pi

  1. Interessant wäre noch: Welche WLAN-Antenne hast du? Wie schätzt du den Senderadius des WLAN-Moduls ein gegenüber einem normalen Access-Point der Marke XY? Bei dir nicht wirklich relevant wenn du das Ding als Honeypot benutzen möchtest, aber wie kann ich WPA2 einrichten? Ich möchte eben meinen alten Access-Point ablösen, der mehr schlecht als recht funktioniert.

    1. Einen Hinweis auf den verwendeten Wifi-Dongle findest du im ersten Artikel der Serie. Genau ist es ein ZyXEL NWD-2205. Den Senderadius kann ich nicht wirklich einschätzen, bisher habe ich immer direkt neben dem Pi gesessen, aber du solltest bei dem Dongle sicherlich nicht vergessen, dass er eigentlich nicht als Sendemast gedacht ist. Für einen Access-Point würd ich eher auf einen etwas grösseren Dongle wechseln (z.B. sowas http://img.alibaba.com/img/pb/688/560/535/535560688_573.jpg oder http://www.adafruit.com/images/medium/1030_MED.jpg).

      Für WPA2 passt du einfach die Konfiguration von hostapd an in etwas wie das folgende:

      interface=wlan0
      driver=rtl871xdrv
      ssid=Internet
      hw_mode=g
      channel=6
      macaddr_acl=0
      auth_algs=1
      ignore_broadcast_ssid=0
      wpa=2
      wpa_passphrase=Raspberry
      wpa_key_mgmt=WPA-PSK
      wpa_pairwise=TKIP
      rsn_pairwise=CCMP

      In deinem Fall würde ich aber eher auf einen Alix mit ipfire zurückgreifen (http://pcengines.ch/alix.htm).

      1. Besten Dank für deine Antwort! Das Raspberry-Pi steht bei mir eben schon rum ohne Verwendungszweck und mein WLAN streikt, als ich da noch ein Blog-Eintrag sah, dachte ich, dass dies die perfekte Kombination ist. Nur eine WLAN-Antenne fehlt mir noch, da schau ich mir jetzt mal die Riesenantennen-Dinger an 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.