Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Kalango Linux Remasterizado!
Por efrj
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Tutorial DDNS over NAT
Linux user
Publicado por Andre F em 23/05/2007

Login: andrefgj, 34737 pontos
[ Hits: 14519 ]

Tutorial DDNS over NAT

Decidi escrever esse tutorial devido a minha necessidade de acessar meu PC via ssh (putty) sem precisar antes verificar qual é meu ip externo. Minha conexão com a internet é ADSL (Speedy Light), minha distro é o Fedora Core 6 e meu modem está como NAT (roteado).

Existe uma solução free DDNS para Windows e Linux da winco (www.winco.com.br) que funciona muito bem, porém no site do desenvolvedor só existe informações de configuração para pessoas que possuam um IP fixo que pode estar atrás de um NAT ou não, ou não possuam um IP fixo e não estão atrás de um NAT (usando discadores do provedor).

O problema é que para pessoas que não possuem um IP fixo, mas que podem estar atrás de um NAT (meu caso). Existe um tutorial muito bom que tenta corrigir essa deficiência, mas está desatualizado. Bom, vamos por a mão na massa:

1) Faça seu cadastro no link:
Você irá criar um domínio com senha para que você sempre o acesse ao invés de decorar seu ip externo. Ex: "http://nome_do_dominio.ddns.com.br".

2) Siga os passos 1 e 2 do tutorial:
OBS: Caso esse link não esteja mais disponível, clique aqui (Tutorial_DDNS_Over_NAT.doc);

3) Daqui para frente você deverá seguir como usuário "root". Como dito no terceiro passo do tutorial, apague todo o conteúdo do arquivo (como descrito no tutorial), porém insira as seguintes linhas:

#!/bin/bash
unset LANG
rm -fvr /tmp/index* 1> /dev/null &&
cd /tmp && wget www.whatismyip.com 2> /dev/null && cat index.html | grep "<TITLE>" | grep "WhatIsMyIP.com" | awk '{print $3}' | awk -F '<' '{print $1}'

Obs: O tutorial diz para fazer basicamente a mesma coisa, porém tive que fazer algumas alterações na última linha de comando para que o programa funcionasse perfeitamente. É necessário ter instalado o "awk" para que o programa funcione. Caso esteja usando o Fedora 6 faça o seguinte para instalar o awk:

a) Digite o comando abaixo como usuário "root" (necessário estar conectado com a internet):

# rpm -ivh ftp://ftp.pbone.net/mirror/\
download.fedora.redhat.com/pub/fedora/linux/core/\
updates/6/i386/gawk-3.1.5-14.fc6.i386.rpm


ou:

b) Faça o download do programa no endereço:
e em seguida instale-o com o comando:

# yum -y localinstall gawk-3.1.5-14.fc6.i386.rpm

4) Como usuário "root" abra o editor de texto (no meu caso usei o VI) e insira as seguintes linhas no final do arquivo "/etc/crontab":

*/1 * * * * root /usr/local/sbin/ddns.sh
0,30 * * * * root /usr/local/sbin/ddns-refresh.sh

Pronto, você não precisa mais ficar verificando qual é seu IP externo toda vez que quiser acessar seu computador fora de casa. Basta acessar seu domínio particular e você estará conectado ao seu PC. Se você quer uma versão do programa já com todas essas alterações feitas, clique aqui (ddns-dinnat-linux-1.0.tar.gz). Nesse arquivo eu já fiz todas as alterações necessárias. Quaisquer dúvidas postem, ok?

Autor: André Ferreira Guimarães Junior
Analista de Qualidade de Software
e-mail: andrefgj@yahoo.com.br

Referências:

Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Como atualizar o pacote office no Linux
   Dica Linux recomendada BIOS sem opção de boot pelo CD-ROM
   Dica Linux recomendada Como inserir um script para execução e fixação de um modem 3g vivo no Linux
   Dica Linux recomendada OpenDNS FamilySHield - Aprenda, em 10 passos, a barrar a pornografia no seu navegador
   Dica Linux recomendada Existe uma distribuição Linux melhor? Como escolher?

Comentários
[1] Comentário enviado por xfabi0x em 27/05/2007 - 20:54h:

André,
Cansei de tentar fazer isso com o ddclient+dyndns.

To com problemas que a winconnection não habilitou o meu dominio ainda, mais tá tudo funcionado só falta eles aceitarem minha autenticação.. enviei um e-mail p\ eles.. Demorou p\ o teu dominio funcionar ?

Valeu a dica :D

[2] Comentário enviado por andrefgj em 28/05/2007 - 00:43h:

Fabio,

Fiz uns testes aqui e comprovei que realmente agora quando se cria um novo domínio pelo site, o primeiro logon deve ser feito usando o ddns/client para windows. Caso você não tenha acesso à alguma máquina com o windows instalado use esse domínio que criei para testes:

Domínio: ddnsteste2.ddns.com.br

Senha de Confirmação: bc55514f6e

Veja se consegue com esse. Positivos ou negativos os resultados, poste-os aqui, ok?

André Ferreira

[3] Comentário enviado por xfabi0x em 28/05/2007 - 11:18h:

André,

Valeu pela dica, vou instalar o ddns/client for Windows, ai quando chegar em casa eu testo meu dominio e esse seu de testes :D

Abraços



[4] Comentário enviado por xfabi0x em 30/05/2007 - 10:53h:

Funcinou, mais o suporte dos caras é um lixo.

Mandei e-mail a mais de uma semana e nada..

Abraço

[5] Comentário enviado por andrefgj em 22/09/2007 - 01:28h:

Atualizando o post:

A página do qual o script descrito no passo 3 requisita o IP atual mudou de layout. Portanto, o script deve ser alterado para a seguinte forma:

