Serviços de DNS Dinâmico

Serviços de DNS Dinâmico

O grande obstáculo para rodar servidores ou programas de acesso remoto em uma conexão com IP dinâmico é justamente o fato de que o endereço muda constantemente.
Você poderia muito bem instalar um servidor web, configurado para usar a porta 8080 e dizer para para um amigo acessá-lo através do http://seu-endereço-ip:8080, mas ele precisaria perguntar o endereço novamente cada vez que fosse acessar seu servidor, já que o endereço seria diferente. A situação seria ainda mais complicada se você precisasse acessar seu micro via SSH (ou qualquer programa de acesso remoto), já que se você não está em casa, não há como saber o endereço corrente.

A solução para o problema é utilizar um serviço de DNS Dinâmico (Dynamic DNS), onde você pode registrar um endereço de acesso como “meu-nome.no-ip.org” ou “fulano.dyndns.com”, que passa a apontar para seu endereço IP corrente.

Normalmente, para registrar um domínio é necessário ter um servidor com dois IPs fixos (ou dois servidores, com um IP cada), de forma a configurar os dois servidores DNS necessários. Os servidores do registro.br ou da entidade responsável pelo seu domínio passam então a redirecionar as requisições para o seu servidor DNS primário, que responde com o endereço IP do servidor. Um exemplo de configuração para um servidor DNS rodando o Bind seria:

@ IN SOA servidor.gdhn.com.br. hostmaster.gdhn.com.br. (
2008040645 3H 15M 1W 1D )
NS servidor.gdhn.com.br.
IN MX 10 servidor.gdhn.com.br.
gdhn.com.br. A 64.234.23.12
www A 64.234.23.12
ftp A 64.234.23.12

Como você pode ver, as três últimas linhas do arquivo relacionam o domínio e mais dois subdomínios com o endereço IP do servidor, de forma que ao acessar os endereços “gdhn.com.br” “www.gdhn.com.br” ou “ftp.gdhn.com.br” o cliente seria encaminhado para o endereço “64.234.23.12”, que é o endereço IP do servidor no exemplo.

É impossível registrar um domínio usando uma conexão com IP dinâmico, mas nada impediria que o seu amigo, que administra o servidor criasse um subdomínio apontando para o seu IP corrente. Ele precisaria apenas inserir uma nova linha na configuração do servidor DNS, como em:

@ IN SOA servidor.gdhn.com.br. hostmaster.gdhn.com.br. (
2008040645 3H 15M 1W 1D )
NS servidor.gdhn.com.br.
IN MX 10 servidor.gdhn.com.br.
gdhn.com.br. A 64.234.23.12
www A 64.234.23.12
ftp A 64.234.23.12
fulano A 200.26.242.123

Com isso, qualquer um que tentasse acessar o “fulano.gdhn.com.br” seria encaminhado para o endereço “200.26.242.123”, que é o endereço IP da sua máquina.

Naturalmente, isso não resolve o problema, já que o endereço IP incluído no arquivo ficaria logo desatualizado. Mas, imagine que seu amigo foi um passo além e desenvolveu um pequeno programa que envia um pacote de atualização a cada 5 minutos, contendo seu endereço IP corrente. Este programa trabalha em conjunto com um script, ativo no servidor, que se encarrega de ler os pacotes e atualizar a linha no arquivo.

Mesmo que seu endereço IP mudasse, ou que você precisasse reiniciar o modem (o que também mudaria o endereço), o domínio ficaria apenas 5 minutos fora do ar, o tempo do programa instalado na sua máquina enviar o próximo pacote de atualização.

Esta é justamente a idéia por trás dos diversos serviços de DNS dinâmico. Depois de se cadastrar e registrar seu subdomínio, você instala um programa “dedo-duro” no seu micro, que periodicamente entra em contato com os servidores do serviço e atualiza automaticamente o redirecionamento. Você recebe um endereço no estilo “seu-nome.alguma-coisa.com” que aponta sempre para seu endereço IP corrente.

Existem diversos serviços de DNS dinâmico, a maioria deles gratuitos. Fornecer domínios virtuais é um serviço muito menos custoso do que fornecer webmails, por exemplo. Por isso, muitas empresas oferecem o serviço gratuitamente, como uma forma de divulgação ou buscando cobrir os custos com anúncios. Alguns exemplos são:

http://www.no-ip.com
http://www.dyndns.com
http://www.da.ru
http://www.dtdns.com/
http://dns2go.com

Um dos que tenho usado sem problemas ao longo dos anos é o http://www.no-ip.com. Depois de criar o login de acesso, você pode cadastrar os domínios (você pode criar vários) usando a opção “Hosts / Redirects > Add”:

