«

»

Mag 14

Stampa Articolo

Router port mapping

Spesso nei commenti leggo: “Come faccio a collegarmi al mio progetto a casa dall’esterno ?” la risposta è router port mapping.

port mapping router

Senza addentrarti in complesse definizioni di networking e protocolli di rete cerco di chiarirti come configurare il tuo router port mapping.

Prendo ad esempio le schermate del mio router alice ma puoi applicare i concetti a qualsiasi router con supporto per il port mapping o port redirect.

Come funziona il router port mapping

Il networking è argomento non semplicissimo tuttavia cerco di portarti qualche similitudine con la consegna dei pacchi tradizionale a cui sei abituato.

Al fine di comprendere meglio i concetti immagina di abitare in via roma 1 in un palazzo con 100 interni ed una portineria, tu abiti all’interno 80, che per il tuo condominio è al sesto piano seconda porta a sinistra uscendo dall’ascensore.

Devi ricevere un pacco ed il corriere arriva all’indirizzo via roma 1 int 80 scoprendo di non conoscere la corretta ubicazione del tuo appartamento, fortunatamente c’è il portiere a cui chiedere.

Il portiere alla richiesta del corriere sull’ubicazione del tuo appartamento risponde che tu abiti all’interno 80 e che per giungere al tuo piano è necessario usare l’ascensore, salire al sesto piano e, uscendo dall’ascensore, andare a sinistra, la seconda porta è quella del tuo appartamento.

Ovviamente non me ne vogliano gli esperti di nerworking per la semplificazione è giusto per chiarire il concetto a chi non è esperto di reti.

Il corriere è la richiesta internet di collegarsi alla tua scheda ( arduino yun, raspberry, ipcam, ecc… ).

Il tuo portiere è il router che sa la corretta posizione del tuo interno.

Il numero 80 ( tuo interno ) è la porta con cui la richiesta internet si presenta.

Sesto piano è l’IP del tuo dispositivo da raggiungere ( arduino yun, raspberry, ipcam, ecc… ).

Seconda porta a sinistra dall’ascensore è la porta su cui il router deve girare la richiesta di collegamento.

Adesso dovresti avere le idee più chiare, ti mostro uno schema:

port mapping router

nella figura sopra l’IP 192.4.11.27 rappresenta il tuo indirizzo, via roma 1, la porta 80 è il tuo interno a cui un dispositivo esterno alla tua rete casalinga deve puntare per collegarsi.

Non resta che dire al portiere, il router, che quando arriva una richiesta per l’interno 80 deve indicare il sesto piano ( IP ) e la seconda porta a sinistra ( porta di destinazione )

Configurare il router port mapping

E’ necessario che il tuo router supporti il port forwarding o router port mapping affinché tu possa raggiungere la tua scheda arduino yùn o raspberry da un dispositivo esterno alla rete della tua abitazione.
Inoltre è necessario che il tuo provider (Telecom, Fastweb, ecc… ) non blocchi il traffico  per nessuna porta diretto al tuo router.

Controllate le due premesse puoi configurare il tuo router, ti mostro le schermate di un router alice con supporto per il router port mapping.

Il primo passo è conoscere l’Ip del tuo dispositivo dopo averlo collegato al tuo router puoi accedere all’interfaccia di amministrazione e cliccare sul pulsante che ti mostra la lista degli IP che sono stati individuati o rilasciati se il tuo router fa da DHCP:
router port mapping web LAN button

L’elenco delle reti riconosciute si presenta simile al seguente:

arduino yun port mapping web lan list

in cui ho oscurato il mac address della mia scheda arduino per non confonderti, tu dovrai trovare nell’elenco la scheda su cui desideri attivare il router port mapping, troverai il numero identificativo ( IP ) ora vai nel menu port mapping:

arduino yun port mapping button

la schermata che ti sia pre avrà un menu un cui puoi configurare:

  • protocollo
  • IP
  • porta di ingresso ( 80 )
  • porta da raggiungere ( 80 )

Ovviamente se il tuo dispositivo risponde su una porta differente dalla 80 puoi decidere se mappare la porta interna e da raggiungere sul medesimo numero o su numeri differenti, ma questo aspetto si spinge oltre l’argomento che trattiamo oggi.

arduino yun port mapping select protocol

nella schermata superiore vedi un menu da cui scegliere il protocollo di comunicazione, senza spingerci troppo nel dettaglio, ti è sufficente sapere che le interfacce web delle schede arduino yùn o raspberry sono solitamente configurate per rispondere in HTTP su porta 80, seleziona quindi HTTP passa quindi a definire l’IP di destinazione:

arduino yun port mapping web select ip

tra gli IP disponibili troverai l’IP del tuo dispositivo, selezionalo e controlla che la porta Interna e la porta esterna siano entrambe impostate su 80 o sulla porta con cui vuoi comunicare dall’esterno:

