Risposte:
/sbin/ifconfig -a
inet addr?
Puoi usare:
/bin/ip addr
ifconfigè in fase ora.
ip a.
Se si utilizza un indirizzo interno, verificare
curl http://myip.dnsomatic.com
potrebbe essere una buona idea su shell unix.
In alternativa, collega l'URL nel tuo browser.
Se si ottiene una risposta diversa da "il ifconfig -a" risultato,
l' ifconfigha dato il tuo indirizzo interno - che probabilmente non funzionerà dall'esterno.
Anche se tutto sembra a posto, potresti avere un firewall in atto che non consentirà connessioni ssh in entrata .
A quel punto dovresti provare la porta di interesse da un browser sulla macchina in,
http://www.canyouseeme.org/
Ciò confermerà la connettività tramite,
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses. Visualizza tutti gli indirizzi di rete dell'host. Questa opzione enumera tutti gli indirizzi configurati su tutte le interfacce di rete. L'interfaccia di loopback e gli indirizzi link-local IPv6 sono omessi. Contrariamente all'opzione -i, questa opzione non dipende dalla risoluzione dei nomi. Non fare ipotesi sull'ordine dell'output.
/bin/hostname -I
/bin/hostname -idà solo 127.0.1.1, il che è inutile.
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se hai bisogno del tuo indirizzo interno aggiungi l'interfaccia dopo ifconfig, ad es
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se sei dietro un NAT e hai bisogno dell'IP pubblico, usa questo:
wget -q -O - checkip.dyndns.org | sed -e 's /. Indirizzo IP corrente: // '-e' s / <. $ //'
tratto da: http://www.go2linux.org/what-is-my-public-ip-address-with-linux
Se hai bisogno di scoprire quale sia l'indirizzo IP del tuo router, puoi eseguire questo comando.
dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
Se stai usando OpenDNS per il tuo server DNS, puoi accorciarlo a:
dig + short myip.opendns.com
Puoi anche usare questo comando.
arricciatura http://myip.dnsomatic.com
Se hai più interfacce, potrebbe essere utile specificare quale vuoi IP. se si desidera l'indirizzo IPV4 dell'interfaccia 'eth0':
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
se si desidera l'indirizzo IPV6 dell'interfaccia 'eth0':
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
se si desidera cercare un IP tra due interfacce comuni di un laptop, wlan0 ed eth0:
CURRENT_IP=''
for INTERFACE in wlan0 eth0; do
if [ -z $CURRENT_IP ]; then
CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }')
fi
done
Basta arricciare questa pagina :
$ curl wtfismyip.com/text
Ecco una riga che funziona anche su Linux e OS X e restituirà il primo indirizzo non locale:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Invia crediti a /programming//a/13322549/99834
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
Il modo più semplice per farlo è probabilmente
ifconfig eth0
supponendo che la macchina abbia un unico indirizzo IP sull'interfaccia cablata predefinita, potrebbe essere necessario
ifconfig wlan0
se è su WiFi.
Quello che capisco è che vuoi connettere una macchina Ubuntu remota che ha un IP dinamico. Vai sul sito dyndns.org e apri un account gratuito. Quindi sul computer remoto è necessario installare uno strumento ip dinamico.
sudo aptitude install dyndns-client
così puoi ssh via macchina remota via
ssh username@yourdynamicnamealias.dyndns.org
Quindi dopo la configurazione non avrai mai bisogno dell'indirizzo IP della macchina remota.
se hai bisogno di un solo IP di una determinata interfaccia puoi fare:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
Una volta ho giocato a golf l'estrazione dell'indirizzo IP su Linux:
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
Se stai cercando un indirizzo IP pubblico della casella , puoi utilizzare quanto segue:
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"È possibile utilizzare dig(1)opzioni come -4o -6in modo specifico aspetto per un indirizzo IPv4 o IPv6; Google fornirà una risposta in un record di TXTtipo, che avrà virgolette al suo interno quando presentato da dig; se vuoi successivamente usare la variabile con utility come traceroute, devi usare qualcosa come tr (1) per rimuovere le citazioni.
Altre opzioni includono whoami.akamai.nete myip.opendns.com, che rispondono con Ae AAAAregistrano (anziché TXTcome nell'esempio precedente di Google), quindi non richiedono la rimozione delle virgolette:
dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short
dig -4 @resolver1.opendns.com -t any myip.opendns.com +short
dig -6 @resolver1.opendns.com -t any myip.opendns.com +shortEcco uno script di esempio che utilizza tutte le opzioni sopra per impostare le variabili:
#!/bin/sh
IPANY="$(dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv4="$(dig -4 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv6="$(dig -6 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
AKAMv4="$(dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short)"
CSCOv4="$(dig -4 @resolver1.opendns.com -t a myip.opendns.com +short)"
CSCOv6="$(dig -6 @resolver1.opendns.com -t aaaa myip.opendns.com +short)"
printf '$GOOG:\t%s\t%s\t%s\n' "${IPANY}" "${GOOGv4}" "${GOOGv6}"
printf '$AKAM:\t%s\n$CSCO:\t%s\t%s\n' "${AKAMv4}" "${CSCOv4}" "${CSCOv6}"
Se stai cercando un indirizzo IP privato o un set di tutti gli indirizzi IP assegnati al box, potresti usare una combinazione di ifconfig(su BSD e GNU / Linux), ip addr(su GNU / Linux), hostname(opzioni -ie -Isu GNU / Linux) e netstatper vedere cosa sta succedendo.
vi /etc/network/interfacese imposta l'interfaccia sustatic(vedi help.ubuntu.com/8.10/serverguide/C/network-configuration.html )