img1
As opções disponíveis são:

  • DNS Host (A): cria o domínio apontando para seu endereço IP corrente. Esta é a opção que você vai usar na maioria dos casos.
  • DNS Host (Round Robing): Cria um domínio que divide as requisições entre vários endereços cadastrados, fazendo com que cada um atenda parte das requisições. Pode ser usado para dividir a carga entre múltiplos servidores disponibilizando o mesmo arquivo, por exemplo.
  • DNS Alias | CNAME |: Cria um redirecionamento para outro domínio especificado por você.
  • Port 80 Redirect: Redireciona a porta 80 do domínio para uma porta diferente da sua máquina, permitindo burlar o bloqueio da porta 80 imposto pelas operadoras. O visitante pode acessar então o “http://fulano.no-ip.org” e cair na porta 8080 no seu endereço IP corrente.
  • Web Redirect: Um domínio que direciona para uma URL específica. Usado como um atalho para outro endereço, não para acessar sua máquina remotamente.

Depois de cadastrar o domínio é só ir na seção de downloads e baixar o update cliente. Estão disponíveis versões para Windows, Linux e OS X.

A versão Windows é um programa bastante simples, que mostra os domínios cadastrados e fica ativo ao lado do relógio fazendo a atualização periódica:

img2
A versão Linux, por outro lado, é desenvolvida para rodar em servidores, por isso é um daemon em modo texto, que é configurado através de um arquivo de configuração.

Para instalá-lo, comece baixando no arquivo no http://www.no-ip.com/downloads.php e descompactando-o. Dentro da pasta que será criada, existe uma pasta chamada “binaries”, com o arquivo “noip2-Linux”. Este é o executável que faz a atualização do IP. Para usá-lo, copie-o para a pasta “/usr/local/bin”:

# tar -zxvf noip-duc-linux.tar.gz
# cd noip-2.1.1/
# cd binaries/
# cp -a noip2-Linux /usr/local/bin/

O próximo passo é executar o “noip2-Linux”, usando a opção “-C -c” (create config), que cria o arquivo de configuração. Você pode indicar onde o arquivo será criado, basta indicá-lo no comando. Nesta etapa ele pedirá o login de usuário e a senha, que serão gravados de forma encriptada dentro do arquivo:

# noip2-Linux -C -c /etc/noip.conf

Com o arquivo de configuração criado, inicie o noip2-Linux usando o comando abaixo. Inclua o comando no final do arquivo “/etc/rc.d/rc.local” ou outro arquivo de inicialização para que ele seja executado durante o boot.

Não se esqueça de adicionar o “&” no final do comando, ele faz o programa rodar em background. Sem ele, o comando bloqueia o terminal, paralisando a inicialização do sistema. Note que agora usamos apenas o segundo “c”, que indica que ele deve usar o arquivo de configuração anteriormente criado:

# noip2-Linux -c /etc/noip.conf &

Se você compartilha a conexão entre vários micros, não é necessário manter o cliente instalado no servidor, basta mantê-lo ativo em qualquer um dos micros da rede interna. Como todos acessam a web usando o mesmo endereço IP, o cliente não tem problemas para enviar os pacotes de atualização.

Outra dica é que muitos modems ADSL incluem clientes de atualização para vários serviços de domínios virtuais. Você pode então especificar uma conta dyndns, no-ip ou outro serviço suportado e o próprio modem se encarrega das atualizações, sem que você precise deixar o cliente ativo em algum dos PCs da rede

Procure pela opção “Dynamic DNS”, “DDNS” ou similar dentro da seção “Tools” ou “Advanced” dentro da interface de configuração. Aqui temos um exemplo em um modem/roteador US Robotics USR9108:

img3
Usar um DNS dinâmico abre um grande volume de possibilidades, pois com um endereço fixo você passa a poder acessar os micros da sua rede de qualquer lugar. Você pode então transferir arquivos que estão no seu micro de trabalho ou mesmo rodar aplicativos instalados nele remotamente. Normalmente, as pessoas associam o uso de um DNS dinâmico com disponibilizar um servidor web ou FTP, mas na prática os usos mais comuns são o acesso remoto e a disponibilização de servidores de jogos multiplayer.

Ter um endereço fixo e manter servidores ativos parece uma brecha de segurança, mas com um firewall bem configurado não existem grandes riscos. É possível fazer muita coisa deixando apenas um servidor SSH aberto.

O SSH usa uma única porta a 22. Você pode então usar um firewall para bloquear todas as demais portas ou, simplesmente redirecionar apenas a porta 22 na configuração do modem, deixando que ele bloqueie as demais.

Com acesso apenas à porta 22, a única forma de obter acesso ao seu micro é através do SSH. Como brechas de segurança no SSH são extremamente raras (afinal, ele é usado na grande maioria dos servidores Linux do mundo), o único risco real seria alguém conseguir adivinhar sua senha de acesso, o que é matematicamente impossível usando uma boa senha, de 8 caracteres ou mais.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X