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' ifconfig
ha 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 -i
dà 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 -4
o -6
in modo specifico aspetto per un indirizzo IPv4 o IPv6; Google fornirà una risposta in un record di TXT
tipo, 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.net
e myip.opendns.com
, che rispondono con A
e AAAA
registrano (anziché TXT
come 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 +short
Ecco 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 -i
e -I
su GNU / Linux) e netstat
per vedere cosa sta succedendo.
vi /etc/network/interfaces
e imposta l'interfaccia sustatic
(vedi help.ubuntu.com/8.10/serverguide/C/network-configuration.html )