Configurarndo DDNS com ip dinâmico no Ubuntu
Dica publicada em Linux / Introdução
Configurarndo DDNS com ip dinâmico no Ubuntu
Após quebrar a cabeça com ddns e IP dinâmico no Ubuntu Linux, resolvi colocar este post.
1) Instale dois pacotes:
# apt-get install gawk lynx
2) Baixe os arquivos de:
E descompacte o arquivo .gz no diretório /usr/local/sbin.
3) Edite o arquivo /usr/local/sbin/ddns.sh. Apague todo seu conteúdo e coloque o script que está no final desta dica.
4) Digite seu domínio, senha e interface nas variáveis configuráveis do script. Veja exemplo no próprio script.
5) Coloque a seguinte linha no crontab:
6) Boa sorte!
Obs.: se você estiver atrás de um NAT deverá redirecionar as portas do seu roteador. Para http, porta 80; para ssh porta 22 etc.
Conteúdo do arquivo /usr/local/sbin/ddns.sh:
1) Instale dois pacotes:
# apt-get install gawk lynx
2) Baixe os arquivos de:
E descompacte o arquivo .gz no diretório /usr/local/sbin.
3) Edite o arquivo /usr/local/sbin/ddns.sh. Apague todo seu conteúdo e coloque o script que está no final desta dica.
4) Digite seu domínio, senha e interface nas variáveis configuráveis do script. Veja exemplo no próprio script.
5) Coloque a seguinte linha no crontab:
*/1 * * * * /usr/local/sbin/ddns.sh
6) Boa sorte!
Obs.: se você estiver atrás de um NAT deverá redirecionar as portas do seu roteador. Para http, porta 80; para ssh porta 22 etc.
Conteúdo do arquivo /usr/local/sbin/ddns.sh:
!/bin/bash
# Script para testar se houve mudança de end. IP. Caso positivo, atualiza
#
# As seguintes variáveis devem ser configuradas:
#
DOMINIO="" #Seu end. DDNS (ex.: meuendereco.ddns.com.br)
SENHA="" #A sua senha para o domínio
INTERFACE="" #Coloque aqui o endereço da interface. Ex.: ppoe, eth0, etc
##################################################
TMPDIR=/tmp #Diretório temporário
BINDIR=/usr/local/sbin
##################################################
#OBTÉM O ANTIGO IP VÁLIDO
IPOLD="0"
if [ -e /tmp/ipnet.txt ]
then
IPOLD=`cat /tmp/ipnet.txt`
rm /tmp/ipnet.txt
fi
#OBTEM O NOVO IP VALIDO
lynx -dump http://www.meuip.info/ | grep IP | awk -F: '{ print $2 }' >> /tmp/ipnet.txt
IP=`cat /tmp/ipnet.txt`
#TESTA SE O IP ANTIGO É DIFERENTE DO NOVO
if [ $IPOLD != $IP ]
then
# Setamos o DDNS com o novo IP
${BINDIR}/setdns $SENHA $DOMINIO $IP
fi
#colocar no etc/contrab: */1 * * * * /usr/local/sbin/ddns.sh
# Script para testar se houve mudança de end. IP. Caso positivo, atualiza
#
# As seguintes variáveis devem ser configuradas:
#
DOMINIO="" #Seu end. DDNS (ex.: meuendereco.ddns.com.br)
SENHA="" #A sua senha para o domínio
INTERFACE="" #Coloque aqui o endereço da interface. Ex.: ppoe, eth0, etc
##################################################
TMPDIR=/tmp #Diretório temporário
BINDIR=/usr/local/sbin
##################################################
#OBTÉM O ANTIGO IP VÁLIDO
IPOLD="0"
if [ -e /tmp/ipnet.txt ]
then
IPOLD=`cat /tmp/ipnet.txt`
rm /tmp/ipnet.txt
fi
#OBTEM O NOVO IP VALIDO
lynx -dump http://www.meuip.info/ | grep IP | awk -F: '{ print $2 }' >> /tmp/ipnet.txt
IP=`cat /tmp/ipnet.txt`
#TESTA SE O IP ANTIGO É DIFERENTE DO NOVO
if [ $IPOLD != $IP ]
then
# Setamos o DDNS com o novo IP
${BINDIR}/setdns $SENHA $DOMINIO $IP
fi
#colocar no etc/contrab: */1 * * * * /usr/local/sbin/ddns.sh
tenho um modem dls um router d-link que disca e autentica e atraz disso tudo um servidor ftp com o suse, e o ddns da winco configurado como no tutorial deles mesmo.
mas só está atualizando o ip interno.
testei o seu tutorial mas acho que está incompleto.
quem puder me ajudar ficarei muito grato.
abrac.