Blog

Cisco Expressway Edge mit dynamischer IP

Leider kann der Cisco Expressway die IP-Addressen eines dynamischen DNS-Service nicht auswerten, er erwartet in der Konfiguration eine fest eingetragene statische NAT IP Adresse. mit dem folgenden Script kann man mit Hilfe eines beliebigen Linux-Servers den Expressway bei einer Änderung der externen IP Adresse umkonfigurieren.

Voraussetzung:

dynamisches DNS mit einem CNAME auf _collab.edge._tcp.domain.de

Irgendein Linux-Server (ich habe einen Raspberry Pi verwendet)

Zunächst muss man ein Script namens trigger_i_change.sh erstellen, das die Änderung der IP-Adresse bemerken kann und ein expect-script aufruft:

!/bin/bash

IPFILE=~/ipaddress
CURRENT_IP=$(wget -q -O – checkip.dyndns.org|sed -e ’s/.Current IP Address: //‘ -e ’s/<.$//‘)
if [ -f $IPFILE ]; then
KNOWN_IP=$(cat $IPFILE)
else
KNOWN_IP=
fi

if [ „$CURRENT_IP“ != „$KNOWN_IP“ ]; then
echo $CURRENT_IP >$IPFILE | ./change_expressway_static_nat.sh $CURRENT_IP
fi

Das expect-script change_expressway_static_nat.sh sieht so aus:

!/usr/bin/expect -f

set timeout 20
set IP [lindex $argv 0]
spawn ssh admin@192.168.2.100
expect „Password: „
send „GeH3im\r“
expect „OK“
send „xconfiguration Ethernet 2 IP V4 StaticNAT Address: \“$IP\“\r“
expect „OK“
send „xcommand restart\r“
expect „OK“

Beide Scripte müssen jetzt noch mit chmod +x ausführbar gemacht werden.

Als letztes muss das script noch in die crontab eingetragen werden:

crontab -e

*/5 * * * * /root/trigger_ip_change.sh

Damit wird das Script alle fünf Minuten aufgerufen. Wenn es feststellt, dass sich die externe IP-Adresse geändert hat, ruft es das expect-script auf, das seinerseits die NAT-Adresse des Expressway-E ändert und diesen neu startet.

Man kann das Expect-Script direkt über einen DYNDNS-Client aufrufen, wenn man über diesen ohnehin den Eintrag bei Änderung der IP-Adresse anpasst, in meinem Fall läuft DYNDNS allerdings auf einem Router.

Ist durch die IT die Welt einfacher oder komplexer geworden?

Diese Frage ist nicht so einfach zu beantworten. Auch wenn moderne Systeme (z.B. Smartphones oder Tablets) dem Anwender suggerieren, dass die IT im Vergleich mit früher viel einfacher geworden ist, besteht für diejenigen, die in der IT arbeiten die Herausforderung darin, die Komplexität  vor dem Anwender zu verbergen. Das Ziel sollte dabei sein, die Technologien so einzusetzen, dass die Prozesse in Unternehmen optimal unterstützt werden und vor allem neu eingeführte Technologien den Anwender soweit wie möglich unterstützen.