Respostas:
/sbin/ifconfig -a
inet addr
?
Se você tiver um endereço interno em uso, marque
curl http://myip.dnsomatic.com
pode ser uma boa idéia para os shell do Unix.
Ou simplesmente insira esse URL no seu navegador.
Se você receber uma resposta diferente do " ifconfig -a
" resultado,
o ifconfig
seu endereço interno foi fornecido - o que provavelmente não funcionará de fora.
Mesmo que tudo pareça bem, você pode ter um firewall que desaprova as conexões ssh recebidas .
Nesse momento, você deve experimentar a porta de interesse de um navegador na máquina em,
http://www.canyouseeme.org/
Isso confirmará a conectividade por meio de,
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses
. Exibir todos os endereços de rede do host. Esta opção enumera todos os endereços configurados em todas as interfaces de rede. A interface de loopback e os endereços locais de link IPv6 são omitidos. Ao contrário da opção -i, essa opção não depende da resolução de nomes. Não faça suposições sobre a ordem da saída.
/bin/hostname -I
/bin/hostname -i
apenas dá 127.0.1.1
, o que é inútil.
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se você precisar do seu endereço interno, anexe sua interface após o ifconfig, por exemplo
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Se você está atrás de um NAT e precisa do IP público, use este:
wget -q -O - checkip.dyndns.org | sed -e /. Endereço IP atual: // '-e' s / <. $ // '
extraído de: http://www.go2linux.org/what-is-my-public-ip-address-with-linux
Se você precisar descobrir qual é o endereço IP do seu roteador, poderá executar este comando.
dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
Se você estiver usando o OpenDNS para o seu servidor DNS, poderá reduzi-lo para:
dig + short myip.opendns.com
Você também pode usar este comando.
curl http://myip.dnsomatic.com
Se você possui várias interfaces, pode ser útil especificar qual você deseja IP. se você deseja o endereço IPV4 da interface 'eth0':
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
se você deseja o endereço IPV6 da interface 'eth0':
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
se você deseja procurar um IP entre duas interfaces comuns de um laptop, wlan0 e 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
Apenas enrole esta página :
$ curl wtfismyip.com/text
Aqui está uma linha que também funciona no Linux e OS X e retornará o primeiro endereço que não é local:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Enviar créditos para /programming//a/13322549/99834
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
A maneira mais simples de fazer isso é provavelmente
ifconfig eth0
supondo que a máquina tenha um único endereço IP na interface com fio padrão - você pode precisar
ifconfig wlan0
se estiver em WiFi.
O que eu entendo é que você deseja conectar uma máquina ubuntu remota com ip dinâmico. Acesse o site dyndns.org e abra uma conta gratuita. Em seguida, na máquina remota, você precisa instalar uma ferramenta ip dinâmica.
sudo aptitude install dyndns-client
para que você possa ssh máquina remota via
ssh username@yourdynamicnamealias.dyndns.org
Portanto, após a configuração, você nunca precisará do endereço IP da máquina remota.
se você precisar de apenas um IP da interface fornecida, poderá:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
Certa vez, joguei golfe na extração de endereço IP no Linux:
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
Se você estiver procurando por um endereço IP público da caixa , use o seguinte:
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"
Você pode usar dig(1)
opções como -4
ou -6
procurar especificamente um endereço IPv4 ou IPv6; O Google fornecerá uma resposta em um registro do TXT
tipo, que terá aspas quando apresentado pordig
; se você quiser usar a variável posteriormente com utilitários como traceroute
, você deve usar algo como tr (1) para remover as citações.
Outras opções incluem whoami.akamai.net
e myip.opendns.com
, que respondem com A
e AAAA
registros (em vez de TXT
no exemplo acima do Google), portanto, não exigem a remoção das aspas:
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
Aqui está um exemplo de script que usa todas as opções acima para definir as variáveis:
#!/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 você estiver procurando por um endereço IP privado ou por um conjunto de todos os endereços IP atribuídos à caixa, poderá usar uma combinação de ifconfig
(no BSD e GNU / Linux), ip addr
(no GNU / Linux), hostname
(opções -i
e -I
em GNU / Linux) e netstat
para ver o que está acontecendo.
vi /etc/network/interfaces
e definir a interface parastatic
(ver help.ubuntu.com/8.10/serverguide/C/network-configuration.html )