¡Esta es una revisión vieja del documento!


OpenVPN

Descripción

Esto es una VPN que usa SSL ..y tambien corre en windogs y permite hacer routing o Bridge .. interesante.

“… OpenVPN is a full-featured SSL VPN which implements OSI layer 2 or 3 secure network extension using the industry standard SSL/TLSs protocol,supports flexible client authentication methods based ons certificates, smart cards, and/or username/password credentials, and allows user or group-specific access control policies using firewall rules applied to the VPN virtual interface. OpenVPN is not a web application proxy and does not operate through a web browser. …”

Procedimiento

MODULO Webmin (comodiiisimo)

1 Montelo e instalelo

http://www.openit.it/index.php/openit_en/software_libero/openvpnadmin/download

2 Genere el CA

3 Genere la llave para el servidor

4 Genere la configuracion para el servidor

5 Ya puede generar la llave para el cliente.

Algunos problemas https://github.com/authentic-theme/authentic-theme/issues/934

Un howto video https://www.youtube.com/watch?v=P2uNmixRA2k

1. A MANO: Solo Conectar 2 equipos (Server y Clientes)

Si son solo dos conectados es muy facil porque no se requiere esquema de PKI (llave publica-privada) sino que se configura de una .. mire http://openvpn.net/static.html

1.1 En el server

A. Instale el paquete OpenVPN conveniente.

B. Toca generar las llaves de un lado y otro. Para esto el instalador ofrece un directorio llamado easy-rsa (/usr/share/doc/openvpn-2.0.7/easy-rsa/2.0). Ahi toca seguir el procedimiento

C. Editar vars para que sea consistente con su ubicacion y la demas informaciión para generar las llaves.

export KEY_COUNTRY=“CO” export KEY_PROVINCE=“Bogota DC” export KEY_CITY=“Bogota DC” export KEY_ORG=“SkinaTech” export KEY_EMAIL=“kasandra@skinatech.com” D. Suba las variables de ambiente, limpie y construya el CA

$>  source vars
$>  clean-all        
$>  build-ca

E. Genera las llaves del server

 $> ./build-key-server server

F. Y la llave para entregarle al cliente

 $> ./build-key client 

OJO que eso quedan en el directorio keys

G. y Finalmente los parametros Diffie Helman (??)

 $> ./build-dh

Con estos archivos .. ya se puede configurar el server y los clientes.

H. En /etc/openvpn/server.conf se pone el archivo de configuracion y en /etc/openvpn/keys copie las llaves relevantes al server.

1.2 En el cliente

A. En /etc/openvpn/client.conf se pone el archivo de configuracion y en /etc/openvpn/keys copie las llaves relevanes al clientes originados en el server. Ya es inicie y pruebe. OJO con configurar el firewall para permitir conexiones de entrada y salida .. y las interfaces van a ser tun0. Si el cliente es windows .. hay varias versiones … pero toca configurar el cliente.

2. El cliente windows Instale openvpn Copie el client.conf que que esta en el directorio de ejemplos Cambie lo que sea necesario en este archivo Copie las llaves, puede dejarlas aqui Active la interfaz nueva creada (tun0) y deberia funcionar Si no . . mire bitacoras Trucos 1. Como usar una Smart Card - http://acksyn.org/docs/smart-cards-openvpn.html

2. Que hacemos con un VPS ? - http://www.jvds.com/guide/bridging.php – 3. Alta disponibilidad Cuando se tiene varios canales de entrada, lo ideal es que el cliente sea inteligente para cambiar de canal cuando se cae el cliente.

La solucion es declarar varios “remote” y el los va a escoger en secuencia y/o random (si se indica). 4. Cliente to client Para comuncarse entre los clientes el servidor debe tener la opcion –client-to-client 5. OpenvpnAS? 5.1 Agregar un superusuario Primero agreguelo como usuario normal del sistema

/usr/local/openvpn_as/scripts/sacli –user=lisim –key prop_superuser –value true UserPropPut?

Y verifico que tenga los valores

root@openvpnas2:~# /usr/local/openvpn_as/scripts/confdba -us -p lisim {

"lisim": {
  "prop_superuser": "true",
  "type": "user_compile"
}

}

Ahora ya puede entrar al GUI web. 5. Client as service on W2K12 Primero baje el cliente e instalelo.

- https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide#RunningOpenVPNasaService

Y como hago pa que arranque solo

