==CONFIGURACION PRINCIPAL==
Este es el diagrama del laboratorio:
DETALLES DE HARDWARE PARA EL SERVIDOR:
Maquina virtual en Virtual Box
Centos 6.4 32 bits minimal
512mb ram
2.4ghz 1 solo nucleo
10gb de espacio
nota: esta configuracion puede utilizarse para conectar equipos por una red LAN interna y para redes WAN.
DETALLES DE LOS EQUIPOS A VIRTUALIZAR
SERVIDOR VPN (EL QUE ACEPTA LAS CONEXIONES)
eth0: 192.168.80.5
tap0:10.8.0.1
CLIENTE LINUX
192.168.80.10
tap0 dhcp 10.8.0.0/24
CLIENTE WINDOWS
ip 192.168.80.2
tap0: dhcp 10.08.0.0/24
1) INSTALACION
-revisamos si ya tenemos los paquetes instalados
rpm -qa | grep openvpn
-agregar el rpm de sourceforce
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
i686 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
x86_64 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# cd /etc/yum.repos.d
# wget http://repos.openvpn.net/repos/yum/conf/repos.openvpn.net-CentOS6-snapshots.repo
-luego de agregar los repositorios instalamos openvpn
yum install openvpn easy-rsa
-verificamos que el directorio este creado y vacio
ls /etc/openvpn
-verificamos que el demonio este en su ruta
ls /etc/rc.d/init.d/openvpn
r
-verificamos que todos los archivos de configuracion este disponibles
ls /usr/share/doc/openvpn-2.2.2
-revisar que el easy-rsa se haya instalado
ls /usr/share/easy-rsa/
#-verisamos si el dispositivo esta creado
#cat /etc/net/tun
listado archivos de configuracion y directorios
/etc/openvpn archivo de config
/usr/share/doc/openvpn-2.2.2 documentacion
/etc/rc.d/init.d/openvpn demonio
/usr/share/openvpn/plugin plugins
/etc/openvpn/openvpn-status.log logfie
-CONFIGURACION
-nos movemos al directorio de los archivos de configuracion. copiamos los archivos de configuracion haca el directorio
cd /usr/share/doc/openvpn-2.2.2
-listamos los archivos de la carpeta antes de copiar
ls easy-rsa/
-listamos los archivos antes de copiar
ls /etc/openvpn
-copiamos todos loas archivos
mkdir /etc/openvpn/easy-rsa
cp -r /usr/share/easy-rsa/* /etc/openvpn/
-confirmamos que todos los archivos se copiaron
ls /etc/openvpn
-nos movemos a al carpeta de los ejemplos de configuracion
cd sample-config-file
-copiamos el archivo de configuracion hacia su nueva ruta
cp server.conf /etc/openvpn/
-nos movemos hacia el directorio easy-rsa v2 en etc
cd /etc/openvpn/easy-rsa/2.0/
-editamos el archivo vars y agregamos la rusa del rsa
vi vars
-----------------------------------------------------------
######cambiamos este parametro
export EASY_RSA="pwd"
######por este de abajo:
export EASY_RSA="/etc/openvpn/easy-rsa/2.0"
-----------------------------------------------------------
copiamos los archivos cnf
cp openssl-1.0.0.cnf openssl.cnf
-cambiamos los permisos a los archivos de este directorio
chmod 755 *
- no se para que sirve esto
./vars
-creamos el directorio donde guardaremos las llaves
mkdir keys
-cargamos los valores de vars
source vars
-limpiamos cualquier rastro de algun certificado antes de proceder a crear cualquier certificado primario
./clean-all
-CREACION DE CERTIFIVADOS
-creamos los certificados y las llaves privadas
./build-ca
-----------------------------------------------------------
country KH
full name PP
city Phnom Penh
organization name RUPP
organization name IT
common name: jeong
name -none
email: tland12@gmail
-----------------------------------------------------------
-listamos la llaves creadas
ls keys/
nos apareceran ca.crt y ca.key
-creamos la llave para el servidor
NOTA: OJO NOCAMBIAR EL NOMBRE SERVER!
./build-key-server server
-----------------------------------------------------------
country KH
full name PP
city Phnom Penh
organization name RUPP
organization name IT
common name: server
name -none
email: tland12@gmail
challenge pass: enter
optional company name: enter
sing the certificate: yes!
1 certificado requiere un certificador: yes
-----------------------------------------------------------
-verificamos que se crearan nuevos archivos
ls keys/
-creamos la llave del cliente en windows y el equipos en linux
OJO: CON EL NOMBRE CLIENT SE GENERARA UN ARCHIVO CON EL MISMO NOMBRE. ESTOS ARCHIVOS HAY QUE COPIARLOS EN EL CLIENTE Y LUEGO SE ESCRIBE IGUALITO EN EL ARCHIVO DE CONFIGURACION
EJE: SI EN VEZ DE CLIENTE PONEMOS WIN-2003, ASI MISMO SE GENERARA UN NUEVO ARCHIVO LLAMADO WIN-2003.CRT,KEY Y CSR. EN EL ARCHIVO DE CONFIG DEL CLIENTE ASI SE LLAMARAN LOS CERTIFICADOS.
./build-key client
-----------------------------------------------------------
country KH
full name PP
city Phnom Penh
organization name RUPP
organization name IT
common name: client
name -none
email: tland12@gmail
challenge pass: enter
optional company name: enter
sing the certificate: yes!
1 certificado requiere un certificador: yes
-----------------------------------------------------------
-verificamos que se crearan nuevos archivos
ls keys/
client.crt y client.key y client.csr
./build-key windows
-----------------------------------------------------------
country KH
full name PP
city Phnom Penh
organization name RUPP
organization name IT
common name: windows
name -enter
email: tland12@gmail
challenge pass: enter
optional company name: enter
sing the certificate: yes!
1 certificado requiere un certificador: yes
-----------------------------------------------------------
-verificamos que se crearan nuevos archivos
ls keys/
window.crt y windows.key y window.csr
-creamos el parametro diffie-hellman
./build-dh o tambien openssl dhparam -out dh1024.pem 1024
-verificamos que se creo el archivo dh1024.pem
ls keys/
dh1024.pem
-copiamos la configuracion al /etc
cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/server.conf
y lo sobre escribimos
-editamos el archivo de config
vi /etc/openvpn/server.conf
-----------------------------------------------------------
port 1194 #puerto que sera utilizado para comunicar los clientes con el servidor
proto udp #tipo de protoloco que se utilizara para la conexion
dev tun #tipo de interfaz: tun: linux-linux y tap0 linux-linux-windows documentacion
#---- Seccion de llaves -----
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt #archvo de la autoridad certificadora
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt #el certificado del servidor
key /etc/openvpn/easy-rsa/2.0/keys/server.key #llave del servidor
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem #
#----------------------------
server 10.8.0.0 255.255.255.0 #asignacion del rango de las ips que utilizaran en el tunel vpn
push "route 10.8.0.0 255.255.255.0" #
ifconfig-pool-persist ipp.txt # archivo de registro de las direcciones ips de los cleinte que esten conectados al tunel vpn
keepalive 10 120 #los paquetes se manejan cada 10 segundos y la conexion esta abajo sin no aparece ninguna resp en 120 seg.
;client-to-client #los clientes solo pueden ver el servidor.
comp-lzo #activa la compresion en vpn, si se realiza esta operacion en el servidor tambien se debe de hacer en el cliente.
persist-key #
persist-tun
max-clients 100 #maximo de clientes
;user nobody #descomentar si se conectaran usuarios de windows, tambien el goup
;group nobody #decomentar si se conectaran usuarios de windows, tambien user nobody
status openvpn-status.log #almacena los eventos y los datos de las conexiones. se puede modificar para que guarde con el nombre del servidor el log
verb 4 #nivel para que se guarde algun dato en el log.
-----------------------------------------------------------
-iniciamos y detenemos el servicio
service openvpn start
service openvpn stop
-iniciamos el servidor de manera manual para ver los mensajes verbose y tener mas datos antes de finalizar la instalacion
openvpn --config server.conf
-en otra terminal entramos y verificamos que la interface tap0 tiene la ip 10.8.0.1
ipconfig tap0
-agregamos el servicio al listado de servicios que inician por defecto
chkconfig openvpn on
-revisamos este reenviando paquetes el servidor
vi /etc/sysctl.conf
net.ipv4.ip-forward=0 ; si esta asi hacemos el siguiente comando
-le indicamos al servidor que puede reenviar paquetes de una interface a otra
echo 1 > /proc/sys/net/ipv4/ip_forward
-volvemos a revisar que este cambiado el parametro a 1
vi /etc/sysctl.conf
net.ipv4.ip-forward=1
-ver los cambios
sysctl -p
-guardamos los cambios
sysctl -w
-agregamos al iptables que todas las conexiones de tap0 entren
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A OUTPUT -oi tap+ -j ACCEPT
-INSTALACION Y CONFIGURACION DE LOS CLIENTES
-LINUX
-revisamos si ya esta instalado el openvpn
rpm -qa | grep openvpn
-si no esta instalado procedemos a instalarlo
yum install openvpn
-copiamos el archivo de configuracion
cp /usr/share/doc/openvpn-2.2.2/sample-config-files/client.conf /etc/openvpn/
cp /usr/share/doc/openvpn-2.2.2/sample-config-files/client.crt /etc/openvpn/
cp /usr/share/doc/openvpn-2.2.2/sample-config-files/client.key /etc/openvpn/
-editamos la configuracion
cd /etc/openvpn/
vi client.conf
OJO: LA RUTA DE LOS CERTIFICADOS CRT Y KEY DEBEN DE COLOCARSE IGUAL QUE COMO SE GENERARON ANTERIORMENTE.
-----------------------------------------------------------
client #configuracion de un cliente
dev tun #interface
proto udp #protocoo de transmision
remote 172.16.101.166 1194 #la ip del servidor
;user nobody
;groud nobody
float
resolv-retry infinite
nobind
persist-key
persist-tun
#------ LLAVES Y CERTIFICADOS --------
ca /etc/openvpn/keys//ca.crt
cert /etc/openvpn/keys/client.crt
key /etc/openvpn/keys/client.key
#-------------------------------------
ns-cert-type server
comp-lzo #compresion de la comunicacion
verb 3 #modo de recoleccion de datos
-----------------------------------------------------------
scp root@server:/etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn
-verificamos que se haya copiado
ls /etc/openvpn
-arrancamos el server manual para ver todo de forma verbose
openvpn --config client.conf
-verificamos que la ip sea 10.8.0.2
ifconfig tap0
-verificamos que haya comunicacion
ping 10.8.0.1
-WINDOWS
descargar el openvpn-install-2.3.0-I005-i686.exe de la pagina openvpn.net
copyamos el ca.crt y el windows.crt y key desde el servodr a:
c:\program files (x86)\openvpn\config\ca.crt window.crt window.key
editamos el archivo
c:\program files (x86)\openvpn\config\client.ovpn
-----------------------------------------------------------
remote 192.168.80.5 1194
dev tap
ca ca.crt
cert window.crt
key window.key
-----------------------------------------------------------
nota: tenemos que copiar los archivos por ftp o por samba
-conectamos el programa por el inicono de abajo
-revisamos la confexion
ipconfig /all
ping 10.8.0.1
ping 10.8.0.2
-AGREGANDO HOST QUE VIENEN DESDE INTERNET
en el servidor editamos el archivo de configuracion
vi /etc/openvpn/server.conf
push "route 192.168.56.0 255.255.255.0 ip-gatw\eway"
-en el cliente hacemos una prueba con:
route -n ip-serv
-AGREGANDO AUTENTICACION POR USUARIOS
en el servidor editamos el archivo de configuracion y agregamos el pluging:
vi /etc/openvpn/server.conf
-----------------------------------------------------------
;server-brigde
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
-----------------------------------------------------------
-reiniciaos el servicio
service openvpn restart
-en el cliente
vi /etc/openvpn/client.conf
-----------------------------------------------------------
auth-user-pass
-----------------------------------------------------------
-arrancamos el server manual para ver todo de forma verbose
openvpn --config client.conf
-nos pedira usuario y contrasena
#investigar k usuario y contrasena es
-verificamos que se haya creado la conexion tag0
ifconfig
-probamos la comunicacion desde el cliente
ping 10.8.0.1
-probamos la comunicacion desde el server
ping 10.8.0.2
-AGREGAMOS UNA INTERFACE PARA MANTENIMIENTO
-en el server:
vi /etc/openvpn/server.conf
-----------------------------------------------------------
management localhost 7505
-----------------------------------------------------------
service openvpn restart
telnet localhost 7505
-PUSHING DHCP OPTIONS TO CLIENTS
-en el server:
vi /etc/openvpn/server.conf
-----------------------------------------------------------
push "dhcp-option DNS 10.8.0.4"
push "dhcp-option DNS 10.8.0.5"
-----------------------------------------------------------
No hay comentarios:
Publicar un comentario