Como posso encontrar a caixa linux do meu cliente na internet automaticamente?

3

Estou procurando uma maneira de ter periodicamente o "telefone de casa" de uma máquina do cliente, para que eu possa fazer facilmente um login ssh, se necessário. Eu estava pensando em um script simples que pega o endereço IP público e o publica em algum lugar - Twitter por exemplo, ou talvez uma solicitação http para um servidor apache que eu opero, ou um e-mail toda vez que ele muda.

Existem ferramentas / scripts para essa finalidade? Eu pesquisei e não encontrei nenhum

    
por crobicha 12.09.2015 / 06:17

1 resposta

3

ddclient

A maneira mais fácil é usar o ddclient . Eu uso isso no meu servidor, combinado com um servidor de nome de domínio gratuito, como o dynu.com.

Há mais documentação no link, mas ddclient pesquisa o endereço IP dinâmico do seu cliente. Quando muda, envia o novo endereço para dynu.com (por exemplo). Você terá uma conta em dynu.com, onde você especifica seu nome de domínio personalizado. Então, você pode se conectar diretamente ao link , que redireciona para o IP do seu cliente.

A vantagem sobre o uso de um endereço IP numérico é que você não precisa atualizar constantemente sua configuração ssh, e pode simplesmente se conectar diretamente ao nome do domínio. Isso funciona muito bem no meu servidor.

IP numérico

Como alternativa, se você não quiser usar isso e preferir postar o IP numérico em algum lugar, aqui está o script antigo que eu costumava usar. Ele usa uma página da Web externa para encontrar seu IP local, que é a única maneira fácil de fazer isso. Em seguida, ele envia o e-mail [email protected] , mas você pode modificá-lo para atender às suas necessidades. Você pode executar isso como um cron job.

#!/usr/bin/env bash

CURRENTIP=$(curl -s http://myip.dnsomatic.com)
# Alternatively, use http://icanhazip.com

if echo $CURRENTIP | grep -qE '^([0-9]{1,3}\.){3}[0-9]{1,3}$' ; then
  if ! cmp --quiet <(echo $CURRENTIP) /home/pi/.myipaddress ; then
    echo "IP address changed to ${CURRENTIP}"
    echo $CURRENTIP > /home/foo/.myipaddress
    echo -e "Foo's IP address has changed to ${CURRENTIP} .\n" | mail -s 'Change of IP address' [email protected]
  fi
  else
    echo "ERROR: IP address enquiry returns ${CURRENTIP}"
fi
    
por 12.09.2015 / 06:28