Patrick Hütter

Wie man bei Unitymedia automatisiert eine neue IP-Adresse bekommt

Wer bei Unitymedia oder bei einem anderen Kabelnetzbetreiber seinen Internet-Anschluss hat, kennt das Problem, dass man nicht wie bei normalen DSL-Anschlüssen via Router/Modem Reconnect eine neue IP-Adresse zugewiesen bekommt. Dies ist insofern dann unpraktisch, wenn man eine neue IP Adresse benötigt, um z.B. via JDownloader oder anderen Diensten etwas zu tun, was zwingend eine neue IP benötigt. Bei Unitymedia und anderen Kabelnetzbetreibern gibt es aber trotzdem einen Trick. Und zwar vergibt der DHCP-Server der Provider einem immer die selbe IP-Adresse, wenn man sich mit dem selben Gerät in deren Netz verbindet. Wenn man aber die Möglichkeit hat, die MAC-Adresse seines Routers (der am Unitymedia Modem: Motorola Surfboard hängt), zu ändern und daraufhin das Modem neustartet, bekommt man eine neue IP Adresse zugewiesen. Man gaukelt dem Kabelnetzbetreiber sozusagen ein neues oder anderes Gerät vor. Mit dem wissen habe ich zwei Skripte gebaut, die einen automatischen IP-Wechsel via DD-WRT Router und dem mitgelieferten Unitymedia Modem ermöglichen.

So bekommst du automatisiert eine neue IP-Adresse

Skript A platziert man auf seinem Rechner (bei mir mein Macbook mit OSX) und ruft es einfach auf, wenn man eine neue IP-Adresse benötigt. Man kann dieses Skript sicherlich auch bei JDownloader hinterlegen. Da ich selbst das Skript nicht für JDownloader benötige, gibt es dazu auch weiter keine Anleitung. Dieses Skript, startet zuerst das Motorola Surfboard Modem neu (da dies am längsten dauert – ca. 10 Sekunden) und ruft dann das Skript B auf dem DD-WRT Router auf, welches die MAC-Adresse ändert und die Einstellungen speichert.


#!/bin/bash

# restart Motorola Surfboard Modem

curl -G -d loginUsername=admin -d loginPassword=motorola -d LOGIN_BUTTON=Login http://192.168.100.1/loginData.htm
curl http://192.168.100.1/reset.htm?reset_modem=Restart+Cable+Modem
echo "Modem restarted"

# change router MAC (Buffalo WZR G300N with DD-WRT Firmware - works also with other dd-wrt devices)
ssh root@192.168.1.1 'sh /tmp/root/changeMac.sh'
echo "Router restarted"

Skript B platziert man auf seinem DD-WRT Router (DD-WRT ist eine verbesserte Linux Firmware, die man auf vielen Routern installieren kann). Ich habe es unter /tmp/root/changeMac.sh abgelegt. Dieses Skript generiert beim Aufruf eine neue MAC-Adresse und setzt diese auf dem Router für den WAN-Port.


#!/bin/ash

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/1/; s/([0-9a-f]{2})/1:/g; s/:$//;'`
echo "00:${MAC}"
ifconfig eth1 hw ether 00:${MAC}
nvram set def_hwaddr="00:${MAC}"
nvram set wan_hwaddr="00:${MAC}"
stopservice wan
startservice wan

In den Skripten selbst muss man natürlich noch Pfade, Zugangsdaten oder IP-Adressen der Geräte anpassen, damit alles funktioniert. Bei den meisten sollten die Einstellungen aber gleich sein.

Ansonsten muss auf dem DD-WRT Router zwingend der sshd / SSH-Server laufen. Wie man diesen aktiviert und sich via Public Key identifiziert, kann man hier nachlesen. Kurzer Tipp: Ihr könnt euren Public Key im DD-WRT Webinterface direkt in das passende Feld einfügen. Dann müsst ihr nicht auf der Konsole arbeiten.

So lange dauert ein IP-Wechsel

Ein IP-Wechsel dauert nun ca. 40 Sekunden und ist damit langsamer als ein IP-Wechsel bei einem DSL-Anschluss, aber das ist besser als gar keine Möglichkeit zum IP-Adresse wechseln zu haben. Wenn man sich noch ein anderes Kabelmodem besorgt, kann man vielleicht noch 10 Sekunden schneller sein und bei einem Router mit eingebautem Kabelmodem (z.B. Fritzbox) geht es vielleicht noch etwas schneller und ggf. einfacher.

Viel Spaß damit! 🙂

Die mobile Version verlassen