Ok, vou explicar o que eu fiz ... e no final é o queston. Obrigado!
Para configurar minha VPN, instalei o OpenVPN em máquinas servidoras e clientes. No servidor eu configurei o cert Authority no arquivo / etc / openvpn / easy-rsa / vars editando estas linhas:
export KEY_COUNTRY=”ES”
export KEY_PROVINCE=”M”
export KEY_CITY=”Madrid”
export KEY_ORG=”My Organization”
export KEY_EMAIL=”[email protected]”
então eu gerou o certificado:
cd /etc/openvpn/easy-rsa/ ln -s openssl-1.0.0.cnf openssl.cnf source
vars ./clean-all ./build-ca
Criado o cerver certs:
./build-key-server myServer
Parâmetros Diffie Hellman para o servidor
./build-dh
Copos e chaves copiadas / etc / openvpn
cd keys/
cp myServer.crt myServer.key ca.crt dh1024.pem /etc/openvpn/
Certs de cliente criados
cd /etc/openvpn/easy-rsa/
source vars
./build-key client1
Copiei este certs para a máquina do cliente e apaguei-os do servidor:
/etc/openvpn/ca.crt
/etc/openvpn/easy-rsa/keys/cliente.crt
/etc/openvpn/easy-rsa/keys/cliente.key
Editado /etc/openvpn/server.conf para os nomes dos meus arquivos
ca ca.crt
cert myServer.crt
key myServer.key
dh dh1024.pem
/etc/init.d/openvpn restart
Verificou que o tun0 está lá
ifconfig tun0
Habilitado o parâmetro ip_forward no /etc/sysctl.conf para que os pacotes possam fluir
net.ipv4.ip_forward=1
Também ativado o mascaramento de rede virtual para que o cliente possa acessar todas as máquinas remotas
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
e salvou as tabelas ip conf para que elas não desapareçam em uma reinicialização
Salvar conf no arquivo
sudo sh -c “iptables-save > /etc/iptables.rules”
Edite / etc / network / interfaces adicionando a interface (eth0, neste caso)
pre-up iptables-restore < /etc/iptables.rules
Obtendo o seguinte server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb3
No cliente eu instalei o OpenVPN e editei o arquivo client.conf que está em / etc / openvpn com os certificados: ca.cert, client1.key, client1.conf, obtendo o seguinte arquivo client.conf:
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
depois reiniciado:
/etc/init.d/openvpn restart
E quando eu quero verificar se a interface tun0 está lá com ifconfig tun0, não existe.
Por isso, verifiquei meu log em busca de erros, na máquina do cliente, e há esse erro:
VERIFY ERROR: depth=0, error=unable to get local issuer certificate: /C=Es/ST=M/L=Madrid/O=xxx/OU=xxx/CN=myServer/name=xxx/[email protected]
TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
user openvpn[7984]: TLS Error: TLS object -> incoming plaintext read error
user openvpn[7984]: TLS Error: TLS handshake failed
e este é o erro no log dos servidores
xxx.xxx.xxx.xxx:59439 SIGUSR1[soft,tls-error] received, client-instance restarting
MULTI: multi_create_instance called
xxx.xxx.xxx.xxx:59485 Re-using SSL/TLS context
xxx.xxx.xxx.xxx:59485 LZO compression initialized
xxx.xxx.xxx.xxx:59485 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
xxx.xxx.xxx.xxx:59485 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
xxx.xxx.xxx.xxx:59485 Local Options hash (VER=V4): '530fdded'
xxx.xxx.xxx.xxx:59485 Expected Remote Options hash (VER=V4): '41690919'
xxx.xxx.xxx.xxx:59485 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:59485, sid=0349f4d6 657535c9
xxx.xxx.xxx.xxx:59440 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
xxx.xxx.xxx.xxx:59440 TLS Error: TLS handshake failed
xxx.xxx.xxx.xxx:59440 SIGUSR1[soft,tls-error] received, client-instance restarting
Eu criei as chaves novamente e adicionei o caminho completo dos certs no arquivo client.conf, mas ainda não funciona. Também tentei com todos os meus firewalls desativados e ainda não posso conectar ao meu servidor por causa desse erro.
Another important thing is that my server is an ubuntu 12.04 and client CentOS 6.3
Posso ver que encontro meu servidor, mas a conexão ainda não está completa ...
O que devo fazer ??
Se mais arquivos de configuração forem necessários, diga-me para mostrar a você