Toca subir el servicio openvpn a automatico (services.msc) Y hacer el par de arrelgos en el regedit y bien arranca. OJO coger un opepnvpn > 2.1.4

- https://support.untangle.com/hc/en-us/articles/202159608--OpenVPN-How-do-I-auto-start-OpenVPN-when-my-computer-boots-

6. OpenWRT https://wiki.openwrt.org/inbox/vpn.howto

https://wiki.openwrt.org/doc/howto/vpn.openvpn

Problemas 1. Que hacemos con un VPS ? - http://www.jvds.com/guide/bridging.php

2. Como subo el sevidor en un Centos 7 https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-an-openvpn-server-on-centos-7

3. El cliente de windows se reinicia todo el tiempo Sabe que puede ser .. a mi me pasa eso .. a veces cuando dos proceso estan corriendo al tiempo .. O sea vaya a administrador de tareas y mate todo lo que huela a openvpn y desactive el servicio de openvpn que a veces esta activo .. por fa

4. EL CRL vencido

Me paso con el modulo de webmin de openvpn .. y toco regenerarlo a mano … un camello. Parece en donde estan las llaves (/etc/openvpn/keys/cucuta-aws)

Me toco crear a mano las variables (VARS)

export CA_NAME='cucuta-aws' export CA_EXPIRE='3650' export KEY_SIZE='2048' export KEY_CONFIG='/etc/openvpn/openvpn-ssl.cnf' export KEY_DIR='/etc/openvpn/keys/cucuta-aws' export KEY_COUNTRY='CO' export KEY_PROVINCE='NS' export KEY_CITY='Cucuta' export KEY_ORG='Alcaldia Cucuta' export KEY_EMAIL='mesadeayuda@cucuta.gov.co' export KEY_OU='Office' export KEY_CN='berlin/emailAddress=mesadeayuda@cucuta.gov.co'

Cambiar el '/etc/openvpn/openvpn-ssl.cnf para que el CRl no dure solo 30 dias sino 10 años

Y ahi se pudo generar con

openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl.pem -config /etc/openvpn/openvpn-ssl.cnf

4. conexion erratica y no es usuario conectandose varias veces

Imaginese que descubri que puede ocurrir que varios clientes generen la misma MAC y se conflictean.

Se diagnostica viendo las bitacoras de openvpn que MULTI: Learn .. a cada rato .. mientras asigna una MAC al uno o al otro

Solucion .. la opcione lladdr para asigar mac a mano a alguno y ya

Referencias - Easy-RSA v3 https://community.openvpn.net/openvpn/wiki/EasyRSA3-OpenVPN-Howto

- https://www.howtoforge.com/tutorial/how-to-install-openvpn-on-centos-7

- Los howtos http://openvpn.net/index.php/documentation/howto.html

- Howto ecuatoriano bueno http://www.ecualug.org/2007/02/06/comos/centos/c_mo_instalar_y_configurar_openvpn

- Alta disponibilidad

http://serverfault.com/questions/114858/high-availability-openvpn-service http://openvpn.net/index.php/open-source/documentation/manuals/69-openvpn-21.html http://serverfault.com/questions/110105/redundant-openvpn-configuration/111264#111264

FIN

Un server.conf

   port 1194
   proto udp
   dev tun
   ca /etc/openvpn/keys/ca.crt
   cert /etc/openvpn/keys/server.crt
   key /etc/openvpn/keys/server.key  
   dh /etc/openvpn/keys/dh1024.pem
   server 10.8.0.0 255.255.255.0
   ifconfig-pool-persist /var/log/ipp.txt
   keepalive 10 120
   comp-lzo
   max-clients 5
   user nobody
   group nobody
   persist-key
   persist-tun
   status /var/log/openvpn-status.log
   log-append /var/log/openvpn.log
   verb 3
   cipher AES-256-CBC

Y un client.conf para un Linux

client dev tap proto tcp remote castellana.ikatta.com 1194 remote pasadena.ikatta.com 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 0 script-security 2 cipher AES-256-CBC

Y un client.ovpn para un windows

client dev tap proto tcp remote castellana.ikatta.com 1194 remote pasadena.ikatta.com 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 0 script-security 2 cipher AES-256-CBC

Y un client.ovpn para Tunnelblick en MacOS?

client dev tap proto tcp remote castellana.ikatta.com 1194 remote pasadena.ikatta.com 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 2 cipher AES-256-CBC

Volver arriba