// // Chicletes para o Cérebro: Endereço IP
Mostrando postagens com marcador Endereço IP. Mostrar todas as postagens
Mostrando postagens com marcador Endereço IP. Mostrar todas as postagens

domingo, 5 de setembro de 2021

Instalei o PROXMOX!

Pessoal,

Grandes mudanças aqui.

Comprei  um HD de 8TB e, junto com dois de 4 TB que eu já tinha e um pequeno de 1TB, resolvi instalar o Proxmox e reorganizar todo o meu servidor.

O Proxmox é um ambiente de virtualização, ou seja, ele não é um NAS. Ao contrário, é preciso criar uma VM nele e instalar algum NAS. No caso, vou voltar a usar o FreeNAS (agora TrueNAS).

A vantagem do Proxmox para mim será criar as minhas VMs independente do NAS. O NAS vai ficar para rodar backups e outras coisas, inclusive uma VM com Ubuntu e alguns dockers por esse Ubuntu.

A instalação do Proxmox é bem simples e vai ficar no HD de 500GB que está na máquina. Depois de baixar a ISO no site do Proxmox e gravar um pendrive bootável com a ISO usando o Balena Etcher, coloquei no computador, dei boot e fui seguindo as instruções:




(Escolha uma boa senha aqui: é a senha do root do Proxmox)





A instalação é bem rápida, uns 5 minutos. Depois disso, ela mostra um resumo para você saber qual página vai acessar a interface web do Proxmox:


Aqui no meu roteador, esse é o endereço padrão e já previamente fixado para esta máquina. Veja aqui como fixar o IP da sua máquina, pois isso é fundamentar para o Proxmox e a instalação do NAS.

Agora vamos entrar na interface web do Proxmox. No Mac (não sei outros sistemas, mas imagino que seja a mesma coisa para qualquer sistema e qualquer navegador), vai dar um erro informando que a página não é segura. Vá em frente, é assim mesmo:




("Olá, eu sou o Proxmox!")

Digite "root" para usuário e a senha que você escolheu lá atrás.


Essa aí em cima é a tela inicial do Proxmox. Não tem nada (óbvio, acabei de instalar), mas é onde irão ficar as VM que você criar.

Como é um Debian, a primeira coisa que eu gosto de fazer é atualizar todo o Debian (veja aqui como). Não apareceu na foto, mas tem um botão escrito "Shell" à direita da tela. Clique lá para abrir o Shell do Proxmox e vamos em frente para atualizar tudo (lembre-se que você estará como root, então não será preciso o "sudo").

Feito isso, vamos começar a brincadeira.

O Proxmox faz o download da ISO do sistema que você deseja instalar na VM e vai mantendo tudo organizado. Gostei disso. Para fazer isso, vá em "Datacenter -> local (pve) -> ISO Images" e faça o download da imagem (entrei no site do Ubuntu, downloads, Ubuntu Server LTS e peguei o link para baixar - o Proxmox faz esse download). Essa imagem, no meu caso, será armazenada no HD de 500GB onde está instalado o Proxmox.




Baixada a imagem, vá em Criar VM (à direita da tela) e siga o passo a passo. É realmente muito fácil.








Clicando em "Console", você vê, via VNC, a sua VM. Muito fácil.

Após instalar o Ubuntu Server, entre nesse post aqui para ver o básico do básico que é necessário instalar para o Ubuntu funcionar bem (atualizações, GCC, Net-Tools, VPN, No-IP DUC).

Bom, por hoje é só (já são 3h da madrugada).

Amanhã eu crio a VM com o NAS e mostro para vocês!

terça-feira, 17 de agosto de 2021

Instalando o Pi-Hole: um tutorial para instalação e acréscimo de listas de bloqueio!

Pessoal,

Estive meio sumido aqui do blog, mas pretendo fazer algumas alterações na rede daqui de casa e vou contando aos poucos.

Hoje vamos falar sobre o Pi-Hole.

No passado tentei instalar ele aqui no NAS, mas deu algum pau e zebrou foi tudo.

Os geradores de conteúdo na internet ganham dinheiro com publicidade (seja no site/Youtube/Instagram/etc) ou de outra renda não relacionada com o conteúdo que eles criam/divulgam. Eu mesmo estou nessa por hobby, para aprender e divulgar o que aprendi. Mas tem gente que vive disso e a publicidade pode ser a principal fonte de renda.

