
Instalei recentemente o OpenVPN em um servidor web remoto CentOS 7. Consigo me conectar a ele a partir de um devbox local do CentOS 7 digitando openvpn --config /path/to/client.ovpn
. Depois que a conexão é feita, posso ssh
acessar o servidor por meio da VPN digitando e visualizar aplicativos da Web hospedados pelo Apache no servidor remoto por meio da VPN, digitando em um navegador da Web. ssh [email protected]
https : / / 10.8.0.1
Então, como posso fazer com que meus usuários finais não técnicos façam as mesmas conexões https no Windows?
baixei e instalei oCliente SecurePoint OpenVPN para Windows. Consegui então criar uma configuração para o servidor, incluindo links para os arquivos .crt e .key e definições de outros parâmetros que foram definidos no client.ovpn
arquivo no Linux. O cliente SecurePoint então me forçou a usar um nome de usuário e uma senha para uma conta do sistema operacional no servidor remoto (talvez para melhor), mas não me permite conectar-me a aplicativos da web em execução no servidor. Especificamente, digitar https : / / 10.8.0.1
em um navegador da Web resulta em "Esta página não pode ser exibida", embora meu devbox Linux permita que o conteúdo seja servido do servidor por meio da VPN para o cliente, conforme descrito no parágrafo anterior. O que estou fazendo de errado? E como posso fazer isso funcionar?
EDITAR
Seguindo o conselho de @garethTheRed, digitei sudo firewall-cmd --list-all --zone=internal
e obtive os seguintes resultados:
internal (active)
interfaces: tun0
sources:
services: dhcpv6-client https ipp-client mdns samba-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source NOT address="10.8.1.1" service name="ssh" reject
Em seguida, cliquei em "conectar" na GUI do SecurePoint e, depois de dizer que a conexão com o servidor foi estabelecida, abri cmd.exe e digitei ping 10.8.0.1
e obtive os seguintes resultados:
Pinging 10.8.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.8.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Desmarcar a opção usuário/autenticação removeu o requisito de login de nome de usuário/senha.
Observe que, quando o SecurePoint está conectado, todos os outros acessos à Internet através do navegador parecem bloqueados porque todas as solicitações de páginas são rejeitadas. Além disso, a VPN aparece na lista de redes wifi do Windows como "Rede não identificada" com "sem acesso à Internet". Quando me desconecto da VPN usando o SecurePoint, a "Rede Não Identificada" desaparece. Você pode ver como fica quando a conexão VPN está ativaclicando neste link
O que mais posso tentar?
Responder1
Confirme se o seu firewall no servidor CentOS ( internal
zona se o tun0
dispositivo estiver localizado) está https
disponível como serviço.
Você deve conseguir executar ping no servidor 10.8.0.1
a partir da máquina Windows. Se funcionar, então sua VPN está funcionando e provavelmente é o firewall do servidor CentOS bloqueando você.
Se o ping não funcionar, você terá problemas subjacentes mais profundos para resolver antes de examinar suas https
páginas.
No caso deste último, poste a saída de running ìpconfig /all
e route print
na máquina Windows.
Cliente oficial OpenVPN
Como experiência, você também pode instalar openvpn
na máquina Windows e executá-lo de maneira semelhante à feita no cliente CentOS usando arquivos de configuração semelhantes. Pode dar uma pista do que está acontecendo:
Baixe o cliente OpenVPN para Windows emaquie instale-o. Perto do final da instalação, você deverá ver uma caixa de seleção que oferece a inicialização do cliente. Certifique-se de que o cliente NÃO esteja iniciado.
Copie seu *.ovpn
arquivo da máquina CentOS (aquela que funcionou anteriormente) para a máquina Windows. Se você estiver transferindo o arquivo, poderá se deparar com o problema dos terminadores de linha Unix/DOS. O dos2unix
pacote possui um conversor chamado unix2dos
que converte os arquivos para o formato DOS para você.
Abra notepad
como Administrador (clique com o botão direito e escolha "Executar como administrador") e edite o *.ovpn
arquivo alterando os caminhos para a chave e dois certificados lembrando de usar duas barras invertidas nos caminhos (ex C:\\Users\\Bloggs\\key.pem
.). Salve este arquivo em C:\Program Files\OpenVPN\config
.
Inicie o cliente OpenVPN no menu Iniciar clicando com o botão direito sobre ele e escolhendo "Executar como administrador" (isso só é necessário na primeira vez que você executá-lo). Se o procedimento acima funcionou, você poderá clicar com o botão direito no ícone na barra de tarefas e conectar-se. Se não houver opção de conexão, verifique o acima.
Depois de um ou três segundos, você receberá um pop-up informando que você se conectou. Experimente sua https
página da web.
Configuração básica compatível com Windows
Como teste, faça backup da configuração atual do servidor e tente o seguinte:
port 1194
proto udp
dev tun
ca /etc/pki/openvpn/cacerts/CA.crt
cert /etc/pki/openvpn/public/OpenVPN_Server.crt
key /etc/pki/openvpn/private/OpenVPN_Server.pem # This file should be kept secret
dh /etc/pki/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Ele funciona no meu servidor com clientes Linux e Windows (o OpenVPN e o SecurePoint). Ele não fornecerá a funcionalidade necessária para o seu servidor, mas poderá ajudá-lo a descobrir onde está o problema. Talvez seja necessário ajustar os caminhos dos arquivos, é claro.
Para referência, aqui está o *.ovpn
arquivo que usei:
client
dev tun
proto udp
remote <IP or FQDN of server> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
ca C:\\Users\\gareth\\ca.crt
cert C:\\Users\\gareth\\client.pem
key C:\\Users\\gareth\\key.crt
Para o cliente SecurePoint, deixei tudo como padrão, exceto a Auth user/pass
caixa de seleção, que desmarquei e (é claro) a chave e os certificados.