Tutorial OpenVPN + OpenSSL no Raspberry PI (Parte II)

18 Comentários

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.

raspberry-pi-2-model-b-2


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

meo_pf_04

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.

vpn_05

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

meo_pf_00

Passo 2) Definir Nome para regra

Colocar o nome desejado e escolher “Entrada manual de mapeamento de portas”

meo_pf_01

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.

meo_pf_02

Passo 4) Associação da porta ao Raspberry Pi

Depois de definida a porta de comunicação, vamos associá-la ao nosso Raspberry Pi

meo_pf_03

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.

Comentários

18

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Emanuel
    Emanuel

    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/

    1. Avatar de Diogo Aleixo
      Diogo Aleixo

      Antes existia o dynIp da meo.

      1. Avatar de Emanuel
        Emanuel

        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.

    2. Avatar de Miguel Almeida
      Miguel Almeida

      Falo no artigo, eu uso o serviço No-IP.

  2. Avatar de LuisPT
    LuisPT

    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.

    1. Avatar de Maximvs
      Maximvs

      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.

    2. Avatar de Chibeles
      Chibeles

      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.

    3. Avatar de Miguel Almeida
      Miguel Almeida

      Eu não tenho problemas. A minha versão do firmware é:
      Nome do produto: TG784n v3
      Versão do software: 10.2.1.L

  3. Avatar de LuisPT
    LuisPT

    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.

    1. Avatar de Chibeles
      Chibeles

      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!

  4. Avatar de LuisPT
    LuisPT

    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?

    1. Avatar de Miguel Almeida
      Miguel Almeida

      Não consegues abrir como eu fiz em cima (plataforma web do router)? Eu fiz assim e está a funcionar.

  5. Avatar de NSC
    NSC

    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?

  6. Avatar de Daniel Gonçalves
    Daniel Gonçalves

    Quando é que está previsto sair a parte 3?

  7. Avatar de Ruben Fonseca
    Ruben Fonseca

    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.

  8. Avatar de GoldenEye
    GoldenEye

    A parte 3 infelizmente nunca mais surgiu…

  9. Avatar de Pedro
    Pedro

    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?

  10. Avatar de Alberto
    Alberto

    e a parte 3? fico com isto a meio?