Existe uma maneira de encontrar o endereço IP público dinâmico do self usando o cli no Debian? [duplicado]

6

A compreensão mais fácil / simples da Web é

a. Quando você se conecta ao seu ISP, o ISP fornece um endereço dianmico (como um número de telefone temporário) somente pela duração dessa conexão, na próxima vez que você se conectar, você terá novamente um endereço IP dinâmico diferente.

b. Você usa o navegador para sites diferentes que têm endereço IP estático (como números permanentes ou / e endereço permanente de um estabelecimento).

Agora existe uma maneira de obter o endereço IP do self em vez de ir para um serviço da web como o whatismyipaddress.com.

A conexão é a seguinte: -

ISP - Modem / Router - Sistema

Editar - O Modem / Router é um router / modem ADSL D-Link DSL-2750U. link

Eu vi Como rastrear meu endereço IP público em um arquivo de log? mas que também usa um serviço da web externo, seria melhor / melhor se pudéssemos fazer sem ir para um endereço IP / URL externo para o mesmo.

    
por shirish 07.05.2016 / 00:41

4 respostas

10

Além da resposta de Tony, de consultar o OpenDNS, que uso em meus scripts ao fazer logon em meus servidores para exibir tanto a máquina local quanto o endereço IP público remoto:

echo 'hostname' 'hostname -i' 'dig +short +time=1 myip.opendns.com @resolver1.opendns.com'

O Google também oferece um serviço semelhante.

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

Se você tiver um endereço IP privado, atrás de um roteador / infra-estrutura residencial ou corporativa, ou mesmo se você for seu próprio roteador, esses serviços na Internet revelarão o endereço IP público que você está usando para alcançá-los, é o que chega a eles fazendo o pedido.

Por favor, note que os métodos acima só funcionam se a máquina Linux em questão tiver acesso direto à Internet .

Se o seu servidor Linux é o seu roteador, além de você poder dar uma olhada nas suas interfaces atuais, você também pode fazer:

hostname -i

Como normalmente, o endereço IP público geralmente é a interface principal / primeira. Se não for a primeira interface, você também pode fazer:

$hostname -I
95.xx.xx.xxx 192.168.202.1 192.168.201.1 

Que mostra todos os endereços IP das interfaces da máquina.

Por favor, leia também:

Como Encontre meu endereço IP público da linha de comando em um Linux

Novamente, se o servidor Linux for o roteador, pode ser interessante colocar um script em /etc/dhcp/dhclient-exit-hooks.d para rastrear e atuar em suas alterações de IP, conforme documentado nesta pergunta:

Melhor método para agir sobre Alteração do endereço IP do ISP?

    
por 07.05.2016 / 00:53
5

Você só pode fazer isso se o seu modem ou roteador fornecer uma maneira de consultar essas informações. O endereço IP é atribuído à interface voltada para WAN / Internet no roteador ou modem, então você precisa ser capaz de consultá-lo ou conectar-se a um serviço da Internet que informa o que foi.

Você pode usar o DNS para obter uma resposta, usando isso,

dig +short @resolver1.opendns.com myip.opendns.com

mas ainda vai para um serviço externo para alcançá-lo.

Portanto, consulte seu roteador (se houver uma interface que você possa usar) ou use um serviço externo.

É claro que, se a máquina Linux for o seu roteador, você usará apenas ip ou ipconfig para consultar a interface WAN.

    
por 07.05.2016 / 00:50
3

1) Você pode usar o comando dig (domain information groper):

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

ou: dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

2) Você pode tentar o comando host :

host myip.opendns.com resolver1.opendns.com

3) usando sites da Web de terceiros por meio do comando curl ou wget :

curl ipecho.net/plain ; echo

ou

wget -qO- http://ipecho.net/plain ; echo

ou

curl ipv4.icanhazip.com

4) Por telnet :

telnet myip.gelma.net
    
por 07.05.2016 / 10:24
1

Seu sistema não sabe esse ip, então você vai perguntar algo externo ao sistema. Como o seu roteador sabe, que poderia oferecer tal serviço, eu não sei roteadores que fazem (mas eu nunca investiguei), mas se roteadores com essa funcionalidade existir nós provavelmente precisaríamos conhecer o modelo do seu roteador para informar você como.

Vários serviços para informá-lo de que o seu ip público existe e nem todos são baseados na web, naturalmente o seu roteador poderia implementar este baseado na web, bem como não baseado na web.

    
por 07.05.2016 / 00:52