#!/bin/bash
unset LANG
rm -fvr /tmp/index* 1> /dev/null &&
cd /tmp && wget www.vermiip.es/o-meu-ip 2> /dev/null && cat index.html | grep "Endere" | awk '{print $3}' | awk -F '<' '{print $1}'

André Ferreira


[6] Comentário enviado por iswael em 05/03/2008 - 21:13h:

Instalei o ddns no slackware, ja usava o ddns no windows porém não funcionou no linux, ja fiz tudo com esta no tutorial, porém não funciona, você me dizer se o problema é com distribuição do linux slackware?

[7] Comentário enviado por andrefgj em 23/03/2008 - 21:26h:

Use o seguinte código no passo 3:

#!/bin/bash
unset LANG
rm -fvr /tmp/index* 1> /dev/null &&
cd /tmp && wget www.vermiip.es/o-meu-ip 2> /dev/null && cat index.html | grep "Endere" | awk '{print $3}' | awk -F '<' '{print $1}'

PS: Esse código só deve ter 3 linhas não existe quebra de linha após a terceira linha.

Abs,
André

[8] Comentário enviado por andrali em 04/06/2008 - 16:52h:

André parabéns fiz aqui e deu certo...

Luiz Itan
msn: suportt1@hotmail.com

[9] Comentário enviado por jr.jorro em 23/03/2009 - 10:15h:

Quem não lê os comentários não vai conseguir, pq o script GETIP tá desatualizado.

Aqui funciona muito bem :D

Moises Augusto
jr.jorro@gmail.com

[10] Comentário enviado por genivalos em 13/08/2009 - 22:19h:

André,

Tenho linux centos e fiz o procedimento acima com as devidas correções do getip, conforme os comentarios.
Porém não consegui instalar o gawk, deu o seguinte erro: public key for gawk-3.1.5-14.fc6.i386.rpm is not installed.

Mas estou conseguindo pingar o meu ddns.

Outra dúvida: consigo acessar um serviço Voip neste mesmo servidor com esse ddns??

muito obrigado...

genival

[11] Comentário enviado por andrefgj em 14/08/2009 - 09:17h:

Provavelmente você precisaria importar a public key desse repo, mas vamos tentar uma solução diferente pq o arquivo que coloquei no tutorial era para fedora. Tenta rodar esse aqui:

# rpm -ivh --nosignature ftp://ftp.muug.mb.ca/mirror/centos/5.3/os/i386/CentOS/gawk-3.1.5-14.el5.i386.rpm

Acho que você consegue pingar o seu endereço ddns pq quem responde nesse caso é o servidor ddns, não a sua máquina (não tenho certeza)

Se o serviço Voip estiver instalado e rodando na máquina onde o cliente ddns estiver instalado acredito que não há problema. Mesmo pq o ddns só tem a função de redirecionar as requisições feitas para o seu endereço ddns para o seu ip atual.

Tenta isso e posta ai se funcionou ou não.

Abs!

[12] Comentário enviado por genivalos em 18/08/2009 - 13:06h:

Andre,

Dentro do diretorio (/usr/local/sbin) digitei o comando acima e veio a mensagem: "gawk-3.1.5-14.el5.i386.rpm is already installed".

Será que funcionou???? Preciso rodar o comando: yum -y localinstall gawk-3.1.5-14.el5.i386.rpm????

Desculpe, não conheço muito de linux... Vou pesquisando e configurando.

Muito obrigado,

Genival.

[13] Comentário enviado por andrefgj em 18/08/2009 - 13:54h:

Sim, pela mensagem que você disse já está instalado. Não é necessário tentar instalá-lo novamente, você só precisa continuar os demais passos do tutorial e pronto.

Não esqueça que você precisa configurar seu roteador para liberar acesso as portas que se deseja. Por exemplo:

Supondo que na sua maquina linux você tenha uma aplicação voip que usa a porta "9999" (só para efeito de explicação) e o ip da sua maquina linux é "192.168.0.100". Você precisa dizer para o seu roteador que tudo que chegar na porta "9999" deve ser redirecionado para o ip "192.168.0.100" (faça uma busca no google por portfoward)

Espero ter ajudado, qualquer coisa posta ai.

Abs.

[14] Comentário enviado por genivalos em 19/08/2009 - 11:09h:

André,

Muito obrigado pela sua ajuda. O meu ddns está funcionando corretamente.

Quanto ao redirecionamento das portas eu já havia configurado e está ok.

Agora consigo registrar um ramal externo no meu servidor VOIP. Este ramal utliliza o
protocolo IAX (proprietário do Asterisk) e está funcionando corretamente (chamada/voz, etc).

Agora estou pesquisando quanto ao registro de um ramal SIP, pois este protocolo tem
grandes problemas com NAT (porta de sinalizaçao 5060 e portas relacionadas à mídia
(10000 a 20000 no meu caso). Já liberei e redirecionei estas portas, porém o ramal não
se autentica.

Valeu, o seu tutorial é muito bom mesmo... parabéns.

Att...

Genival.

[15] Comentário enviado por ardemiranda em 01/10/2009 - 16:39h:

So fiz a alteração para o site http://meuip.datahouse.com.br/">http://meuip.datahouse.com.br/ ao invez do http://www.whatismyip.com/ porque ele tirara o ip do title


#!/bin/bash
unset LANG

rm -fvr /tmp/index* 1> /dev/null && cd /tmp && wget http://meuip.datahouse.com.br 2> /dev/null && cat index.html | grep "<title>" | grep "Meu ip - Qual &eacute; o Meu IP?" | awk '{print $9}' | awk -F '<' '{print $1}'


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.