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.

Schreiben Sie einen Kommentar