Kamerasteuerung mittels doppeltem NAT

Das Vorhaben und die Umsetzung

Moderne Videokameras besitzen oftmals einen eingebauten Access Point, mit dem man einen Laptop oder ein Smartdevice verbinden kann. So ist die Steuerung der Kamera per WLAN möglich. Leider können die Kameras in der Regel nicht als Client in ein bestehendes LAN integriert werden – die WLAN-Client-Funktion fehlt ihnen. Zumindest in Bezug auf die Steuerung der Kameras – als WLAN-Clients zur Verbindung mit einem LAN-seitigen FTP-Server können die Kameras nämlich sehr wohl als WLAN-Client fungieren. Weswegen die Betriebsmodi derart unterschiedlich implementiert wurden, wissen leider nur die Hersteller.

 

 

Mit einem kleinen Trick ist es aber dennoch möglich die Kamera per LAN zu steuern. Es muss dazu nur ein WLAN-Router dazwischen geschalten werden, auf dem man frei DNAT und SNAT konfigurieren kann und der selbst als WLAN-Client fungieren kann.

Hintergrundinfo: Der Kamera muss vorgegaukelt werden, die Verbindung käme direkt aus ihrem IP-Netz. Die Antwort muss dementsprechend auch an eine IP-Adresse in dieses Netz zurückgesendet werden.

Gehen wir von PC1 mit der IP 10.10.0.1/24 und einem WLAN-Router mit der IP 10.10.0.250/24 aus. Die Kamera ist werksseitig fest auf die IP 192.168.0.80/24 eingestellt und vergibt per DHCP IPs ab 192.168.0.81/24. Die DHCP-Leases enthalten ein Default Gateway, ob in der Kamera selbst das gleiche Gateway hinterlegt ist, bleibt offen. Wir gehen für den weiteren Verlauf davon aus, dass kein Default Gateway in der Kamera hinterlegt ist. Als Quellport wird 56789 angenommen, die Kamerasteuerung selbst kann nur auf Port 80 angesprochen werden.

Die Verbindung läuft folgendermaßen:

1. [PC1] 10.10.0.1:56789 -> 10.10.0.250:80 [Router]
   DNAT: 10.10.0.250:80 zu 192.168.0.80:80
   SNAT: 10.10.0.1:56789 zu 192.168.0.81:56789
2. [Router] 192.168.0.81:56789 -> 192.168.0.80:80 [Kamera]

Die Kamera erhält ein IP-Paket mit einer Source-IP aus einem IP-Netz zu dem sie selbst gehört. Ob nun ein Gateway in der Kamera hinterlegt ist oder nicht, spielt keine Rolle – der IP-Stack der Kamera würde nie das – fiktive – Gateway kontaktieren. Der Vollständigkeit halber: Es wäre auch nahezu unmöglich eine statische Route direkt in der Kamera zu setzen – zumindest nicht mit der Originalfirmware.

Die Antwort der Kamera läuft in umgekehrter Reihenfolge:

1. [Kamera] 192.168.0.80:80 -> 192.168.0.81:56789 [Router]
   reversed-DNAT: 192.168.0.81:56789 zu 10.10.0.1:56789
   reversed-SNAT: 192.168.0.80:80 zu 10.10.0.250:80
2. [Router] 10.10.0.250:80 -> 10.10.0.1:56789 [PC1]

Es entfällt somit auch die Eintragung einer statischen Route – entweder auf dem PC1 oder seinem Default Gateway. Sowohl für PC1 als auch für die Kamera läuft die Verbindung so ab, als wäre die Gegenstelle direkt im jeweiligen IP-Netz.

 

Mikrotik mAP lite

Der WLAN-Router selbst ist ein winziger Mikrotik namens „mAP lite“, die Kosten dafür liegen um die 20 Euro.
Das Gerät verfügt über einen PoE-Eingang (802.3af/at, Passives PoE), einen MicroUSB-Netzeingang und über alle Funktionen eines Level4-ROS (der Euro dient als Größenvergleich). Das Gerät kann wegen seiner Größe auch gut nahe an der Kamera befestigt werden, auf der Unterseite befindet sich eine eingelassene Magnetplatte. Man könnte den Router damit sogar auf den Blitzschuh „aufsetzen“.

Im Betrieb läuft die CPU des Routers – bei angezeigtem Vorschaubild – zwischen 2 und 7 %.
Der Datendurchsatz beträgt zwischen 3 – 5 MBit/Sekunde, ohne Vorschau ~120 KBit/Sekunde.

 

Das WLAN der Kamera wäre an sich sicher (WPA2-PSK (AES)). Leider ist das „Passwort“ auf 8 Ziffern begrenzt, weswegen eine Firewall auf dem Router nicht schadet, falls es zu einem Einbruch in das Kamera-WLAN kommen sollte. Warum die eigentlich sehr gute Verschlüsselung mit einem derart schwachen Passwort unterwandert wird, weiß ebenfalls nur der Hersteller. Ein solches „Passwort“ wäre in ca. einer Minute zu knacken…

 

Die Router-Konfiguration im Detail

Das WLAN-Sicherheitsprofil der Kamera:

/interface wireless security-profiles
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=\
Canon_G30 supplicant-identity="" wpa2-pre-shared-key=00000000

WLAN-Interface (Router als WLAN-Client der Kamera):

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-onlyn channel-width=20/40mhz-eC \
country=germany disabled=no frequency=auto security-profile=Canon_G30 \
ssid=LEGRIA-XXXX_Canon0C

IP-Adressierung:

/ip address
add address=192.168.0.81/24 interface=wlan1 network=192.168.0.0
add address=10.10.0.250/24 interface=ether1 network=10.10.0.0

NAT-Regeln – in diesem Fall das Herzstück des Ganzen:

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 in-interface=ether1 protocol=tcp \
to-addresses=192.168.0.80 to-ports=80
add action=src-nat chain=srcnat dst-port=80 out-interface=wlan1 protocol=tcp \
to-addresses=192.168.0.81

Firewall – kein Routing von Interface wlan1 (WLAN) zu Interface ether1 (LAN) erlaubt, außer Verbindungen die bereits established/related sind.
Auf den Router selbst sind nur Verbindungen von Interface ether1 (LAN) erlaubt.
Die Firewall kann auch noch restriktiver gestaltet werden, z. B. mit IP-Filtern oder einem Source-MAC Filter.

/ip firewall filter
add action=accept chain=input connection-state=established,related
add action=accept chain=input in-interface=ether1
add action=drop chain=input in-interface=wlan1
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward in-interface=ether1 out-interface=wlan1
add action=drop chain=forward

Weitere Sicherheitseinstellungen (abgeschaltene Dienste der Routers):

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/tool bandwidth-server
set enabled=no
/tool mac-server
set allowed-interface-list=none
/tool mac-server ping
set enabled=no

 

Die hier genutzte die IP 10.88.40.109 entspricht der 10.10.0.250 des Konfigurationsbeispiels.

Schreibe einen Kommentar

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