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/)
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/)