PDA

Ver la Versión Completa : [GUIA] Instalar y Configurar OpenVPN en CentOS


OscarS
17-may-2011, 02:18
Tema Original (http://www.culturaotaku.com/2011/04/instalar-y-configurar-openvpn-en-centos/)

Esta guía fue traducida de ingles a español y complementada por mi. Esta guía les permitirá tener su VPN en una forma fácil y sencilla.

La guía fue probada en un VPS XEN de 512 de RAM y CentOS de 64 Bits (VPS XEN 512 x64 10TB).

Bueno manos a la obra.

La primer cosa que tener que hacer es checar si tenemos tun/tap activado, lo haremos escribiendo lo siguiente en consola o terminal

cat /dev/net/tun

Y nos deve de aparecer esto

cat: /dev/net/tun: File descriptor in bad state

Si les sale igual significa que tenemos el tun/tap activado y podemos proceder, si sale de cualquier otro modo significa que no lo tenemos activado asi que tendran que pedir a su provedor que se los active.

Instalar los modulos requeridos

yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel

Descargar el repositorio de OpenVPN

wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

Descargar esto si tu sistema es de 32bits

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

Descargar esto si tu sistema es de 64bits

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Construimos los paquetes rpm en 32bits

rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm

Construimos los paquetes rpm en 64bits

rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/x86_64/lzo-*.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Instalamos OpenVPN

yum install openvpn

Copiamos la carpeta “easy-rsa” de OpenVpn a “/etc/openvpn/“

cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/

Ahora crearemos los certificados

cd /etc/openvpn/easy-rsa/2.0
chmod 755 *
source ./vars
./vars
./clean-all

Creamos el archivo CA

./build-ca

Nota: Al crear el archivo CA nos pedira escribir unos datos, estos se pueden poner o pasar aqui les dejare un ejemplo

Country Name: rellenamos o omitimos con enter
State or Province Name: rellenamos o omitimos con enter
City: rellenamos o omitimos con enter
Org Name: rellenamos o omitimos con enter
Org Unit Name: rellenamos o omitimos con enter
Common Name: su hostname o dominio del vpn
Email Address: rellenamos o omitimos con enter

Creamos la “key” del servidor

./build-key-server servidor

Nos volvera a pedir datos como en el archivo CA podemos hacer lo mismo simplemente cambiaremos lo que pusimos en hostname por “servidor” les dejo el ejemplo

Common Name: servidor
Password: rellenamos o omitimos con enter
sign the certificate: y
1 out of 1 certificate requests: y

Crearemos el Diffie Hellman (esto puede tardar un rato, esperen hasta que acabe)

./build-dh

Crearemos una configuracion para el puerto UDP 1194 para OpenVPN

nano /etc/openvpn/1194.conf

Esto nos abrirá un archivo en blanco, lo llenamos con lo siguiente

local 123.123.123.123 #- la_ip_de_tu_servidor
port 1194 #- puerto
proto udp #- protocolo
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/servidor.crt
key /etc/openvpn/easy-rsa/2.0/keys/servidor.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 1.2.3.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 4.2.2.1"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3

Nota: Antes de que guarden el archivo asegurence de que “plugin /usr/share/.. /pam.d/login” esta en el mismo renglon y de cambiar “123.123.123.123” por la IP de su VPN

Iniciamos OpenVPN con el archivo 1194.conf

openvpn /etc/openvpn/1194.conf &

Este es el log si OpenVPN inicio exitosamente

Mon Feb 21 02:23:20 2011 UDPv4 link remote: [undef]
Mon Feb 21 02:23:20 2011 MULTI: multi_init called, r=256 v=256
Mon Feb 21 02:23:20 2011 IFCONFIG POOL: base=1.2.3.4 size=62
Mon Feb 21 02:23:20 2011 Initialization Sequence Completed

Verificamos que OpenVPN 1194.conf corra oculto

bg

Habilitamos en enrutamiento (Forward) IPv4

echo 1 > /proc/sys/net/ipv4/ip_forward

Fijamos IPTables

iptables -t nat -A POSTROUTING -s 1.2.3.0/24 -j SNAT --to 123.123.123.123


Nota: Las IPs asignadas para el cliente VPN son 1.2.3.0 y cambiamos el “123.123.123.123″ por la IP de su VPN

Crearemos usuario y contraseña para la conexion

useradd nombredeusuario -s /bin/false
passwd nombredeusuario

Ahora descargamos el archivo “ca.crt” del directorio “/etc/openvpn/easy-rsa/2.0/keys/” (pueden usar FileZilla para esto)

Descargamos e instalamos el cliente de OpenVPN para windows, descargamos la version mas reciente y estable aquí (http://openvpn.net/index.php/open-source/downloads.html#latest-stable)

Despues de que terminamos de instalar, cerramos el cliente de OpenVPN y movemos el archivo que acabamos de descargar (ca.crt) en el directorio donde instalamos OpenVPN en la carpeta “config”

También crearemos un archivo de configuración para el cliente de OpenVPN en esa misma carpeta, abrimos el bloqueo de notas y ponemos

client
dev tun
proto udp #- protocol
remote 123.123.123.123 1194 #- IP DEL SERVER and PUERTO DE OPENVPN
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3

Nota: Cambiamos “123.123.123.123″ por la IP de nuestro VPN

Lo guardamos como 1194.ovpn o loquequeramos.ovpn, abrimos nuestro cliente y le damos click derecho al icono de la barra de tareas, connect y nos pedira el usuario y contraseña que pusimos en el proceso.

Nota

Con lo que acabamos de hacer funcionara el OpenVPN manual, tendran que hacer cada vez que reinicien el servidor las opciones de “Habilitamos en enrutamiento (Forward) IPv4“, “Fijamos IPTables” y “Iniciamos OpenVPN con el archivo 1194.conf“, a continuación les diré como dejar permanentes estas opciones dando click aqui (http://www.culturaotaku.com/2011/04/instalar-y-configurar-openvpn-en-centos/)