Está en la página 1de 10

El Servidor: Esta gua es para Ubuntu 10.

04 Server, imagino que funciona en otras versiones y distros, tenemos un ubuntu server ya instalado y funcionando. Instalamos OpenVPN y tambin OpenSSL, ya que la seguridad se basa en ssl. ? 1 2 sudo apt-get -y install openvpn sudo apt-get -y install openssl

Configuramos el demonio de OpenVPN para que auto inicie con el sistema, comentamos todo agregando # al comienzo de cada linea, Agregamos al final del Archivo, AUTOSTART=openvpn esto le indica a openvpn que busque el archivo openvpn.conf (el .conf lo agrega solo) en /etc/openvpn ? 1 sudo nano /etc/default/openvpn

Ahora Creamos el Archivo openvpn.conf en /etc/openvpn/ ? 1 sudo nano /etc/openvpn/openvpn.conf

y colocamos esta configuracin ? 1 2 3 4 dev tun proto tcp port 1194 ca /etc/openvpn/keys/ca.crt

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

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 ipp.txt #duplicate-cn persist-key persist-tun up /etc/openvpn/openvpn.up #client-to-client push "redirect-gateway def1" #comp-lzo verb 3 max-clients 30

Como vern se puede personalizar, este es un ejemplo que fue probado, hay lineas comentadas, quitarle el # para activarlas, datos que pueden modificar: * 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, segn el caso es til. * comp-lzo = compresin, como en muchas pruebas me dio problemas no lo activo, adems genera latencia. * verb 3 = aumenta o disminuye los detalles de error en el server. * max-clients 30 = cantidad mxima de usuarios conectados simultneamente al servidor, se puede aumentar o disminuir. Ahora creamos el archivo openvpn.up en /etc/openvpn/, este para ROUTING y FORWARDING. ? 1 sudo nano /etc/openvpn/openvpn.up

y colocamos este cdigo ? 1 2 3 #!/bin/bash sudo echo 1 > /proc/sys/net/ipv4/ip_forward

sudo iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQ

ahora le asignamos permisos de ejecutable ? 1 sudo chmod +x /etc/openvpn/openvpn.up

cambiar el rango de ip segn la configuracin de paso anterior. Bueno ya configuramos OpenVPN, ahora tenemos que activar el modulo TUN en el kernel, con estas lineas, lo cargamos y listo ?

1 2

sudo modprobe tun sudo echo "tun" >> /etc/modules

como vern no fue tan difcil la configuracin, pero ahora viene lo mas lento: * Crear Diffie Hellman de 2048bits * Crear la entidad emisora de certificados. * Crear los Certificados y llaves del servidor. * Crear los certificados y llaves de cada usuario. Copiamos los ejemplo de easy-rsa para crear la entidad, los certificados, llaves y encriptacin, que usar OpenVPN, ? 1

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

ahora hay que entrar en la carpeta donde estn las utilidades que copiamos y crear la carpeta keys ? 1 2 3

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/2.0 sudo mkdir keys

solo nos queda editar el archivo vars que esta en /etc/openvpn/easyrsa/2.0 ? 1 sudo nano /etc/openvpn/easy-rsa/2.0/vars

y modificamos estos valores ?

1 por ? 1

export KEY_DIR="$EASY_RSA/keys"

export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"

es para genere si o si en /etc/openvpn/easy-rsa/2.0/keys seguimos, tambin modificamos los parmetros para Diffie Hellman de 2048bits ? 1 por ? 1 export KEY_SIZE=2048 export KEY_SIZE=1024

solo nos faltan los datos para la entidad emisora ? 1 2 3 4 5 export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"

modifica cada valor por los de tu pas, provincia, ciudad, empresa y correo, un ejemplo: ?

1 2 3 4 5

export KEY_COUNTRY="AR" export KEY_PROVINCE="SF" export KEY_CITY="Armstrong" export KEY_ORG="LAGA-Systems" export KEY_EMAIL="info@lagasystems.com.ar"

como ven AR = Argentina, SF = Santa Fe (mi provincia) y los demas se entienden. bueno ahora estamos preparados para comenzar, seguir estos pasos al pie de la letra, porque un error y se arruina todo. ejecutamos ? 1 source ./vars

