Ogni tanto, facendo pulizia tra i dispositivi abbandonati presso i clienti dai vari provider, si incontrano anche giocattolini che possono offrire ancora molto, specie in contesto HomeLab o per soluzioni di emergenza (stando attenti che non diventino definitive…).
Tra questi può sicuramente rientrare il router 4G Huawei AR502, gentilmente offerto dismesso da Vodafone, capitatomi tra le mani e che ad oggi sta facendo un eccellente servizio 24/7 come router HomeLab.
Vediamo come configurarlo per le nostre esigenze di base.

Primo accesso e password di default

Procuratevi un cavo console, il classico cavo console Cisco andrà bene, e lanciate Putty per collegarvi tramite RS232 con velocità 9600.

Le credenziali di default dei router Huawei sono:

  • user = admin
  • password = Admin@huawei

Se, come nel mio caso, le credenziali sono state modificate e non le conoscete dovrete procedere col reset delle stesse. Fortunatamente la procedura è oltremodo semplice!

huawei AR500

Password reset

Rimanendo collegati tramite console riavviamo il router, durante la fase di boot ad un certo punto comparirà l’indicazione:

Press Ctrl+B to break auto startup … 3

Usiamo quindi Ctrl-B per accedere al BootROM menu, qui ci viene richiesta la password di default, Admin@huawei.
A questo punto procediamo tra i vari menu:

  • (7) - Password Manager
  • (2) - Clear the console login password
  • (0) - Return
  • (6) - Reboot

huawei password reset

Et voilà! Il router eseguirà un nuovo riavvio al termine del quale non viene richiesta la password, pur mantenendo la configurazione precedentemente attiva!

Comandi base CLI Huawei

Prima di addentrarci nella configurazione effettiva del router sarà utile elencare alcuni dei comandi base della CLI Huawei.

system-view - abilita l’accesso system, la configurazione può essere modificata solo in questa modalità
quit - esce dalla vista/blocco di configurazione corrente
display current-configuration - mostra la configurazione attiva
display saved-configuration - mostra la configurazione attiva al prossimo boot
save - salva la current-configuration come startup
factory-configuration reset - reset alle impostazioni di default
display startup - mostra i files usati al boot, ad esempio il firmware e il config file
display patch-information - mostra le patch applicate al firmware attivo
display version - mostra la release sw e hw del dispositivo
display device - mostra le componenti hw e il loro stato
reboot - restart device

Configurazione del router Huawei AR502

Iniziamo col settare l’hostname:

<Huawei>system-view
[Huawei]
[Huawei]sysname Huawei-Lab
[Huawei-Lab]

Abilitiamo la risoluzione DNS e la sincronizzazione NTP, utili per troubleshooting:

[Huawei-Lab]dns resolve
[Huawei-Lab]dns server 8.8.8.8
[Huawei-Lab]dns server 8.8.4.4
[Huawei-Lab]
[Huawei-Lab]ntp-service unicast-server 0.pool.ntp.org
[Huawei-Lab]ntp-service unicast-server 1.pool.ntp.org

Abilitiamo il servizio DHCP server:

[Huawei-Lab]dhcp enable
[Huawei-Lab]dhcp server database enable
[Huawei-Lab]dhcp server database recover
[Huawei-Lab]bridge dhcp terminate enable

Configuriamo un IP per la VLAN 1, associamo un pool DHCP e accertiamoci di abilitare entrambe le porte GigabitEthernet disponibili:

[Huawei-Lab]interface Vlanif1
[Huawei-Lab-Vlanif1]ip address 192.168.30.1 255.255.255.0
[Huawei-Lab-Vlanif1]dhcp select interface
[Huawei-Lab-Vlanif1]dhcp server ip-range 192.168.30.100 192.168.30.200
[Huawei-Lab-Vlanif1]dhcp server dns-list 8.8.8.8 8.8.4.4
[Huawei-Lab-Vlanif1]quit
[Huawei-Lab]
[Huawei-Lab]interface GigabitEthernet0/0/0
[Huawei-Lab-GigabitEthernet0/0/0]description LAN0
[Huawei-Lab-GigabitEthernet0/0/0]undo shutdown
[Huawei-Lab-GigabitEthernet0/0/0]quit
[Huawei-Lab]
[Huawei-Lab]interface GigabitEthernet0/0/1
[Huawei-Lab-GigabitEthernet0/0/1]description LAN1
[Huawei-Lab-GigabitEthernet0/0/1]undo shutdown
[Huawei-Lab-GigabitEthernet0/0/1]quit

