Modem Huawei E3372 HiLink – włączenie DMZ przez interfejs API

 

 

Wstęp.

 

Urządzenie Huawei E3372 (wersja HiLink) tak naprawdę jest pełnosprawnym ruterem, z wbudowanym modemem lte. Dla ułatwienia w tekście będę posługiwał się stwierdzeniem „modem”.

Większość opcji konfiguracyjnych modemu jest ukryta !. Na „wierzchu” czyli przez interfejs www, mamy dostęp tylko do naprawdę podstawowych rzeczy (zmiana PIN’u, konfiguracja APN itd..).

Wszelkie opcje sieciowe takie jak np. DMZ, DHCP, Port forwarding, NAT, Firewall są ukryte i próżno ich szukać w interfejsie WWW. W modemie możemy wyłączyć NAT lub włączyć DMZ nie przez interfejst WWW ale przez API modemu. Aby włączyć lub wyłączyć jedną z w/w. opcji NIE trzeba zmieniać firmware modemu ! Fabryczne oprogramowanie HiLink umożliwia taką funkcjonalność.

 

 

Założenie jest takie:  Wykupiliśmy u operatora LTE usługę VPN z publicznym adresem IP i chcemy teraz ten adres IP przydzielić komputerowi w sieci LAN.

 

Domyślna konfiguracja modemu ma włączony NAT i pożytek z takiego publicznego adresu IP jest żaden. Modem podpięty przez USB do komputera zawsze przydzieli adres prywatny. W modemie „nie ma” opcji port forwarding lub dmz. „Nie ma” ale tylko przez panel WWW ale jest przez tzw. interfejs API. Modem na wbudowane API !

 

 

Od czego zacząć.

 

Dostęp do API modemu możemy uzyskać za pośrednictwem programu Curl i systemu operacyjnego Linux.

Jeśli masz komputer z zainstalowanym systemem Linux, podłącz modem do portu USB. Modem zainstaluje się automatycznie i w 99% przydzieli komputerowi adres IP 192.168.8.100

Nie musisz konfigurować nic. Sprawdź jedynie jaki dostałeś adres IP i zapisz go.

Sam modem jest „bramą domyślną” dla komputera i ma adres IP 192.168.8.1

 

Modem Huawei E7732 (192.168.8.1) → podłączony do komputera poprzez USB → Komputer (192.168.8.100) i na tym komputerze chcemy uzyskać publiczny adres IP.

 

Publiczny adres uzyskamy poprzez włączenie DMZ w modemie.

 

 

Jak to zrobić.

 

 

1. Na dowolnym komputerze z systemem Linux (nie musi to być komputer do którego jest podpięty modem), uruchom Terminal.

2. Sprawdź pingiem adres IP modemu 192.168.8.1 czy jest dostępny.

3. Wykonaj skrypt, który przygotowałem (skrypty poniżej).

 

 

Skrypt który włącza DMZ (huawei_dmz_on.sh)

 

 

#!/bin/sh

 

DATA=`curl http://192.168.8.1/api/webserver/SesTokInfo`

SESSION_ID=`echo "$DATA" | grep "SessionID=" | cut -b 10-147`

TOKEN=`echo "$DATA" | grep "TokInfo" | cut -b 10-41`

 

echo $SESSION_ID

echo $TOKEN

 

curl http://192.168.8.1/api/security/dmz -H "Cookie: $SESSION_ID" -H "__RequestVerificationToken: $TOKEN" --data "<request><DmzStatus>"1"</DmzStatus><DmzIPAddress>"192.168.8.100"</DmzIPAddress></request>"

 

 

 

Skrypt który wyłączenia DMZ (huawei_dmz_off.sh)

 

 

#!/bin/sh

 

DATA=`curl http://192.168.8.1/api/webserver/SesTokInfo`

SESSION_ID=`echo "$DATA" | grep "SessionID=" | cut -b 10-147`

TOKEN=`echo "$DATA" | grep "TokInfo" | cut -b 10-41`

 

echo $SESSION_ID

echo $TOKEN

 

curl http://192.168.8.1/api/security/dmz -H "Cookie: $SESSION_ID" -H "__RequestVerificationToken: $TOKEN" --data "<request><DmzStatus>"0"</DmzStatus><DmzIPAddress>"192.168.8.100"</DmzIPAddress></request>"

 

 

 

parametry w skrypcie:

1 – włącz DMZ

0 – wyłącz DMZ

192.168.8.100 – adres IP komputera w sieci lokalnej LAN (ten komputer dostanie publiczny adres IP)

 

 

 

Download:

huawei_dmz_on.sh

huawei_dmz_off.sh

 

 

 

Szymon Urbańczyk, 01.05.2021