y nos pide que limpiemos por si hay entidades, certificados y llaves, lo hacemos con gusto ? 1 ./clean-all

ahora generamos la seguridad Diffie Hellman de 2048bits ? 1 ./build-dh

ahora generamos la entidad emisora de certificados les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa ?

./build-ca

ya estamos para poder generar lo certificados y llaves primero el servidor, cambiar server por el nombre que gusten, les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa ? 1 ./build-key-server servidor

ya tenemos los certificados y llaves de servidor ahora el cliente, cambiar cliente por el nombre que gusten, les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa ? 1 ./build-key cliente

este paso se debe repetir para cada cliente o usuario que quiere conectar a la vpn ya tenemos todo para funcionar, no, falta copiar los archivos que generamos al lugar que configuramos en openvpn.conf ya que copiar la carpeta keys a /etc/openvpn/ ? 1 sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/

ahora comprobamos que este todo en su lugar, entramos en la carpeta /etc/openvpn/keys ? 1 cd /etc/openvpn/keys

y con un ls miramos si estn los archivos, ahora generamos un archivo mas, este lo genera openvpn

? 1 sudo openvpn --genkey --secret ta.key

solo falta copiar los archivos ca.crt, cliente.crt, cliente.key, si creaste mas clientes copia los crt y key de cada un pendrive u otro medio no usar email para enviarlos, es como darle la llave de tu cada a un desconocido. listo ya esta todo en el servidor, ahora lo iniciamos para probar que todo esta correcto ? 1 sudo /etc/init.d/openvpn start

si no hay errores ya tenemos nuestra vpn funcionando, solo falta el cliente. El Cliente: Esta gua es para Ubuntu 10.04 Desktop, imagino que funciona en otras versiones y distros, tenemos un ubuntu ya instalado y funcionando. Instalamos OpenVPN y tambin OpenSSL, ya que la seguridad se basa en ssl, y como usaremos el Network Manager de Ubuntu hay que instalar el plugins para OpenVPN ? 1 2 3 sudo apt-get -y install openvpn sudo apt-get -y install openssl sudo aptitude -y install network-manager-openvpn

ahora ya estamos en condiciones de configurar nuestro cliente un ejemplo de configuracin: Con un editor de texto, gedit puede ser, pegan este cdigo ? 1 dev tun

2 3 4 5 6 7 8 9 10 11 12 13 14

client proto tcp remote IP-DEL-SERVIDOR PUERTO resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ca ca.crt cert cliente.crt key cliente.key verb 3

Modifican los datos, IP-DEL-SERVIDOR este es el ip publico o de internet del servidor y PUERTO por el que asignaron en el servidor los archivos ca.crt, cliente.crt y cliente.key son los que generamos y copiamos antes en un pendrive o en lo que sea. Guardan el el cdigo con el nombre que quieran pero con extensin .conf y en la misma carpeta de los archivos ca.crt, cliente.crt y cliente.key, ahora abre el Network Manager de Ubuntu y en la pestaa VPN hay un botn Importar, buscan el archivo .conf que guardamos antes y ya esta todo. Con esta configuracin una vez conectados usaran internet desde la vpn, es til si estas con la notebook en una red wifi insegura si no quiere usar internet desde la vpn hay que cambiar unos parmetros en el Network Manager de Ubuntu, en el perfil de la vpn que importamos y hay un botn que dice editar se abre la ventana con el perfil en la pestaa Ajustes de IPv4 cambiamos automtico (VPN) por Solo Direcciones Automticas (VPN), ahora se habilitan 2 cajas de texto en las cuales ingresamos nuestro gateway o si tienen un router ponen el ip

de este en las dos cajas. En el botn Rutas, se abre otra ventana y tildamos el checkbox que dice usar conexin solo para los recursos de red ahora el botn aceptar y luego aplicar y cerramos el Network Manager. Ya tenemos una vpn y usamos nuestro internet directo Este problemas de que use el internet por la vpn supuestamente se puede desactivar desde el servidor pero no encontr como si alguien sabe que aporte, gracias. Espero que les ayude, ya que para hacer funcionar openvpn me recorr todas la guas y manuales que encontr.

También podría gustarte