Escrevo este artigo, pois um colega me pediu um auxilio para instalação do openVPN no CentOS, mas faz tempo que não faço isso.
Minhas referências pesquisadas fizeram ficar travado no server, em um erro de Autenticação tls, mas foi a minha impaciência que fez a implementação não dar certo de primeira.Nada melhor que a própria notação para relembrar o ocorrido.
Só quero ver o cliente conectado com o servidor e depois disto às melhorias futuras.
Ambiente de teste
- Utilizei uma máquina Virtualbox no padrão centos 64;
- A placa de rede deixei como brigde;
- Baixei a iso do centos: CentOS-7-x86_64-DVD-1810.iso;
- Durante a instalação criei a conta com o login teste;
- Observei que as versões do openVPN no Linux e no Windows é 2.4.7;
- Tudo feito na rede interna;
Para o Servidor
Facilite sua vida
Ativa sudo na conta criada.su
vigr
Na última linha inclua.
- wheel:
sudo su
Ative o dhcp na placa de rede.
nmtui
Desative o ipv6 e ative carga automática. Para um trabalho mais profissional fixe o ip, mas por agora em ambiente de teste, vai no dhcp.
Atualiza, instala e atualize!
yum -y updateyum -y install epel-release
yum -y update
yum -y install openvpn easy-rsa wget net-tools nc mtr mc unix2dos
Para o server
Pegando o exemplo do server config.cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
Editando para funcionar corretamente.
vi /etc/openvpn/server.conf
Localize e descomente as linhas. Os dns podem estar com outros valores, mas não se preocupe com isso.
- push "redirect-gateway def1 bypass-dhcp"
- push "dhcp-option DNS 208.67.222.222"
- push "dhcp-option DNS 208.67.222.220"
Certificados
Criando certificados e neste momento para clientes Windows não use o 3.0.3, pois causará erro de autenticação tls.cd /usr/share/easy-rsa/3/
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-dh
./easyrsa build-server-full vpn-server nopass
./easyrsa build-client-full vpn-client-01 nopass
./easyrsa gen-crl
openvpn --genkey --secret pki/ta.key
Copiando para o local correto para o server.
cp pki/ca.crt /etc/openvpn/ca.crt
cp pki/dh.pem /etc/openvpn/dh2048.pem
cp pki/ta.key /etc/openvpn/ta.key
cp pki/crl.pem /etc/openvpn/crl.pem
cp pki/issued/vpn-server.crt /etc/openvpn/server.crt
cp pki/private/vpn-server.key /etc/openvpn/server.key
Firewall
Ajuste o forward para o firewallvi /etc/sysctl.d/99-sysctl.conf
Adicione.
- net.ipv4.ip_forward = 1
sysctl -p
Liberando o serviço no firewall.
firewall-cmd --permanent --add-service openvpn
firewall-cmd --reload
Confirme.
firewall-cmd --list-service
Serviço
Criando o serviço no sistema e iniciando, depois disto a carga será automática.systemctl -f enable openvpn@server.service
systemctl start openvpn@server.service
Para o cliente Windows
Configuração e certificados
Cria um diretório de fácil de acesso para transferências.mkdir -p /home/teste/client
Copia o arquivo de configuração.
cp /usr/share/doc/openvpn-*/sample/sample-config-files/client.conf /home/teste/client
Vendo o ip do momento, deverá estar na ultima linha.
ip addr |grep -A2 "2:"
Editando o client.conf.
vi /home/teste/client/config/client.conf
Procure e altere my-server-1 pelo ip.
- remote my-server-1 1194
Adicione.
- auth-nocache
Passando somente o necessário para o arquivo client.ovpn.
cat /home/teste/client/client.conf |grep -v '^$\|^\s*\#\|\;' > /home/teste/client/client.ovpn
Convertendo para ser legivel no Windows.
unix2dos /home/teste/client/client.ovpn
Copiando os certificados.
cp pki/ca.crt /home/teste/client/ca.crt
cp pki/ta.key /home/teste/client/ta.key
cp pki/issued/vpn-client-01.crt /home/teste/client/client.crt
cp pki/private/vpn-client-01.key /home/teste/client/client.key
Seja dono de tudo.
chown teste:teste -R /home/teste/client
Para o cliente no Windows
Utilizei uma estação Windows 7 professional sem antivirus e com o firewall desativado.Instale o cliente openvpn.
Transfira os arquivos no diretório /home/teste/client/ para o %userprofile%/openvpn/config.
Sugestões de programas para transferência ssh(scp): winscp, filezilla e qualquer outro que conecte via ssh para transferência. Veja no site do putty há outros programas.
Não esqueça o firewall do Windows ou os antivírus que podem atrapalhar a conexão do teste.
Para teste costumo instalar o telnet client do Windows e vejo a porta 22 pelo ip da ponta do servidor.
telnet 10.8.0.1 22
Se ficar travado sem texto, tem algo errado, se ver o texto do ssh está funcional.
Deu certo!!!!
Até a Proxima.
Fonte:
Não consigo fazer o teste com o telnet. A VPN fechou com sucesso, mas também estou sem internet.
ResponderExcluirPosta o server.conf e o client.ovpn.
ResponderExcluir