domingo, 11 de abril de 2021

Atualizando o IP público automaticamente para instalar o VPN no OMV5

Pessoal,

Falei neste post aqui sobre IP público, qual a importância dele para o VPN e como instalar o aplicativo do No-IP para atualizar automaticamente o IP público para um serviço gratuito de DNS.

Pois bem, o No-IP faz isso através de graça desde que você entre mensalmente no serviço deles e renove o pedido. Nada de mais mas é um pé no saco, convenhamos.

Pois bem, conheci hoje o DuckDNS. Na verdade eu já conhecia, mas não sei porque preferi o No-IP a ele. Ele faz a mesma coisa que o No-IP, mas sem precisar entrar todo mês.

Pois bem, no FreeNAS corria uma VM com Ubuntu Server que, entre outras coisas, fazia isso. O FreeNAS era baseado no BSD. Já o OMV é baseado no Debian, que é a base para o Ubuntu. Assim, teoricamente, eu poderia configurar o DuckDNS diretamente no console do Debian, só que preferi fazer pela VM do Ubuntu mesmo.

Vamos lá. Antes de tudo, você tem que entrar no site do DuckDNS, logar e escolher o domínio que você quer (o nome do seu domínio será http://<nome>.duckdns.org. Depois clique em "update ip" para o serviço "vincular" o IP público da sua rede ao domínio que você criou.

Como expliquei antes, é mais fácil guardar e digitar http://fulano.duckdns.org que 191.174.19.14. É para isso que serve o DNS. De novo, veja tudo isso bem explicado aqui!

Pois bem, agora abra o terminal do seu computador e vamos instalar. O site já monta um tutorial para instalação, disponível em install. Eu instalei no Ubuntu VM, que é Debian, que origina o Raspberry. Assim, usei o sistema operacional pi que eles mostram.

Vou partir do princípio que você está logado via ssh, é o root mas está na pasta /home/<usuário>. Isso garante que o processo corre na pasta do usuário, instalado e configurado pelo root.

Na pasta /home/<user>, vamos criar o diretório para instalar o programa de atualização. Digite:

mkdir duckdns

Agora vá para o diretório com:

cd duckdns

E vamos abrir o VI para criar o script de instalação:

vi duck.sh

O VI é bem chatinho de usar. Assim que abrir, tecle "i" para inserir textos. Ao final tecle ESC para parar de inserir e :wq (de write e quit) para gravar e sair. No VI copie o texto que está na página do DuckDNS (contém informações individualizadas do seu domínio e seu IP), que começa por "echo":

echo url="https://www.duckdns.org/update?domains=<seu domínio>&token=<seu token>&ip=" | curl -k -o ~/duckdns/duck.log -K -

Agora, ainda dentro desta pasta, vamos alterar as permissões do arquivo para torná-lo executável:

chmod 700 duck.sh

E agora vamos o usar o processo cron para rodar o script a cada 5 minutos (você pode alterar esse tempo se quiser, só mudar no texto a seguir:

crontab -e

E aqui está o texto que vamos colar no crontab. Esse número "5" é o intervalo de tempo para rodar o script:

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Salve com "Control+o" e saia com "Control+x".

Agora testaremos o script (se não mostrou nenhum erro, então deu certo):

./duck.sh

Agora vamos ver se a última tentativa foi bem sucedida. Se der OK, deu certo. Se der KO, deu errado.

cat duck.log

Se deu errado, provavelmente o token e/ou o domínio lá de cima estão errados (copie e cole o texto todo diretamente do site do DuckDNS, não daqui do blog, ok?)

E, para finalizar, vamos mandar iniciar automaticamente o cron quando o computador reiniciar. Digite:

sudo service cron start

Pronto, é isso. Agora é instalar o OpenVPN (ou, no meu caso, o PiVPN que é a mesma coisa só que portado para o Pi e é mais leve).

É isso.

Nenhum comentário:

Postar um comentário