9 de março de 2013

Um endereço familiar para IP dinâmico


Saudações!

É recomendado ler o tutorial sobre Port Forwarding, para se tirar partido máximo dos dois.

Estando fora de casa e querendo aceder ao nosso RPi é claro que precisamos do IP externo da nossa rede e atribuir a porta adequada ao RPi dependendo do serviço a que queremos aceder (relembramos para visitarem este link). Estando o problema do Port Forwarding resolvido, é preciso ter o IP externo da rede.

Das duas uma:
-Antes de sairmos de casa apontamos o nosso IP;
-Montamos um serviço de dns no RPi. <- Este será o tema deste tópico



Quando iniciei a exploração executava a primeira opção e tudo funcionou bem... até ao dia em que faltou a electricidade em minha casa enquanto estava fora, o IP muda e deixo de conseguir aceder ao RPi e fico triste. Algo tinha que mudar. Após alguma pesquisa e conversa com outro bloguista do ardepi encontrámos uma solução: Montar um serviço de dns.

dns significa Domain Name System, e este sistema útil atribui a um endereço escrito com palavras, um conjunto de algarismos e pontos a que chamamos IP. Quando escrevemos por exemplo www.publico.pt na barra de endereços do nosso browser, um servidor de dns vai indicar o IP 195.23.128.85 e é a esta localização na internet a que o browser se vai ligar.

O mais interessante é que existem servidores que oferecem dns configuráveis, isto é, que apontem para o IP que queremos. Ora, isto é muito útil se conseguirmos que o RPi informe esse servidor qual é o IP da rede a que está ligado para possibilitar um endereço estável para um IP que esteja sempre a mudar.

Deixando a conversa para trás e passando à acção:

1 - Criar uma conta em:

https://www.dnsdynamic.org/signup.php

2 - Ir a "manage" e carregar na opção "Add a new domain"

3 - Para o exemplo que vamos usar escolheu-se o domínio dnsdynamic.com e deu-se um nome ao endereço "omeuendereco" (já deve existir, coloquem outro nome). Carregar add.

4 - Aceder ao RPi e escrever o comando

sudo apt-get install ddclient

5 - Durante a instalação aceitar com y o que for pedido. Vão aparecer definições a configurar:

5.1 Quando for pedido o fornecedor de serviço dns escolhe-se "other" e escreve-se www.dnsdynamic.org

5.2 No protocolo de dns escolher dyndns2 protocol.

5.4 - 5.5 Colocam o username e password que utilizaram no registo em https://www.dnsdynamic.org/signup.php


5.6 Na interface de rede usa-se eth0.

5.7 No domínio escrever "omeuendereco.dnsdynamic.com"

Ele configura umas coisas e acaba sem dizer nada.

6 - Agora edita-se o ficheiro ddclient.conf na directoria /etc escrevendo

sudo nano /etc/ddclient.conf

e substituindo o conteudo por:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

daemon=60
syslog=yes
mail=root
mail-failure=root
pid=/var/run/ddclient.pid
ssl=yes

use=web, web=myip.dnsdynamic.org/
server=www.dnsdynamic.org
login=login_da_conta_do_passo1
password=passe_da_conta_do_passo1
server=www.dnsdynamic.org,
protocol=dyndns2
omeuendereco.dnsdynamic.com

Atenção, não esquecer de alterar os parâmetros login, password e "omeuendereco.dndynamic.com".

7 - Por último cria-se um ficheiro na diretoria /etc/init.d que é corrido cada vez que o RPi inicia e executa o comando

/usr/sbin/ddclient -daemon 300 -syslog

Assegurar que esse ficheiro inicia com o boot do RPi (vide Correr scripts quando o RPi inicia).

Como sempre, alguma dúvida ou algo que não funciona correctamente, façam favor de apitar nos comments =).

Cumprimentos e boas explorações

Sem comentários: