Temat: Przekierowanie portu na modemie Huawei HiLink
Kilka osób zadało pytanie jak przekierować porty w modemie Huawei HiLink. O ile jest to możliwe w modyfikowanym oprogramowaniu, o tyle "czysty" Huawei czy brandowany przez naszch operatorów nie posiada takiej opcji. Jednakże modem zawiera w sobie usługę UPnP dzięki której można dynamicznie otwierać porty. Usługa ta jest bardzo krytykowana jeżeli chodzi o bezpieczeństwo, ale wykorzystamy ją do naszych celów.
UWAGA: aby mieć dostęp do modemu/routera z zewnątrz trzeba specjalnie wykupić określoną usługę w niektórych taryfach abonamentowych. Samo przekierowanie portu nie oznacza że będziemy mieli dostęp zdalny do urządzenia!
Na początek mała zmiana z firewallu. Pozwoli to nam wykryć UPnP na modemie
# uci add firewall rule
# uci set firewall.@rule[-1].src=wan
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].proto=tcpudp
# uci set firewall.@rule[-1].src_port=1900
# uci commit firewall
# /etc/init.d/firewall reload
Następnie instalujemy klienta UPnP, którym w OpenWrt jest pakiet miniupnpc
# opkg update
# opkg install miniupnpc
Jeżeli uruchomimy go z odpowiednią opcją to powinien wykryć modem:
root@OpenWrt:~# upnpc -s
upnpc : miniupnpc library test client. (c) 2005-2013 Thomas Bernard
Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
desc: http://192.168.8.1:46591/rootDesc.xml
st: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Found valid IGD : http://192.168.8.1:46591/ctl/IPConn
Local LAN ip address : 192.168.8.100
Connection Type : IP_Routed
Status : Connected, uptime=1432317394s, LastConnectionError : ERROR_NONE
Time started : Wed Dec 31 22:00:13 1969
MaxBitRateDown : 4200000 bps (4.2 Mbps) MaxBitRateUp 4200000 bps (4.2 Mbps)
ExternalIPAddress = 46.113.223.53
Bytes: Sent: 5817 Recv: 28561
Packets: Sent: 63 Recv: 61
Wystarczy więc wykonać teraz odpowiednie przekierowanie:
root@OpenWrt:~# upnpc -a 192.168.8.100 81 8080 tcp
upnpc : miniupnpc library test client. (c) 2005-2013 Thomas Bernard
Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
desc: http://192.168.8.1:46591/rootDesc.xml
st: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Found valid IGD : http://192.168.8.1:46591/ctl/IPConn
Local LAN ip address : 192.168.8.100
ExternalIPAddress = 46.113.223.53
InternalIP:Port = 192.168.8.100:81
external 46.113.223.53:8080 TCP is redirected to internal 192.168.8.100:81 (duration=0)
W tym przypadku:
- numer portu modemu z którego robimy przekierowanie to 81
- adres wan na który robimy przekierowanie to 192.168.8.100
- numer portu na wan na który robimy przekierowanie to 8080
- protokół: tcp.
Weryfikujemy to:
root@OpenWrt:~# upnpc -l
upnpc : miniupnpc library test client. (c) 2005-2013 Thomas Bernard
Go to http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
desc: http://192.168.8.1:46591/rootDesc.xml
st: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Found valid IGD : http://192.168.8.1:46591/ctl/IPConn
Local LAN ip address : 192.168.8.100
Connection Type : IP_Routed
Status : Connected, uptime=1432317838s, LastConnectionError : ERROR_NONE
Time started : Wed Dec 31 22:00:13 1969
MaxBitRateDown : 4200000 bps (4.2 Mbps) MaxBitRateUp 4200000 bps (4.2 Mbps)
ExternalIPAddress = 46.113.223.53
i protocol exPort->inAddr:inPort description remoteHost leaseTime
0 TCP 8080->192.168.8.100:81 'miniupnpc' '' 1768777830
GetGenericPortMappingEntry() returned 713 (SpecifiedArrayIndexInvalid)
Wszystko działa. Teraz wystarczy:
- otworzyć port 8080 na firewalu (jak? polecam http://eko.one.pl/?p=openwrt-konfigurac … ykomputer)
- uruchomić usługę na porcie 8080, np. serwer www i o ile mamy wykupioną usługę publicznego adresu ip to możemy cieszyć się dostępem przez modem HiLinka.
Regułę przekierowania możemy dodać np. do /etc/rc.local lub utworzyć odpowiedni skrypt na hotplugu. Trzeba ją będzie robić po każdym starcie modemu. Testowałem to z modemem Huawei E3372 HiLink.