Por outro lado, algumas propagandas são muito invasivas, gerando um monte de anúncios e pop-ups que atrapalham a navegação. Quem nunca desistiu de ver um site por causa do excesso de propagandas?

Existem duas formas de resolver isso. Ou você instala um ad-block no navegador (que por si só pode gerar brechas para invasões, pode ser um malware ou pode coletar informações) ou você instala um bloqueador de anúncios de rede.

Este último é o Pi-Hole. Ele surgiu como alternativa de código aberto ao AdTrap e vem crescendo desde então. Ele funciona como um firewall, todos os anúncios e serviços de rastreamento são bloqueados para todos os dispositivos atrás dele. Ou seja, se você instalar na sua casa, todos os dispositivos (computadores, tablets, celulares, smartTVs) ficam "bloqueados". Funcionam, assim, melhor que os ad-blocks, que só bloqueiam os anúncios no navegador onde ele está rodando.

Se você tiver uma VPN residencial (veja aqui como fazer), pode direcionar mesmo o seu uso externo para sua VPN, filtrar tudo e receber os sites sem publicidade.

O pulo do gato é configurar o Pi-Hole como servidor de DHCP (ou receber a informação vinda da internet, filtrar e entregar ao cliente).

Basicamente é assim que o negócio funciona:

(Fonte: https://privacyinternational.org)


Vamos lá.

Vou usar o meu Raspberry Pi, mas poderia ser uma VM no NAS ou um contêiner do Docker. Fica a gosto do freguês. Eu vou usar uma instalação do RP com Raspian e vou instalar via linha de comando com o curl.

Entre no site do serviço (https://pi-hole.net) e escolha o modo de instalação. Aqui, como disse, vai de linha de comando.

curl -sSL https://install.pi-hole.net | bash

Se você não tiver o curl instalado, use "sudo apt-get install curl" para instalá-lo. Outra coisa interessante é utilizar o ssh para instalar isso.

O resto é seguir as orientações:



O Pi-Hole precisa de um IP fixo para funcionar. Veja aqui como fazer isso. Se você já usou o SSH alguma vez e não está conseguindo logar agora, veja aqui como resolver.


O meu RP está ligado por cabo e Wifi. Vou optar pelo cabo.

Agora o Pi-Hole que saber qual o serviço de DNS que você usa. O DNS (Domain Name System) localiza e traduz o nome do site digitado no navegador para o endereço IP do site. Clique aqui para saber o que é ECS e aqui para saber o que é DNSSEC. Eu uso o 8.8.8.8 do Google, mas o OpenDNS é muito bom também.


Agora ele mostra a lista de bloqueios utilizada. Dê ok e vá em frente:


Eu uso IPv4 mesmo, mas isso depende do seu provedor de internet. Vá em frente.


Agora ele mostra o IP do RP (que no meu caso já está fixado) e o endereço do roteador (Gateway).


 Agora ele avisa que precisa manter o IP reservado:



E, SIM, eu quero instalar a interface web do Pi-Hole para administrar. E, SIM, quero instalar os arquivos adicionais para dar tudo certo e não precisar fazer tudo "na unha" depois. E também quero os arquivos de log para saber o que foi acessado, por quem, por qual dispositivo e quando.




Agora o Pi-Hole termina de instalar e mostra um resumo, inclusive o endereço para logar na interface web e a senha de administrador. Essa senha a gente troca depois.


Agora o Pi-Hole termina de instalar. Por prudência, atualize o "apt" com apt-get update e upgrade e reinicie o computador/VM/RP.

Use o navegador e acesse o endereço pi.hole/admin para entrar nas configurações.

(Muito prazer, eu sou o Pi-Hole)

Bom, depois de ir em login e colocar a senha que o programa gerou, algumas opções são apresentadas:


Whitelist e Blacklist permitem que você libere ou bloqueie sites específicos que o Pi-Hole bloqueou ou não bloqueou, respectivamente.

Talvez a coisa mais interessante seja ir em "Settings -> DHCP" e habilitar o serviço de DHCP do Pi-Hole para que ele distribua os endereços IP da sua rede, direcionando o fluxo da navegação para o Pi-Hole. O problema é que provavelmente você já tem um servidor DHCP no seu roteador.

A solução é simples e é a seguinte: Desabilite o serviço de DHCP do seu roteador e habilite o DHCP no Pi-Hole. Pronto.

Mas eu tenho um Google Wifi e no Google Wifi nada é tão simples. Neste caso, o Google Wifi NÃO permite desabilitar o DHCP... Obrigado mais uma vez, Google.

Antes de resolver isso, vamos mudar a senha do Pi-Hole. Saia em Logout, clique para logar novamente mas escolha a opção "Forgot password". Ele vai mostrar um comando para ser feito no Shell:

    sudo pihole -a -p

O Pi-Hole agora vai pedir para você colocar a senha nova. Simples assim.

Vamos agora voltar ao problema do Google Wifi.

Procurando na internet, achei uma sugestão: deixo o IP do Pi-Hole fixo no Google Wifi (por exemplo 192.168.1.2) e limito o escopo do DHCP para apenas esse endereço (por exemplo de 192.168.1.1 a 192.168.1.2). Depois, no Pi-Hole, habilito o DHCP e a partir de, por exemplo, 192.168.1.10 até 19.1.68.1.251. Deve funcionar.

Mas achei outra solução mais simples. Fui no app do Google Wifi e, dentro de "Rede Avançada", alterei a configuração do DNS. Onde antes estava "Automático", direcionando para o DNS do Google (8.8.8.8), coloquei como servidor primário o IP do Pi-Hole (192.168.1.22) e como servidor secundário o do Google (8.8.8.8).

Bom, testei e deu certo. Os adds reduziram muito. Muito mesmo.

Este modo que fiz, colocando o DNS primário com o endereço do Pi-Hole tem um problema "sério". Todas as solicitações vem do meu Google Wifi, ou seja, todas tem o endereço 192.168.1.1, ou seja, não consigo saber qual dispositivo tentou acessar determinado site e teve a requisição bloqueada.

Pra mim não tem problema, mas concordo que a melhor solução seria deixar o Pi-Hole administrar o DHCP, mas não vou comprar um novo kit de roteadores Mesh só pra isso. Quem sabe no futuro, quando o GWF der pau...

Indo em Settings -> Adlist, você pode acrescentar algumas das dezenas de listas disponíveis, seja para bloquear anúncios, trackings, sites de malwares, etc.


Depois de acrescentar as listas, atualize em Tools -> Update Gravity.


Existem várias listas. Em peguei algumas (as verdes) neste site aqui. No Reddit tem uma discussão sobre essas listas (veja aqui).

No GitHub também tem várias listas. Utilizei este projeto aqui para acrescentar algumas listas.

Acrescentando algumas listas, saí de 87.069 domínios bloqueados para 198.222 domínios bloqueados.

Nem sempre mais é mais. É preciso colocar alguma lista e ver se a navegação continua boa. Qualquer coisa, você libera um domínio, colocando ele na Whitelist ou bloqueia algum em especial, colocando na Blacklist.

Vou continuar testando aqui e aviso se tiver alguma novidade.

sábado, 23 de janeiro de 2021

Plex no FreeNAS

 Pessoal,

Antes de fazer o meu FreeNAS, estava assistindo os vídeos gravados pelo Elmedia (porque dava suporte a legenda e o VLC não dava). Contei isso aqui.

Para usar o Elmedia, utilizava a AppleTV. E tudo estava indo bem.

Quando a minha esposa resolveu usar o quarto do filho que nunca veio para fazer quarto de TV, me recusei a colocar mais um ponto de TV a cabo. Lá é onde está a BTV (aqui). A AppleTV foi pra lá também.

Na sala, onde assistimos filmes (por causa do home theather e imagem melhor da TV), estávamos sem opção para ver os filmes e vídeos gravados no NAS. Assim, resolvi usar o NAS para isso!

PlexTV é o nome da solução. Esse programa (tem para AppleTV, computador, iOS e Android, além de vários aparelhos de TV) e funciona muito bem, de um modo completamente profissional.

Basicamente você precisa ter uma versão Plex Server instalado num computador e jogar o sinal para que os outros dispositivos usem o aplicativo Plex para assisitir.

Aqui, eu instalei o PlexServer no FreeNAS (tem um plugin no FreeNAS). Vou falar a verdade: é bem complicadinho (criar usuário, criar jail, linkar uma coisa com outra, etc). Dá um bom trabalho. Vou deixar dois links pra ajudar: este aqui é a orientação do próprio Plex para instalar no FreeNAS; este outro aqui é um tutorial no YouTube muito bom, foi o que me guiou.

Bom, tudo instalado, copiei os filmes para a pasta selecionada e... nada! Os filmes, vídeos, nada apareciam! :(

Assim, fui procurar o que fazer. Descobri que tinha que mandar atualizar no PlexServer. O FreeNAS tem o endereço de onde acessar a página local do PlexServer. Se você usa no seu computador, também tem jeito de fazer isso. Dentro do Jail, tem o endereço (no meu caso, fixei o IP do PlexServer para ficar sempre esse, muito mais fácil - veja como fixar o IP aqui).


Assim, digitei esse endereço que aparece aí: 192.168.1.32 (esse é no meu caso, você tem que descobrir qual o endereço do seu Server).


Abrindo a página do Server, aparece isso. Quando você coloca o cursor em cima de alguma opção (filme, documentário, etc), aparece 3 pontinhos. Clique nesses pontinhos e escolha "Examinar arquivos da biblioteca".

Pronto! O Plex atualiza todos os arquivos da biblioteca. Agora, qualquer arquivo que você acrescentou vai aparecer no Plex.

É isso por hoje!


sábado, 3 de outubro de 2020

PiHole

Oi pessoal,

Como falei no post anterior, vou instalar o PiHole no RP.

A ideia aqui era instalar uma VM rodando Docker e instalar o PiHole nele. Como disse antes, o PC véio não suportava VM.

Só que não, quer dizer, só que sim!

Olhando o manual do FreeNAS, em Virtual Machine, sugere-se testar isso no Shell:

   grep VT-x /var/run/dmesg.boot

Eis que apareceu isto:


Esse "EPT, UG" em VT-x indica que o processador Intel tem tecnologia Extended Page Tables. O FreeNAS é baseado no FreeBSD e usa bhyve para criar VM e o processador suportar esses "EPT" e "EG" para criar VM. Ou seja, o meu processador permite isso!

Assim, reiniciei o servidor e apertei "Delete" para entrar na BIOS. A função VT-x estava desabilitada, causando o erro que não permitia a criação de VM. Ativei e reiniciei o servidor.

Fui em "Storage" e criei um dataset "VM" no pool. Depois fui em Virtual Machines e criei uma VM com Ubuntu Server (ao final, pare a VM e exclua o CD-ROM utilizado para criar ao VM).

O processo para criar é bem fácil. Ativei o Canonical Livepatch e o Docker apenas.

Depois de instalado, a gente dá o famoso "sudo apt-get update" e "sudo apt-get upgrade" para atualizar os softwares e poder seguir em frente nas instalações.

Optei pelo Ubuntu Server pela estabilidade e pelo Docker pela facilidade e comodidade. Tudo isso rodando em VM. Ficou bom? Ótimo! Ficou ruim? Apaga e começa de novo. Simples assim!

Após criar a VM, clonei (para deixar uma VM de UbuntuSever sempre pronta e não ter que começar tudo do zero), coloquei o nome de PiHole.

O próximo passo foi fixar o IP. Vá em /etc/netplan e edite  o arquivo ".yaml" que está lá editei com o nano, mas precisa de ser superusuário, o seja, dê um sudo nano). Eu coloquei assim:


Onde "ene0s4" é a interface de rede, 192.168.1.3/24 é o endereço fixo que escolhi na minha rede, 192.168.1.1 é o meu roteador e esses endereços em nameservers são os servidores DNS do Google e o meu roteador.

Aqui acabei optando por instalar diretamente o PiHole no Ubuntu Server ao invés de usar o Docker. Motivo? Mais fácil.

Dê um: curl -sSL https://install.pi-hole.net | bash e corra pro abraço! 

Para desinstalar o PiHole, execute isso aqui:

sudo rm -rf /etc/.pihole /etc/pihole /opt/pihole /usr/bin/pihole-FTL /usr/local/bin/pihole /var/www/html/admin

Depois de tudo instalado, fui no aplicativo do Google Wifi , em "Network & General" --> "Advanced Networking" --> "DNS" e coloquei o endereço do PiHole como servidor de DNS primário e o próprio roteador como secundário.

Reiniciei o roteador e as propagandas reduziram absurdamente!

Para trocar a senha criada automaticamente pelo PiHole, dê um "pihole -a -p" e digite a senha nova.

A quantidade de bloqueios de anúncios é enorme. Mas você ainda pode acrescentar mais sites bloqueados através destas duas listas:

    https://hosts.oisd.nl

    https://firebog.net

Poucos minutos após instalar, estava assim:


Quase 10% da navegação foi bloqueada. Impressionante!

Próximo post: NextCloud!

ATUALIZAÇÃO:

Galera, depois de algumas horas rodando o PiHole, percebi que fiz alguma merda. Fui tentar instalar o NextCloud e nada: os plugins não apareciam mais.

Fui no PiHole e coloquei o ip do FreeNAS no Whitelist. Adiantou nada.

Parei o PiHole e desfiz as configurações do DNS que tinha feito. Adiantou nada.

Achei uma frase na internet que resume bem isso: "It's not the DNS. It can't be the DNS. It'd be the DNS. It's always the DNS!".

Ferrei alguma coisa e o FreeNAS ficou imprestável.

Solução? Let's start it again! Fui na tela inicial do FreeNAS (a tela do servidor, tem que colocar um cabo na saída de vídeo para ver), apertar 8 (restaurar para configurações de fábrica!) e mandei ver. Como o ip do FreeNAS está reservado para o MAC Address da placa de rede, ele entrou automático. Recriei os usurários e fui em Storage e importei o Pool. Apaguei a VM com o PiHole, apaguei o servidor do Plex e reinstalei o Plex. Tudo voltou a funcionar (backups via Time Machine e CCC funcionando quase que automaticamente, só tive que colocar a senha novamente).

Conclusão: o PiHole é fantástico, bloqueia tudo mesmo! Até o que eu não queria :( Vou estudar isso depois e reinstalar com mais calma!

Próximo post: NextCloud!

Até lá!

domingo, 30 de agosto de 2020

Em busca do NAS doméstico (quase) gratuito! - Parte 5 - VPN

Pessoal,

Vou dar continuidade ao desenvolvimento do meu NAS doméstico (quase) gratuito.

Um ponto que sempre pegou para mim, como já coloquei em posts anteriores, é a necessidade de acessar os dados do meu NAS (e consequentemente da minha rede doméstica) de fora de casa.

Ora, ter os dados apenas dentro de casa não resolve muito. Um NAS que se prese tem que não apenas gerenciar o armazenamento de dados mas também permitir seu acesso no momento oportuno.

Então, como diria Jack, vamos por partes: primeira, obter um acesso externo de um modo seguro à minha rede local; segundo, resolver um NAS que atenda as necessidades de confiabilidade e acesso tanto por computador quanto por dispositivo móvel.

Acesso a rede doméstica

Como falei aqui, descobri a duras penas que eu tinha um grande problema com os roteadores.

O roteador da NET estava habilitado a toda e gerava um IP por DHCP para o Google Wifi que gerava os IPs também por DHCP para os equipamentos na rede local. Ou seja, abrir uma porta para um IP local seria, além de difícil, arriscado. Para abrir uma porta, teria que abrir primeiro no router da NET e direcionar para o IP do Google Wifi. Assim, pela lógica, essa porta estaria aberta para todos os equipamentos da rede interna,  independente do IP delas ou se houvesse ou não necessidade para isso. Mas nem isso funcionava.

Assim, coloquei o router da NET em bridge (já falei aqui) e fui estudar um pouco sobre NAT (Network Address Translation), Virtual Server, Port Triggering e DMZ Host.

Mas tudo isso mudou quando relembrei de uma vez que tentei, sem sucesso, criar uma VPN. Na época nem sabia bem para que isso poderia me ajudar, acho que fui instalar para aprender mesmo, sem utilidade prática. Não seria uma VPN para acessar um conteúdo no exterior (falei disso bem no começo do blog, lá em 2010!). Meu objetivo aqui é ligar dois pontos seguros: minha rede local e meu notebook ou celular. Sei onde está a entrada e saída dos dados.

Na época, quando tentei fazer essa VPN, utilizei o PiVPN, fazendo do RP3B+ um servidor de VPN. Não funcionou e hoje suspeito que seja por conflito de IP dos roteadores. Como bypassei o da NET colocando ele em bridge, espero que dê certo desta vez.

Antes de tudo, fiz uma instalação limpa no cartão do RP com o Raspberry Pi OS. Depois instalei o OpenMediaVault (veja como instalar facilmente aqui). O objetivo era ter um HD na rede para testes e saber se a VPN funcionaria bem mesmo. Tudo pronto, vamos à VPN em si.

Optei pelo PiVPN. O processo é fácil, tá bem explicado e tem vários tutoriais na Internet. Gostei muito deste vídeo do Lon Seidman no Lon.TV, um dos melhores do YouTube.

Uma das vantagens do PiVPN é a facilidade para instalação. Outra é que o processo já cria a chave para criptografia durante a instalação.

Para iniciar a instalação, abra o Console do RP (ou Putty ou Terminal, se estiver usando SSH) e digite:

    sudo curl -L https://install.pivpn.io | bash

A instalação vai começar e algumas telas serão mostradas:


Um ponto importante é que, como todo servidor, o PiVPN necessita ter um IP Estático. Além disso, o cliente VPN (o celular ou o notebook) precisará saber para qual IP válido (o IP fornecido pelo provedor, ISP) ele deverá mandar a requisição. Vou falar disso daqui a pouco.


Definir um IP fixo na rede doméstica é fácil. Entre no seu roteador e procure por reservar de IP, reserva de endereços no DHCP ou algo assim. Cada router tem um nome pra isso. Aqui o meu já estava fixado (o RP, pela conexão ethernet, sempre tem esse IP).


Escolha como você vai se conectar, cabo ou wifi. O recomendado para um server sempre é cabo devido a estabilidade. Assim, escolhi eth0.


Confirme se o IP está certo e vamos em frente.

Agora o PiVPN deseja saber onde será guardada as informações do OVPN. Como só tenho um usuário no RP, as configurações serão guardadas em /home/pi/ovpns. Nesta pasta ficará guardada a chave de criptografia que será transferida para o cliente posteriormente.



O sistema agora perguntará se desejamos permitir a instalação automática das atualizações de segurança. Por motivos óbvios, a resposta só pode ser SIM.



Agora escolheremos o protocolo que o PiVPN utilizará, UDP ou TCP (veja a diferença aqui, muito bem explicado) e a porta que deverá ser utilizada. Por padrão o PiVPN escolhe o protocolo UDP e a porta 1194. Eu optei por manter o protocolo UDP, mas troquei a porta por segurança (existem portas que não devem ser utilizadas; o sistema tem 65.536 portas e algumas -veja aqui e aqui devem ser evitadas porque normalmente são utilizadas).

Nesse momento, você deverá retornar ao seu router e reservar, no IP fixado para o RP, qual a porta escolhida para receber o fluxo externo, a porta do fluxo interno (geralmente a mesma) e registrar qual o protocolo deseja utilizar (TCP, UDP ou ambos).



Agora será perguntado sobre nível de encriptação das chaves. Escolha 2048 ou 4096. É a segurança de seus dados e da sua rede doméstica que está em jogo. Jogue para ganhar.



Agora vamos ter mais um pouco de teoria para continuar o processo.

As operadoras fornecem um IP para cada computador conectado na rede. Esse IP é conhecido como IP válido ou IP público (IP atribuído pelo órgão regulador). Para saber se um IP é válido ou não, é só saber o seguinte:

    -> 10.x.x.x
    -> de 172.16.x.x a 172.32.x.x
    -> 192.168.x.x

Todos os IPs que estejam nessa regra de cima NÃO são IPs válidos, servem apenas para uso em redes locais. Fora isso, são IPs válidos (e distribuídos pela sua ISP ou por um órgão regulador).

Os IPs geralmente estão distribuídos na versão 4 (famoso IPv4). Esse endereços têm 32 bits de comprimento e existem 2ˆ32 endereços IPv4 (cerca de 4,3 bilhões de endereços). Com o aumento dos dispositivos conectados, esses endereços são insuficiente. Assim, existem duas saídas: a melhor para o usuário e a melhor para a operadora.

A melhor saída para o usuário é a adoção do IPv6. Aqui os endereços têm 128bits e existem 2ˆ128 endereços IPv6 (cerca de 340 duodecilhões de endereços, 340 seguido de 12 zeros...). Assim, cada dispositivo na rede teria seu endereço fixo (um IP válido para cada equipamento na rede).

MAS (sempre tem um mas...) nem todos os servidores e roteadores suportam IPv6. Tirando a questão de bugs e outros problemas que ainda podem existir. Como sempre, vale a regra do "MAS": nada depois de um MAS pode ser bom!

As operadoras resolveram isso de outra forma: CGNAT. Resumidamente, com a escassez de endereços IPv4 (tem mais equipamento na rede que endereço), eles distribuem os endereços entre que está ativo e podem trocar seu endereço a qualquer momento.

O que isso tem a ver com a nossa VPN? Tudo! O cliente precisa saber qual IP válido ele deve procurar para fazer a requisição do dado. Ora, se o seu IP válido muda frequentemente, como você pode resolver isso? Ou pagando para ter um IP válido fixo ou utilizado um serviço de Dynamic DNS (DDNS, No-IP, etc).

Esses serviços de DDNS fazem basicamente uma atualização do seu IP válido e o registram em um sistema de domínios (DNS). Ou seja, pegam o seu 189.17.48.190 que a sua ISP atribuiu para você e o registram como fulano.ddns.net. Assim, quem digitar isso vai ser encaminhado para o IP atribuído a esse DNS. Esses serviços geralmente tem um aplicativo que faz automaticamente essa atualização. Alguns roteadores fazem essa atualização também (MAS, sempre o MAS, Google Wifi não tem esse serviço de DDNS...).

Assim, entrei no No-IP, fiz o cadastro e escolhi o nome. Baixei o aplicativo deles para atualização pro Mac, mas como estava tudo rodando no Pi, achei melhor baixar pra lá e deixar o RP fazendo tudo isso. Basicamente fiz isso:

    sudo su #para ficar com super usuário

    cd /usr/local/src

    wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

    tar xzf noip-duc-linux.tar.gz

    cd noip-2.1.9-1

    make

    make install

Agora o programa vai pedir o nome de usuário ou email registrado no No-IP.com, a senha, vai pedir pra você escolher qual nome deseja atualizar e com qual frequência (o padrão é 30 minutos, mas eu escolhi 5 minutos). Depois digite, ainda com SU:

    /usr/local/bin/noip2

Pronto. Agora já temos um DNS ligado ao nosso IP válido e continuamente atualizado.

O próximo passo agora no PiVPN é escolher se quer utilizar o IP público (ou válido) ou escolher um DNS. Obviamente vamos escolher entrar com DNS e colocar o DNS que acabamos de criar no No-IP (lembre-se, é só no DNS, sem "http"):



Agora somos perguntados sobre qual serviço de DNS desejamos usar. Escolhi o Google, mas o OpenDNS também é bem rápido. Falei um pouco disso no final deste post.


Bom, a configuração acaba aqui. Agora falta apenas entrar com os usuários (clientes) da VPN.

Dê um

    pivpn add

e digite o que é pedido: nome do cliente, senha e senha novamente. Nunca é demais reforçar que a senha deve ser boa, né?

Agora, se tudo deu certo, a chave para o cliente foi criada e deverá estar em /home/pi/ovpns. Essa chave deve ser enviada para o cliente. No meu caso, como o cliente sou eu mesmo (será meu notebook, iPad e iPhone), posso passar por três formas: por email (pior opção, insegura), pendrive (tem que lembrar de apagar depois) ou por um serviço de nuvem.

Não se esqueça de liberar essa porta UDP no roteador, em Port Management. Acrescente a regra com a porta escolhida, o padrão de comunicação (UDP, TCP ou ambos) e confira se o MAC Address do servidor é o mesmo que você está liberando.

No Mac instalei o Tunnelblick para acessar a VPN. Arrastei a chave para o ícone do programa, digitei o usuário e a senha e pronto. Fica um pequeno ícone na barra superior e aí é só clicar lá e começar a navegação via VPN.

No iPad e iPhone o processo é um pouco diferente. Para ambos existe aplicativo da OpenVPN que deve ser baixado na AppStore. Depois de baixado, conecte o iDevice ao computador, abra o Finder, selecione seu dispositivo e, à direita, escolha "Arquivos". A seguir arraste a chave para o aplicativo OpenVPN e termine de configurar no iDevice.



Bom, o próximo passo é efetivamente criar um bom NAS.

Utilizando a VPN, tenho a segurança agora de acessar o NAS de fora da rede, qualquer que seja o NAS escolhido.

Pode ser o OpenMediaVault (e ele ficaria apenas para arquivos e/ou TimeMachine). Pode ser o NextCloud (que tem aplicativos que podem ser utilizados nos dispositivos móveis) ou tentar o XPEnology, meu sonho de consumo.

Para o XPEnology, precisarei de uma máquina boa, que permita virtualização.

Lembram do MacMini que morreu no começo do ano? Pois é, descobri uma empresa aqui em BH que tentará recuperar a placa lógica dele. Se der certo, ótimo. Se não der, é pensar no plano B.

Só que esse post acaba por aqui. Obrigado.