La maggior parte dei contratti con provider Internet prevedono l'assegnazione di un indirizzo ip dinamico che quindi cambia nel tempo o al riavvio del router. Spesso si ha la necessità di accedere al computer (o server) di casa da remoto: per accedere al sistema di videosorveglianza domestico, o per collegarsi tramite desktop remoto o connessione ssh etc. In questi casi è necessario conoscere l'indirizzo ip assegnato dal provider. Una soluzione molto utilizzata è registrare un dominio dns, es. su siti come dyndns, associare al nome dns l'indirizzo ip ed aggiornare il dns ad ogni cambio dell'indirizzo ip attraverso un client dns installato sul computer o attraverso il router se dispone di questa funzionalità. Questa soluzione, tuttavia, comporta, spesso, il pagamento di un abbonamento al servizio dns o non è funzionale poiché l'aggiornamento del dns non avviene in tempo reale o non avviene affatto per via di malfunzionamenti o errate configurazioni.
Una soluzione alternativa è fare in modo che il vostro pc invii una mail, con cadenza temporale da voi scelta, contenente come testo l'indirizzo ip. Vediamo come fare ciò nell'ipotesi che il sistema operativo del vostro pc (o server) sia linux ed in particolare ubuntu.
(Se, invece, avete un computer o server windows seguite i consigli di questo ottimo articolo:
http://www.pc-facile.com/guide/reperibilita_indirizzo_ip_dinamico/44548.htm )
(Se, invece, avete un computer o server windows seguite i consigli di questo ottimo articolo:
http://www.pc-facile.com/guide/reperibilita_indirizzo_ip_dinamico/44548.htm )
I passi da seguire sono (apriamo una finestra di terminale con ctrl+alt+T):
- Installare un server smtp che si occuperà di inviare le mail eseguendo il comando:
sudo apt-get install ssmtp
- Editare il file di configurazione del server smtp per inserire i parametri del vostro gestore di servizio mail (nell'esempio gmail di google):
sudo -e /etc/ssmtp/ssmtp.conf
Per gmail i parametri sono:
Root=tua_mail@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=user_name_gmail # io@gmail.com
AuthPass=tua_password_mail
FromLineOverride=Yes
UseTLS=Yes
- Creare uno script che chiamiamo "ipcheck" che "legga" l'indirizzo ip pubblico del computer ed invii la mail contenete l'indirizzo, utilizzando lo scheduler "cron" per fare in modo che lo script sia eseguito automaticamente a cadenza da noi scelta:
sudo -e /etc/cron.daily/ipcheckIl comando precedente crea il file-script "ipcheck" e lo posiziona dentro la directory di "cron.daily" per fare in modo che venga eseguito ogni giorno (altre opzioni sono cron.hourly, cron.weekly, cron.monthly per ricevere la mail rispettivamente ogni ora, ogni settimana, ogni mese). Il contenuto dello script sarà:
wget -qO http://ipecho.net/plain | mail -s "Il mio indirizzo ip" tua_mail@gmail.com
con wget ci facciamo dire dal sito ipecho.net il nostro indirizzo ip pubblico e lo passiamo con la pipe "|" al comando "mail" che invia tramite il server smtp una mail al tuo indirizzo avente per oggetto "Il mio indirizzo ip". - Rendere lo script eseguibile con il comando:
sudo chmod 0755 /etc/cron.daily/ipcheck
Enjoy!
