OpenVPN-AS no servidor Debian e no cliente Ubuntu 12.10

0

Eu recentemente assinei um VPS (OpenVZ / Debian 32 bits Minimal), instalei o OpenVPN-AS (Access Server) e conectei-me a ele com sucesso, porém tenho algumas dúvidas.

Para deixar claro, vou explicar como instalei o OpenVPN-AS e quais etapas eu fiz.

  • Ativado TUN / TAP e PPP na interface do SolusVM

  • Debian atualizado

  • Instalado o OpenVPN-AS seguindo este guia:

link

  • Adicionaram dois usuários seguindo este guia:

link

  • Entre com o usuário criado, baixe o arquivo "client.ovpn" e faça o login com ele, usando o comando: sudo openvpn --config client.ovpn

Isso é basicamente o que eu fiz.

Tudo funciona, mas existem algumas capturas. Eu abri as portas 443 (TCP) e 1194 (UDP), tanto no roteador quanto no sistema cliente (que é o Ubuntu 12.10), e configurei o Dilúvio e a Transmissão para usar a porta 1194. Quando a VPN é desligada, os testes em ambos os programas mostram que a porta está aberta, porém quando eu conecto a VPN, a porta aparece fechada nos testes, e aqui está o problema: Deluge e Transmission conectam somente pela porta TCP, e a porta 1194 da VPN é apenas UDP.

Isso é o que traz minha pergunta número um: o que devo fazer para abrir a porta 1194 na VPN? É possível forçar o Dilúvio ou a Transmissão a usar a porta UDP?

Minha segunda pergunta é mais simples (acho que sim). Como eu disse antes, eu posso conectar a VPN usando o comando "sudo openvpn --config client.ovpn", a desvantagem é que é necessário manter o terminal aberto, gostaria de conectar através da interface gráfica, tipicamente: click no gerenciador de rede na barra superior > vá para conexões VPN > selecione a conexão > E feito. Mas eu não sei como fazer isso, e essa é a segunda pergunta: Como exportar as configurações de "client.ovpn" ou configurar a conexão através da interface gráfica?

Eu uso o Ubuntu por um ano e meio, e eu me considero um usuário intermediário, no entanto, eu nunca toquei com VPS e OpenVPN-AS antes, então eu sou um noob totalmente sobre o assunto. Eu pesquisei minhas dúvidas, mas a maioria dos tutoriais é baseada no OpenVPN, e não no OpenVPN-AS, e aparentemente eles são bem diferentes.

Espero que meu post esteja claro o suficiente e desculpe pelo meu inglês. Qualquer ajuda seria apreciada, obrigado!

    
por Removed 22.04.2013 / 02:25

1 resposta

0

Sobre sua primeira pergunta: A porta UDP 1149 deve estar aberta no servidor para que os clientes possam se conectar a ela. Eu verifiquei aqui e o cliente parece usar um intervalo de portas mais alto (> 50000) por padrão para enviar e receber pacotes UDP para a porta do servidor 1149.

No entanto, parece que você tem um ligeiro desentendimento sobre o funcionamento de uma VPN, então eu tento esclarecer um pouco. Na inicialização do cliente, a tabela de roteamento deve ser ajustada para que todo o tráfego (ou a maioria ou alguns, que depende da sua configuração) passe pela interface tun0, em vez da interface eth0. Os únicos pacotes que passam diretamente pela eth0 devem ser pacotes UDP para o servidor na porta 1149, todos os outros pacotes, TCP ou UDP ou ICMP, são roteados através do tun0, onde são encapsulados pelo openvpn e depois enviam através dos 1149 pacotes UDP através da eth0 para o servidor.

No servidor, o encapsulamento é revertido e os pacotes TCP, UDP ou ICMP são remontados e enviados de lá como se originassem de um nó de rede vizinho recebido em uma interface local (eth0 / tun0 / tap0) e são roteados de acordo. Portanto, seu cliente parece "possuir" uma interface no servidor. Daí o nome virtual rede privada.

Então você precisa configurar a transmissão ou o dilúvio para usar qualquer outra porta 1149 - porque esta é usada pela VPN - ou seja, 16000 (TCP e UDP). Use esta porta em transmissão ou inundação e abra-a no firewall do servidor e, possivelmente, encaminhe-a para a interface VPN, portanto, neste exemplo (supondo que o servidor tenha a interface eth0):

Abra as portas 16000 no servidor

iptables -A INPUT -i eth0 -m tcp -p tcp --dport 16000 -j ACCEPT
iptables -A INPUT -i eth0 -m udp -p udp --dport 16000 -j ACCEPT

e aplique o NAT. Essas linhas redirecionam todas as conexões TCP e UDP recebidas para as portas 16000-16010 no servidor para a interface VPN com o endereço IP 10.0.0.5

iptables -t nat -A PREROUTING -i eth0 -m multiport -p udp --dports 16000:16010 -j DNAT --to-destination 10.0.0.5
iptables -t nat -A PREROUTING -i eth0 -m multiport -p tcp --dports 16000:16010 -j DNAT --to-destination 10.0.0.5

Bem, pode haver outras formas melhores de lidar com isso, mas isso deve começar.

    
por zx485 22.04.2013 / 06:37