arduino yun port mapping show port

clicca su Attiva per attivare la regola, ti sarà mostrato un messaggio di conferma della regola da impostare come router port mapping:

arduino yun port mapping web confirm rule

clicca su Avanti > per confermare. Vedrai la nuova regola inserita:

arduino yun port mapping web view rule

a questo punto la tua scheda arduino Yùn è pronta per essere raggiunta dall’esterno sull’IP pubblico che il provider ti ha assegnato e la porta 80.

Se tutta la configurazione del router port mapping è corretta e completata potrai collegarti dal computer dell’ufficio e vedere i tuoi grafici della centralina meteo arduino yùn come ho fatto io:

centralina meteo arduino grafico day

Buon collegamento.

Permalink link a questo articolo: http://www.mauroalfieri.it/informatica/router-port-mapping.html

24 comments

Vai al modulo dei commenti

  1. mirko

    discorso liscio come l’olio se si parla di ADSL come Alice , libero infostrada, teletu ..
    ma se andiamo su FASTWEB il discorso cambia … e non di poco !!!
    infatti fastweb è una rete a se ( non è internet ) e per reindirizzare un indirizzo non è possibile !!!

    1. Mauro Alfieri

      Hai ragione Mirko,
      mi è capitato di aver a che fare con reti Fastweb ed in moti casi è impossibile in altri così complesso che devi aver veramente voglia di attivare tutto il percorso e non è per nulla gratuito.

      1. Ali One Informatica

        Fastweb fornisce di default un indirizzo IP nattato e quindi, semplificando il discorso, non sarà possibile raggiungerlo da remoto (se non da dispositivi collegati alla rete Fastweb). È però possibile richiedere gratuitamente un indirizzo IP non nattato e il problema non si pone (mandate un messaggio ai ragazzi del social-care Twitter o Facebook).

        N.B.: nell’articolo si presuppone che l’indirizzo IP che il nostro provider ci fornisce sia statico (cioè è sempre quello), questo però, nella realtà, non è sempre vero. Ad esempio TIM fornisce di default un indirizzo IP dinamico (cioè cambia) per questo motivo una soluzione efficace per raggiungere la rete di casa da remoto è l’utilizzo del Dynamic DNS (DDNS). A Fastweb, invece, collegandoci anche con il discorso precedente, si può chiedere gratuitamente un indirizzo IP statico non nattato. In questo modo l’indirizzo sarà sempre lo stesso e non dovremo appoggiarci ad altri servizi per saperlo.

        Sperando che questo discorso (semplificato all’osso) sia utile alle persone che non conoscono queste nozioni, porgiamo a tutti cordiali saluti.

        Ali One Informatica

        1. Mauro Alfieri

          Grazie per la spiegazione dettagliata e semplice per i non addetti ai lavori

  2. Angmgio

    Ottimo….
    Grazie mille era proprio quello che cercavo.
    Appena arrivo a casa mi metto a lavoro.

    Grazie mille

    Angelo

    1. Mauro Alfieri

      Ciao Angelo,
      era un po’ che avevo in programma di scrivere un articolo di questo tipo.

  3. mauro

    Ciao, è l’articolo che stavo cercando però se spengo-riaccendo il router l’indirizzo mi cambia ?
    Cioè voglio creare una stazione meteo remota ed utilizzare un sistema simile ma ho paura che poi mi cambi l’IP che voglio raggiungere da remoto

    1. Mauro Alfieri

      Ciao Mauro, puoi impostare fisso il tuo IP sul router in modo che non cambi.

  4. luca

    Ciao Mauro, complimenti per l’ottima guida semplice ed esaustiva!

    Volevo chiederti un ‘informazione relativa al port forwarding su Arduino Yun:

    Se volessi collegarmi da esterno attraverso script php all’ ip del database mysql ospitato su Arduino che ip dovrei usare?

    Per l’accesso diretto da esterno ai dati della SD mi basta utilizzare (indirizzo IP modem: porta che abilito su regole firewall) es: 234.134.23.21:100

    Nel caso del server mysql arduino che indirizzo devo prendere?

    Certo in un tuo aiuto ti ringrazio e ti saluto

    Luca

    1. Mauro Alfieri

      Ciao Luca,
      l’IP di arduino non cambia, la porta mysql standard è 3306 se non l’hai cambiata.

  5. Mario

    Buongiorno Luca.
    Articolo molto interessante. Purtroppo alla porta 80 risponde il mio router Linksys WAG320N.
    Ho cercato di vedere di cambiare il numero della porta sul router ma non ho trovato come farlo.
    Posso cambiare la porta del mio Arduino Yún?

    1. Mauro Alfieri

      Ciao Mario,
      forse volevi scrivere a me, Mauro, e si tratta solo di un errore di battitura.
      Puoi cambiare la porta di ricezione sul router mappandola sulla 80 dell’IP arduino yun.

      Ad esempio puoi definire 8080 in esterno che gira il flusso http alla 80 della yun.

      1. Mario

        Ciao Mauro,
        Scusa per il nome, è stata una svista.
        Ho provato varie soluzioni: ho impostato la porta esterna su 8080 e l’interna su 80 ed anche entrambe su 80 ma continuo a non vedere il mio Arduino.
        Ho provato anche ad associare la porta esterna 80 al mio computer fisso dove gira un server web e funziona benissimo.
        Non capisco!
        Grazie,
        Mario

        1. Mauro Alfieri

          Ciao Mario,
          per il nome nessun problema, ho sempre il dubbio che il messaggio sia indirizzato ad altri siti che parlano di Arduino 🙂
          La porta esterna 80 mi avevi detto che era occupata dal router, puoi sovrascriverla ?
          Internamente arduino su che porta ti risponde?

          1. Mario

            Ciao Mauro,
            Quando avevo scritto la prima volta non avevo ancora provato a reindirizzare la porta 80 esterna e quindi mi rispondeva il router. Poi ho provato a reindirizzarla al computer e, come ho detto, funziona perché al posto del router risponde il server web con la sua pagina iniziale. Se invece faccio la stessa cosa con l’indirizzo della scheda Arduino mi dice che la pagina web non è disponibile; ugualmente se metto la porta esterna 8080 e 80 interna.
            Io credo che Arduino risponda sulla porta 80 perché ho provato con “Fing” con l’Ipad ed analizzando l’IP dell’Arduino mi dice che le porte sono: 22 ssh, 53 Domain, 80 http e 443 https.
            Grazie,
            Mario

          2. Mauro Alfieri

            Ciao Mario,
            prova a verificare che all’interno della tua rete, dal pc,server o ipad il browser riesca ad accedere sulla porta 80 di arduino yun.

          3. Mario

            Ciao Mauro,
            Scusa se sono imbranato ma come faccio a verificare se riesco ad accedere alla porta 80?
            Comunque la pagina web (index.html) che ho caricato su Arduino la vedo benissimo su tutti i computer di casa.
            Grazie,
            Mario

          4. Mauro Alfieri

            Ciao Mario,
            non sei imbranato, pensavo lo sapessi, la porta 80 è quella di default per i browser per cui se scrivi solo http://www.mauroalfieri.it in effetti stai andando sulla porta 80 del mio server web.
            Se vuoi andare sulla 8080 dovrai scrivere http://sito.estensione:8080
            Tornando al problema che hai riscontrato se dall’interno della tua rete arduino risponde sull’IP assegnato e porta 80 e il router è configurato per avere la porta esterna 80 rediretta alla porta 80 di arduino potresti aver sbagliato l’IP di arduino o avere qualche altro meccanismo di rete che ti impedisce di raggiungere dal router il tuo arduino.

          5. Mario

            Ciao Mauro,
            Ho capito o, almeno, penso di aver capito.
            Ma se io dalla mia rete chiamo l’indirizzo di Arduino, inserendo o meno la porta 80, vado sempre alla pagina principale di arduino; dove posso far partire LuCI (tanto per intenderci). Come fa a sapere il router che la pagina web sta invece in arduino.local/sd/eccetera ? Non è che manca qualche impostazione nell’arduino?
            Mario

          6. Mauro Alfieri

            Ciao Mario,
            penso tu stia facendo un po di confuzione, è un discorso complesso quello su come funziona il protocollo http.
            Prova a leggere qualche manuale o wiki su http e comunicazione client-server da browser.

            In estrema, ma proprio estrema sintesi, considera che sei tu a comporre l’url quando scrivi arduino.local/sd/… e il router non fa altro che inoltrare tutto ciò che c’è dopo il primo / all’IP dell’arduino, ovviamente se sa come trasformare arduino.local in un IP.
            Io ti consiglio la lettura di qualche manuale di rete, anche base e di usare sempre l’Ip per collegarti alla yun in questa fase di configurazione.

  6. Salvatore

    Buonasera, vorrei chiedervi se tramite il port mapping degli estranei posso entrare nel mio pc o navigare con la mia linea adsl è come lo fanno?

    1. Mauro Alfieri

      Ciao Salvatore,
      lascio la tua risposta on-line perché qualche esperto di sicurezza possa risponderti.

  7. Pietro

    ciao mauro complimenti per l’articolo è quello che cercavo!!!
    io ho eseguito tutto il procedimento però continuo a non avere l’accesso dall’esterno, quindi presumo che la porta della mia shield non sia l’80, come posso scoprire quale porta usa?

    1. Mauro Alfieri

      Ciao Pietro,
      la porta la definisci tu nel tuo sketch.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>