Creiamo una ACL per gli IP di rete interna che devono passare da Dynamic NAT per uscire su internet.
In questo caso ho banalmente aggiunto tutte le classi definite private secondo RFC 1918.

[Huawei-Lab]acl number 2002
[Huawei-Lab-acl-adv-2002]description OUTGOOING-NAT
[Huawei-Lab-acl-adv-2002]rule 5 permit source 10.0.0.0 0.255.255.255
[Huawei-Lab-acl-adv-2002]rule 10 permit source 172.16.0.0 0.15.255.255
[Huawei-Lab-acl-adv-2002]rule 15 permit source 192.168.0.0 0.0.255.255

Definiamo l’APN da utilizzare col nostro provider, Vodafone in questo caso:

[Huawei-Lab]apn profile VODAFONE
[Huawei-Lab-apn-profile-VODAFONE]apn web.omnitel.it
[Huawei-Lab-apn-profile-VODAFONE]quit

Definiamo finalmente la nostra interfaccia WAN, Cellular0/0/0, e la impostiamo come default route:

[Huawei-Lab]dialer-rule
[Huawei-Lab-dialer-rule]dialer-rule 1 ip permit
[Huawei-Lab-dialer-rule]quit
[Huawei-Lab]
[Huawei-Lab]interface Cellular0/0/0
[Huawei-Lab-Cellular0/0/0]dialer enable-circular
[Huawei-Lab-Cellular0/0/0]dialer-group 1
[Huawei-Lab-Cellular0/0/0]dialer timer idle 20
[Huawei-Lab-Cellular0/0/0]apn-profile VODAFONE
[Huawei-Lab-Cellular0/0/0]dialer timer autodial 10
[Huawei-Lab-Cellular0/0/0]dialer number *99# autodial
[Huawei-Lab-Cellular0/0/0]nat outbound 2002
[Huawei-Lab-Cellular0/0/0]modem auto-recovery dial action modem-reboot fail-times 128
[Huawei-Lab-Cellular0/0/0]antenna outer
[Huawei-Lab-Cellular0/0/0]modem auto-recovery services-unavailable action modem-reboot test-times 0 interval 3600
[Huawei-Lab-Cellular0/0/0]modem auto-recovery sim-invalid action modem-reboot enable
[Huawei-Lab-Cellular0/0/0]ip address negotiate
[Huawei-Lab-Cellular0/0/0]quit
[Huawei-Lab]
[Huawei-Lab]ip route-static 0.0.0.0 0.0.0.0 Cellular0/0/0

Abilitiamo l’accesso SSH e solo dalle interfacce LAN:

[Huawei-Lab]stelnet server enable
[Huawei-Lab]ssh server permit interface GigabitEthernet0/0/0 GigabitEthernet0/0/1
[Huawei-Lab]
[Huawei-Lab]user-interface vty 0
[Huawei-Lab-ui-vty0]authentication-mode aaa
[Huawei-Lab-ui-vty0]user privilege level 15
[Huawei-Lab-ui-vty0]protocol inbound ssh

Come ulteriore sicurezza possiamo limitare l’accesso SSH solo da specifici IP

[Huawei-Lab]acl number 2098
[Huawei-Lab-acl-adv-2098]description VTI-SSH
[Huawei-Lab-acl-adv-2098]rule 0 permit source 192.168.30.0 0.0.0.255
[Huawei-Lab-acl-adv-2098]quit
[Huawei-Lab]user-interface vty 0
[Huawei-Lab-ui-vty0]acl 2098 inbound
[Huawei-Lab-ui-vty0]quit

Infine, già che c’è, abilitiamo anche l’accesso HTTPS dalla VLAN 1:

