Tutorial OpenVPN + OpenSSL no Raspberry PI (Parte II)
Recentemente ensinamos aqui como podem criar facilmente um servidor de VPNs, com o OpenVPN, usando o vosso Raspberry PI (Se ainda não tem o nosso Pack veja aqui como adquirir).
Como normalmente temos o Raspberry PI em casa, é necessário realizar algumas configurações ao nível do encaminhamento e também configurar o mecanismo de PortForwarding para que os pedidos de estabelecimento de uma VPN do exterior sejam reencaminhados para o mini PC. Vamos aprender como fazer essa configuração.
Configurações de Encaminhamento
De acordo com a configuração que temos no ficheiro server.conf, o endereço 10.8.0.1 vai ser atribuído ao túnel do lado do servidor enquanto os restantes IPs da rede 10.8.0.0 passarão a estar disponíveis para os clientes.
Vamos então criar uma regra NAT no iptables para que todos os pacotes com origem na rede 10.8.0.0/24 sejam encaminhados via wlan0 (no vossa caso pode ser outra interface).
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o wlan0 -j SNAT --to-source 192.168.1.100 |
Nota: Antes de colocarem esta informação, verifiquem através do comando ifconfig, qual a vossa placa e endereço de IP, no nosso caso usamos a wlan0 e IP 192.168.1.100. Para usar este tipo de serviços, deverão ter configurado um IP estático anteriormente.
Vamos agora activar o forward IPv4, retirando o comentário da linha #net.ipv4.ip_forward=1:
sudo nano etc/sysctl.conf |
Para aplicar as configurações anteriores devem executar o seguinte comando:
sudo sysctl –p |
Port Forwarding…o que é?
Explicando de forma muito simples pensem no seguinte, imaginem que na vossa máquina (ex. PC portátil) têm a correr um servidor Web (Apache, IIS, TomCat, etc) e pretendem que esse serviço esteja disponível a partir de qualquer lugar da Internet.
Uma vez que associado ao nosso serviço MEO temos um um IP público disponível , então só temos que redireccionar todos os pedidos que chegam ao vosso router para a porta 80, para a vossa máquina local.
Configurar Port Forwarding
Após terminada a instalação do OpenVPN + OpenSSL, devem configurar o port forwarding, definindo o encaminhamento para o servidor (raspberry pi).
Esta etapa varia de router para router. Para este tutorial vamos ter como base o TG784n v3, fornecido pelo serviço Meo ADSL (IPTV), e estando já configurado o DNS dinâmico através do servidor no-ip - ver aqui.
Depois de entrarem na interface gráfica do router devem seguir os seguintes passos:
Passo 1) Criar novo jogo ou aplicação
Na barra de menu, Ferramentas -> Partilha de jogos e aplicações -> Associar jogo ou aplicação a um equipamento de rede local e de seguida -> Criar novo jogo ou aplicação
Passo 2) Definir Nome para regra
Colocar o nome desejado e escolher “Entrada manual de mapeamento de portas”
Passo 3) Definir protocolo e porta
Definir o protocolo UDP e colocar a porta escolhida na instalação do servidor OpenVPN no Raspberry Pi. Para este tutorial vamos definir a porta 1194.
Passo 4) Associação da porta ao Raspberry Pi
Depois de definida a porta de comunicação, vamos associá-la ao nosso Raspberry Pi
Com isto chegámos ao fim das configurações do servidor, cliente e port forwarding, para o serviço OpenVPN. Mas estejam atentos pois brevemente ainda vamos ter um terceiro tutorial.
Autor
Por Miguel Almeida para o PPLWARE
Este artigo tem mais de um ano
Então e como lidam com os IP dinâmicos atribuídos pelos operadores? Com a implementação atual, o utilizador tem que estar constantemente a ir “buscar” o IP publico do router para se poder conectar… sugiro uma terceira parte deste guia, com a implementação do No-IP http://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/
Antes existia o dynIp da meo.
E ainda existe (a configuração está na área de cliente do meo), mas nos outros operadores não existe essa funcionalidade e é necessário recorrer a alternativas.
Falo no artigo, eu uso o serviço No-IP.
Desculpem lá, mas eu há dois meses tentei fazer o portforwarding no TG784n v3 mas cheguei à conclusão que não deixa fazer para nenhuma porta que já esteja aberto pelo último firmware deste router da mel. Pelo que pesquise pelo Google, a última versão de firmware do TG784n v3 não deixa abrir as portas nem mesmo por comandos pelo Telnet, nada, bloqueado.
Alguém me pode dizer que já é possível abrir as portas no último firmware deste router? Alguém pode dar uma ajuda (parece-me que a possibilidade de abertura de portas no firmware deste router foi “bloqueada” de propósito pela mel).
Obrigado e abraço.
Sim confirmo a unica hipotes é ligares para eles e exigir que te seja colocado o ultimo firmware, no meu caso nem conseguia colocar nada na DMZ. Após alguma insistência da minha parte lá colocaram o firmware direitinho e já consigo fazer as parametrizações necessárias.
LuisPT,
Vê aqui como desbloquear as portas por telnet(a nova actualização da meo bloqueou-me a porta 22):
http://forum.meo.pt/t5/Equipamentos-Internet/porta-ssh-22-outbound-bloqueada/m-p/59599/highlight/true#M13918
Talvez te resolva o problema.
Eu não tenho problemas. A minha versão do firmware é:
Nome do produto: TG784n v3
Versão do software: 10.2.1.L
Caro CHIBELES já tinha tentado recorrer a essa página do Fórum da MEO mas não funciona, tentei de tudo, a versão 10.2.1.L NÃO DEIXA abrir as portas por Telnet, dá erro. Sinceramente, não sei mais que fazer, diria mesmo estou desesperado, grrrrr
E também não acredito que se ligar para lá eles simplesmente abram as portas.
Parece-me mesmo que é propositado por parte da MEO.
Alguém tem uma “luz ao fundo do túnel”?
Queria muito ter a openvpn a funcionar com o meu raspberry, pois semanalmente passo muitos dias fora a “morar” em hotéis e sinto-me inseguro a utilizar as redes dos hotéis.
Obrigado e abraço.
LuisPT,
O que eu fiz, se bem me lembro foi o seguinte:
Instalei telnet client no raspberry:
$ apt-get install telnet
$ telnet 192.168.1.254
User- sumeo
Pass- bfd,10ng
depois fiz o ‘maplist’ para ver o que estava a usar a porta 22. No meu caso, para além do raspberry, estava também o ftp do próprio router! (192.168.1.253)
Depois fiz:
nat tmpldelete index=30
saveall
system reboot
E cancelei a atribuição do ip 192.168.1.253 no router.
como diz aqui:
http://forum.meo.pt/t5/Equipamentos-Internet/porta-ssh-22-outbound-bloqueada/m-p/59591/highlight/true#M13914
e por último é que fiz:
firewall rule delete chain=forward_fire index=3
E a porta 22 ficou disponível, finalmente 🙂
Boa sorte!
Caro Chineses, o meu problema não é abrir a porta 22 (ela está aberta). O meu problema é abrir outras portas, como por exemplo a porta 1194 do manual acima para poder instalar o openvpn.
Anybody help me please?
Não consegues abrir como eu fiz em cima (plataforma web do router)? Eu fiz assim e está a funcionar.
Calculo que aqui não será o sítio ideal, mas como noob que sou não consigo pôr o usbmount a “falar” com o fstab.
Queria montar automaticamente qualquer pen USB que ligue ao Pi, mas gostava de ter um disco externo a ficar sempre com o mesmo mountpoint quando ligado.
Algum guru pode dar uma ajudinha?
Quando é que está previsto sair a parte 3?
Alguém me pode ajudar a meter um ip estático no pipplware? Ja mudei no /etc/network/interfaces e agora diz que não consegue ler.
A parte 3 infelizmente nunca mais surgiu…
Sou só eu que não consegue aceder ao servidor?
Penso que faltará o ficheiro .ovpn, mas a parte 3 está em falta, seria isso explicado nessa parte?
e a parte 3? fico com isto a meio?