Newsgroup: it.comp.os.linux.sys
Titolo: Recuperare proprio IP

Sono collegato ad intenet tramite un router adsl che con il NAT
attivato.
Esiste una maniera per sapere con quale IP esco su Internet via script
(e poi per mandarlo via email ad un dato indirizzo)?
--
Lurkos



ddclient o altri script che ci sono in giro, o addirittura alcuni router 
hanno una sezione per registrarsi a dyndns o servizi simili.
comunque sia *devi* usarlo in coppia con dyndns.
Registrati, non ci vuole niente.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo


Sul sito 
http://www.dyndns.com/support/clients/
 ci sono vari programmi 
per aggiornare dyndns.  ddclient e` uno script in perl che ricava l'IP 
dal router e lo trasmette al server.
E` previsto che lavori con i router piu` diffusi e non dovrebbe essere 
difficile adattarlo per esigenze diverse.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 difficile adattarlo per esigenze diverse.
non voglio essere pedante e noioso, pero' preciso un po' meglio, quello 
che forse si puo' capire male:
ddclient lavora su linux (chiaramente ci vuole una macchina con il perl).
i router piu' diffusi sono "compliant" con dyndns e altri servizi (ovvero 
hanno dei toolettini che fanno quello che fa ddclient).
p.s.: Io ho trovato ddclient in hang per ben 2 volte. Siccome ddclient 
lavora con il crontab, credo che sia successo che lui sia partito in 
quell'istante in cui la connessione e' giu' (e questo puo' succedere). In 
quel caso, se fai un "ps", troverai il processo: webcheckip blabla fermo 
li', per l'eternita', fino alla notte dei tempi. In questo caso, 
probabilmente, il successivo avvio tramite crontab, fallisce miseramente, 
poiche' viene trovata la vecchia istanza ancora attiva.
Probabilmente manca una banale funzione di timeout.
Da quel momento ho preferito usare la funzionalita' del router, che per 
il momento funziona egregiamente.


 cat ip | mailx -s IP email@domain
Grazie. :-)
Non ho un server locale per la gestione della posta e quindi cercavo un
metodo altenativo per inviare l'email (sto anche guardando se si riesce
ad usare mailx senza passare da sendmail o simili).
Ho pensato ad emulare la connessione via telnet, ma nello script ci deve
essere qualcosa che non va.
Lo script si collega al server smtp, saluta (helo), riceve la risposta e
a questo punto non si capisce bene cosa succeda, tanto che l'host
remoto chiude la connessione. Penso che probabilmente ci sia un errore
nell'invio di qualche comando, ma non riesco a capire il perché...
Tu hai qualche idea?
--- inizio ---
#!/bin/bash
MYIP=$(wget 
http://checkip.dyndns.org/
 -q -O - | cut -f 2 -d ":" | cut
-f 1 -d "<" | cut -f 2 -d " ")
{ sleep 3; echo -e "HELO "$MYIP"\r"; sleep 1; echo -e "MAIL FROM:
<indirizzo@mittente>\r"; sleep 1; echo -e "RCPT TO:
<indirizzo@destinatario>\r"; sleep 1; echo -e "DATA\r"; sleep 1; echo
-e "From: <indirizzo@mittente>\r"; sleep 0.5; echo -e "To:
<indirizzo@destinatario>\r"; sleep 0.5; echo -e "Subject: IP\r"; sleep
0.5; echo -e "\r"; sleep 0.5; echo -e $MYIP"\r"; sleep 0.5; echo -e
".\r"; sleep 0.5; echo -e "\r"; sleep 1; echo -e "QUIT\r"; } |
telnet smtp.mioprovider.tld 25
--- fine ---
-- 
Lurkos

 ad usare mailx senza passare da sendmail o simili).
Puoi usare ssmtp: è un programma che installa un /usr/bin/sendmail che
non fa altro che quello che vuoi tu, ovvero appoggiarsi a un smtp
esterno specificato nel file di config.
-- 
In a minute there is time for decisions and revisions which a minute
will reverse
T.S. Eliot

 per il momento funziona egregiamente.
Non ho ancora visto un routerino da casa che permetta di gestire più di
un dominio.
-- 
Luca Villani        NOC, OpenSailing.org
                    Remove "+settanta" in address for e-mail replies
http://www.opensailing.org
 , il primo Portolano collaborativo online

 mail -n -s "Your IP" email@recipient
Ci deve essere qualcosa che non va...
LOG: MAIN
  <= utente@debian U=utente P=local S=298
delivering 1HeArP-0001ns-OC
utente@zeus:~$ R: nonlocal for indirizzo@destinatario
LOG: MAIN
  ** indirizzo@destinatario R=nonlocal: Mailing to remote domains not
supported
LOG: MAIN
  <= <> R=1HeArP-0001ns-OC U=Debian-exim P=local S=1081
delivering 1HeArP-0001nu-Rw
R: system_aliases for utente@debian
R: userforward for utente@debian
LOG: MAIN
  Completed
R: procmail for utente@debian
R: maildrop for utente@debian
R: local_user for utente@debian
T: appendfile for utente@debian
LOG: MAIN
  == utente@debian R=local_user T=mail_spool defer (-6): mailbox
/var/mail/utente has wrong uid (0 != 1001)
Ad ogni modo ho trovato questo che fa esattamente quello che cercavo:
http://caspian.dotconf.net/menu/Software/SendEmail/
-- 
Lurkos

 di un dominio.
io in compenso ho visto dei domini su dyndns andare in expiration perchč 
l'ip non č cambiato per + di 30 gg e il routerino non ha fatto alcun 
tentativo di aggiornamento...
ciao
Stefano