[Huawei-Lab]ssl policy default_policy type server
[Huawei-Lab-ssl-policy-default_policy]pki-realm default
[Huawei-Lab-ssl-policy-default_policy]version tls1.2
[Huawei-Lab-ssl-policy-default_policy]ciphersuite rsa_aes_256_sha256 ecdhe_rsa_aes128_gcm_sha256
[Huawei-Lab-ssl-policy-default_policy]quit
[Huawei-Lab]
[Huawei-Lab]http secure-server ssl-policy default_policy
[Huawei-Lab]http server enable
[Huawei-Lab]http secure-server enable
[Huawei-Lab]http server permit interface Vlanif1

Non ci resta che abilitare l’utente per ogni tipologia di accesso e cambiare la password:

[Huawei-Lab]aaa
[Huawei-Lab-aaa]local-user admin password irreversible-cipher YOUR_PASSWORD
[Huawei-Lab-aaa]local-user admin service-type terminal ssh http
[Huawei-Lab-aaa]local-user admin privilege level 15

Terminiamo quindi col salvataggio della configurazione:

[Huawei-Lab]save

Configurazione regole firewall Huawei

Le ACL che abbiamo visto in precedenza lavorano solo a livello packet filter e sono stateless. Se vogliamo aggiungere qualche controllo aggiuntivo, non molti quelli disponibili sull’AR502, procediamo come segue.

Per una protezione dagli attacchi più comuni :

[Huawei-Lab]firewall defend land enable
[Huawei-Lab]firewall defend smurf enable
[Huawei-Lab]firewall defend fraggle enable
[Huawei-Lab]firewall defend winnuke enable
[Huawei-Lab]firewall defend syn-flood enable
[Huawei-Lab]firewall defend udp-flood enable
[Huawei-Lab]firewall defend icmp-flood enable
[Huawei-Lab]firewall defend icmp-redirect enable
[Huawei-Lab]firewall defend icmp-unreachable enable
[Huawei-Lab]firewall defend ip-sweep enable
[Huawei-Lab]firewall defend port-scan enable
[Huawei-Lab]firewall defend tracert enable
[Huawei-Lab]firewall defend ping-of-death enable
[Huawei-Lab]firewall defend teardrop enable
[Huawei-Lab]firewall defend tcp-flag enable
[Huawei-Lab]firewall defend ip-fragment enable
[Huawei-Lab]firewall defend large-icmp enable
[Huawei-Lab]firewall blacklist enable

Per abilitare il session tracking, attivo solo tra security zones differenti, dobbiamo creare almeno due zone e assegnarle alle relative interfacce:

[Huawei-Lab]firewall zone TRUSTED
[Huawei-Lab-zone-TRUSTED]priority 14
[Huawei-Lab-zone-TRUSTED]quit
[Huawei-Lab]firewall zone UNTRUSTED
[Huawei-Lab-zone-UNTRUSTED]priority 1
[Huawei-Lab-zone-UNTRUSTED]quit
[Huawei-Lab]firewall interzone TRUSTED UNTRUSTED
[Huawei-Lab-interzone-TRUSTED-UNTRUSTED]firewall enable
[Huawei-Lab-interzone-TRUSTED-UNTRUSTED]quit
[Huawei-Lab]
[Huawei-Lab]interface Vlanif1
[Huawei-Lab-Vlanif1]zone TRUSTED
[Huawei-Lab-Vlanif1]quit
[Huawei-Lab]
[Huawei-Lab]interface Cellular0/0/0
[Huawei-Lab-Cellular0/0/0]zone UNTRUSTED
[Huawei-Lab-Cellular0/0/0]quit
# Verify
[Huawei-Lab]display firewall interzone TRUSTED UNTRUSTED
interzone TRUSTED UNTRUSTED                                                       
 firewall enable                                                                
 packet-filter default deny inbound                                             
 packet-filter default permit outbound   

Altri comandi utili

Nel caso di sostituzione SIM a caldo o cambio APN il modem interno deve essere resettato:

<Huawei-Lab>system-view command to enter the system view.
[Huawei-Lab]interface Cellular0/0/0
[Huawei-Lab-Cellular0/0/0]modem reboot