Se tiene el paquete openvpn :
[root@svrvpn01 openvpn]# rpm -q openvpn
openvpn-2.1.1-2.1.el5.al
Lo instale desde los depositos de mi amigo Joel
[AL-Server]
name=AL Server para Enterprise Linux 5
baseurl=http://www.alcancelibre.org/al/server/5/i386/
gpgcheck=0
gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY~
Estimo que las demas dependencias los instalo usando tambien mi repo local construido a partir de mi dvd.
Recuerdo claramente (aunque no tengo la guia que use a la mano) que todo lo configurable para este servicio esta bajo /etc/openvpn/ ; por ejemplo el archivo de configuracion /etc/openvpn/servidorvpn-udp-1194.conf tiene:
port 1194cp /usr/share/openvpn/easy-rsa/2.0/openssl.cnf ./
cp /usr/share/openvpn/easy-rsa/2.0/whichopensslcnf ./
cp /usr/share/openvpn/easy-rsa/2.0/pkitool ./
cp /usr/share/openvpn/easy-rsa/2.0/vars ./
Recuerdo claramente (aunque no tengo la guia que use a la mano) que todo lo configurable para este servicio esta bajo /etc/openvpn/ ; por ejemplo el archivo de configuracion /etc/openvpn/servidorvpn-udp-1194.conf tiene:
proto udp
dev tun
#---- Seccion de llaves -----
ca keys/ca.crt
cert keys/viru.com.pe.crt
key keys/viru.com.pe.key
dh keys/dh1024.pem
#----------------------------
server 192.168.37.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status-servidorvpn-udp-1194.log
verb 3
Note que el segmento de red para clientes remotos es 192.168.192.0 255.255.255.0
En /etc/openvpn/vars asegurar que al final se tenga las lineas :
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="PE"
export KEY_PROVINCE="LI"
export KEY_CITY="Trujillo"
export KEY_ORG="viru.com.pe"
export KEY_EMAIL="jgrados@viru.com.pe"
Luego cargar variables de entorno para estos datos con:
source /etc/openvpn/./vars
Ahora creamos los certificados para el usuario juaninf :
sh /usr/share/openvpn/easy-rsa/2.0/clean-all
sh /usr/share/openvpn/easy-rsa/2.0/build-ca
sh /usr/share/openvpn/easy-rsa/2.0/build-dh
sh /usr/share/openvpn/easy-rsa/2.0/build-key-server server
sh /usr/share/openvpn/easy-rsa/2.0/build-key juaninf
Donde juaninf es un primer usuario de prueba para el servicio
Iniciar el servicio con service openvpn start
La configuracion de mi interfaces (2 interfaces fisicas) es :
root@svrvpn01 openvpn]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:19:BB:39:0B:58
inet addr:20.37.20.252 Bcast:200.37.15.255 Mask:255.255.240.0
inet6 addr: fe80::219:bbff:fe39:b58/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1507 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:207290 (202.4 KiB) TX bytes:748 (748.0 b)
Interrupt:169 Memory:fa000000-fa012800
eth1 Link encap:Ethernet HWaddr 00:11:95:D1:AD:32
inet addr:10.10.16.34 Bcast:10.10.19.255 Mask:255.255.252.0
inet6 addr: fe80::211:95ff:fed1:ad32/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6321 errors:0 dropped:0 overruns:0 frame:0
TX packets:1184 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:539518 (526.8 KiB) TX bytes:213642 (208.6 KiB)
Interrupt:90 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.192.1 P-t-P:192.168.192.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Tambien encontre que habilite el reenvio de paquetes.
Para crear 1 usuario (certificados y llaves) se tiene el procedimiento:
[root@svrvpn01 openvpn]# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/keys
[root@svrvpn01 openvpn]# sh /usr/share/openvpn/easy-rsa/2.0/build-key juaninf
Generating a 1024 bit RSA private key
........++++++
.............................................++++++
writing new private key to 'juaninf.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [PE]:
State or Province Name (full name) [LI]:
Locality Name (eg, city) [Trujillo]:
Organization Name (eg, company) [viru.com.pe]:
Organizational Unit Name (eg, section) []:LNC
Common Name (eg, your name or your server's hostname) [juaninf]:
Name []:Juan Grados Vasquez
Email Address [jgrados@viru.com.pe]:juaninf@lnc.com.br
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'PE'
stateOrProvinceName :PRINTABLE:'LI'
localityName :PRINTABLE:'Trujillo'
organizationName :PRINTABLE:'viru.com.pe'
organizationalUnitName:PRINTABLE:'LNC'
commonName :PRINTABLE:'juaninf'
name :PRINTABLE:'Juan Grados Vasquez'
emailAddress :IA5STRING:'juaninf@lnc.com.br'
Certificate is to be certified until Jun 11 16:12:48 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Notar que se crearon 03 archivos :
[root@svrvpn01 keys]# ls -l /etc/openvpn/keys/juaninf.*
-rw-r--r-- 1 root root 3956 Jun 14 11:12 /etc/openvpn/keys/juaninf.crt
-rw-r--r-- 1 root root 733 Jun 14 11:12 /etc/openvpn/keys/juaninf.csr
-rw------- 1 root root 891 Jun 14 11:12 /etc/openvpn/keys/juaninf.key
Hasta aquí se completo la generación de los certificados del usuario juaninf, ahora para el
cliente se tiene que copiar en su desktop o laptop los archivos ca.crt, juaninf.crt, juaninf.csr,
juaninf.key y un quinto archivo adicional virunet1194.ovpn que se detalla en parrafo siguiente.
cliente se tiene que copiar en su desktop o laptop los archivos ca.crt, juaninf.crt, juaninf.csr,
juaninf.key y un quinto archivo adicional virunet1194.ovpn que se detalla en parrafo siguiente.
Del lado del cliente, se necesita 5 archivos que el cliente remoto debe siempre portar a fin de poder establecer sesión vpn con el servidor, 04 de estos archivos se obtienen desde el servidor, y el quinto archivo es genérico para todos los casos, este quinto archivo "virunet1194.ovpn" debe conservar su extensión .ovpn; esto es:
client
dev tun
proto udp
remote 20.37.20.252 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
route 10.10.16.0 255.255.252.0
dhcp-option DNS 192.168.26.1
dhcp-option WINS 192.168.26.1
#------ SECCION DE LLAVES --------
ca "C:\\Archivos de Programa\\OpenVPN\\config\\ca.crt"
cert "C:\\Archivos de Programa\\OpenVPN\\config\\juaninf.crt"
key "C:\\Archivos de Programa\\OpenVPN\\config\\juaninf.key"
ns-cert-type server
#---------------------------------
comp-lzo
verb 3
En la maquina del usuario remoto se debe instalar el cliente openvpn (bajarlo de internet segun sistema operativo) Luego, en caso de los windows dentro de C:| Archivos de Programa | OpenVPN | client ; poner los 05 archivos que se indicaron.
El usuario establecerá sesión vpn con solo iniciar el programa OpenVPN cliente instalado, sin embargo para que el usuario remoto pueda acceder a su desktop local (PC de oficina) por remote desktop por ejemplo, será necesario que en la desktop local se agrege un enrutamiento persistente que permita conectividad entre la red remota de usuarios VPN (192.168.192.0/24) y la red local 10.10.16.0/22 (lan nicolini).
En la PC (desktop de oficina) :
route ADD 192.168.192.0 MASK 255.255.255.255.0 10.10.16.34 -p
Esta ruta debe siempre estar presente, por ejemplo mediante un tarea programada ejecutada al inicio de sesión de un desktop windows.
Esta memoria esta basada en
http://www.alcancelibre.org/staticpages/index.php/como-openvpn-server-centos5.
Para RHEL 6 a 64 bits utilize 2.0.9 de rpmbone y este howto: http://www.powerpbx.org/content/how-to-install-openvpn-and-pptp-on-rhel-6-v1
Para RHEL 6 a 64 bits utilize 2.0.9 de rpmbone y este howto: http://www.powerpbx.org/content/how-to-install-openvpn-and-pptp-on-rhel-6-v1
No hay comentarios.:
Publicar un comentario