Servidor VPN en Windows XP
Windows server 2003
En Ubuntu server Instalamos openvpn y openssl
a continuación editamos el fichero /etc/default/openvpn
También eliminamos el script de inicio para evitar que no inicie sin configurar con la orden sudo update-rc.d f /etc/init.d/openvpn remove
Ahora creamos el fichero openvpn.conf en /etc/openvpn con la siguiente configuración dev tun proto tcp port 1194 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servidor.crt key /etc/openvpn/keys/servidor.key dh /etc/openvpn/keys/dh2048.pem user nobody group nogroup server 10.6.0.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/clients.txt status /etc/openvpn/status.txt persist-key persist-tun push "redirect-gateway def1" push "route 192.168.0.0 255.255.255.0" keepalive 10 120 verb 3 comp-lzo max-clients 3 * ca, cert, key y dh = son la entidad, el certificados, la llave y la Diffie Hellman del servidor, mas adelante los crearemos. * server 10.6.0.0 255.255.255.0 = es el rango de ip que usara la vpn, usen otro pero, no usar el mismo que la red real. * ifconfig-pool-persist ipp.txt = guarda a quien se le asigno cada ip en la vpn * proto y port = protocolo y puerto, se puede usar tcp y utp, en utp no me dio buenos resultados, el puerto es pueden cambiarlo. * duplicate-cn = permite que se use el mismo certificado y llave en varios clientes al mismo tiempo, recomiendo no activarlo. * up /etc/openvpn/openvpn.up = es un script que carga openvpn al iniciar, se usa para el ROUTING y FORWARDING, mas adelante lo creamos. * client-to-client = es para evitar que los usuario de la vpn se vean entre si, según el caso es útil. * comp-lzo = compresión, comprime todo el trafico de la vpn. * verb 3 = aumenta o disminuye los detalles de error en el server. * max-clients 30 = cantidad máxima de usuarios conectados simultáneamente al servidor, se puede aumentar o disminuir. * push route = permite ver o estar en la red detras del vpn server, ojo no activar client-toclient. * push redirect = oblica al cliente a usar la vpn como gateway. Ahora crearemos un script para que configure e inicie el servidor vpn, escribimos sudo nano /etc/init.d/vpnserver
Contenido vpnserver #!/bin/sh # vpnserver_start() { echo "VPN Server [OK]" echo 1 > /proc/sys/net/ipv4/ip_forward /etc/init.d/networking restart > /dev/null /sbin/iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE /usr/sbin/openvpn --config /etc/openvpn/server.conf 2>> /etc/openvpn/error.txt 1>> /etc/openvpn/normal.txt & } vpnserver_stop() { echo "VPN Server [NO]" /usr/bin/killall "openvpn" iptables -F iptables -X /etc/init.d/networking restart > /dev/null } vpnserver_restart() { vpnserver_stop sleep 1 vpnserver_start } # case "$1" in 'start') vpnserver_start
;; 'stop') vpnserver_stop ;; 'restart') vpnserver_restart ;; *) vpnserver_start ;; esac a continacion le damos permisos de ejecución con sudo chmod +x /etc/init.d/vpnserver Seguidamente le indicamos que lo ejecute al inicio con la orden sudo update-rc.d vpnserver defaults
Ahora debemos activar el modulo TUN en el kernel, escribiendo sudo modprobe tun y sudo echo tun >> /etc/modules
A continuación procederemos a crear: Diffie Hllman de 2048 bits Crear entidad emisora de certificados Crear los certificados y llaves del servidor Crear los certificados y llaves de cada usuario Comenzamos copiando los ejemplos de easy-rsa para crear la entidad, los certificados, las llaves y encriptación que usa VPN con sudo cp R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
A continuación nos movemos a la carpeta copiada y creamos la carpeta keys dentro de 2.0
A continuación editamos el fichero vars y modificamos el valor export KEY_DIR= $EASY_RSA/keys por export KEY_DIR= /etc/openvpn/easy-rsa/2.0/keys Además configuramos el parámetro export_key_size de 1024 a 2048
Y los datos de la entidad certificadora
A continuación ejecutamos./vars Nos pedirá que limpiemos la pantalla, lo hacemos con./clean-all
A continuaicon generamos la seguridad diffie hellman de 2048 bits.
Ahora emitiremos la entidad emisora con el comando./build-ca Nos hara una serie de preguntas escribimos lo mismo que en el fichero vars
A continuación ejecutamos./build-key-server servidor
Esto hara que se generen las claves del servidor, a continuación debemos copiar el contenido de la carpeta keys a /etc/openvpn
Ahora debemos comprobar que esta todo en su lugar A continuación generamos un fichero mas con sudo openvpn genkey secret ta.key
A continuación debemos copiar los ficheros ca.crt, cliente.srt y cliente.key a un pendrive Y arrancancamos el servidor con el comando Sudo /etc/init.d/vpnserver start
Si no da fallo esta listo Conexión desde un cliente vpn en windows y Linux En Windows
En Linux Instalamos openssl y openvpn y el plugin de network-manager para vpn con: Sudo apt-get install openvpn
Sudo apt-get install openssl
Sudo apt-get install network-manager-openvpn Editamos un fichero que tenga cualquier nombre con extensión.conf y agregamos el siguiente contenido, guardándolo con los ficheros copiados
Para finalizar pinchamos en el gestor de conexiones y pinchamos en la pestaña de VPN
A continuación pinchamos en el botón de importar y seleccionamos el fichero.conf que acabamos de crear. Al seleccionarlo nos aparecerá esto
Escribimos la contraseña y pulsamos en guardar y la conexión estaría lista