Alcance Libre - Cómo configurar un servidor de OpenVPN

download Alcance Libre - Cómo configurar un servidor de OpenVPN

of 20

Transcript of Alcance Libre - Cómo configurar un servidor de OpenVPN

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    1/20

    Como configurar un servidor de OpenVPNAutor: Joel Barrios DuenasCor reo electronico: darkshram en gmail punto comSitio de Red: http://vwwv.alcancelibre.orglJabber ID: [email protected] Commons Reconocimiento-NoComercial-Compartirlgual 2.1

    1999-2011 Joel Barrios Duenas. Usted es libre de copiar, distribuir y comunicarpublicarnente la obra y hacer obras derivadas bajo las condiciones siguientes: a)Debe reconocer y citar al autor original. b) No puede utilizar esta obra para finescomerciales (incluyendo su publlcaclen, a traves de cualquier medio, porentidades con fines de lucro). c) Si altera 0 transforma esta obra, 0 genera unaobra derivada, solo puede distribuir la obra generada bajo una licencia idernica aesta, AI reutilizar 0 distribuir la obra, tiene que dejar bien claro los termlnos de lalicencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtieneel permiso del titular de los derechos de autor. Los derechos derivados de usoslegftimos u otras limitaciones no se ven afectados por 1 0 anterior. Licencia completaen castellano. La informacion contenida en este documento y los derivados de este seproporcionan tal cual son y los autores no asurnlran responsabilidad alguna si elusuario 0 lector hace mal uso de estes.

    Introducci6n.Acerca de OpenVPN.OpenVPN es una solucion de conectividad basada sobre eguipamiento logico (sofllAare):SSL(Secure Sockets Layer) VPN (Virtual Private Network, 0 red virtual privada), OpenVPN ofrececonectividad punto-a-punto con validacion, jerarquica de usuarios y host conectadosremotamente, resulta una muy buena opcion en tecnologfas Wi-Fi (redes lnalambricas EEl802.11) Ysoporta una amplia conflquracicn, entre estas el balanceo de cargas, entre otrasmuchas cosas mas.URL: http://openvpn.net

    Breve expllcaclon de 10 que se lograra con este documento.Este documento describe la contiquraclon de unaVPN tipo Intranet.Este tipo de redes es creado entre una oficina central (servidor) y una 0 varias oficinas remotas(clientes). EIacceso viene del exterior. Se utiliza este tipo de VPN cuando se necesita enlazar alos sitios que son parte de una compana, en nuestro caso sera compuesto por un servidorCentral que conectara a muchos clientes VPN entre si.

    http://vwwv.alcancelibre.orgl/mailto:[email protected]://openvpn.net/http://openvpn.net/mailto:[email protected]://vwwv.alcancelibre.orgl/
  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    2/20

    La informacion y aplicaciones a las que tendran acceso los directivos rnoviles en el VPN, noseran las mismas que aquellas en donde pueden acceder los usuarios que efectuan actividadesde mantenimiento y soporte, esto como un ejemplo de 1 0 que se podra realizar con estacorflquraclon.Ademas de que podra conectarse a traves de Terminal Server (en el caso de clientes Linux) aterminales Windows de la red VPN asl como de Clientes Windows a computadoras con el mismosistema operativo (mediante RDP).Nota Importante: Enfocado a esta conflquraclon .. Una vez que los clientes (WindowslLinux) seconecten a la red VPN quedaran autornaficarnente sin conexion a Internet, 1 0 cual NO podranacceder a la red mundial. Esto puede ser modificable en el servidor VPN.

    Servii~do'rVPNI ILAN = 1'! li~'.168,,2,.:;Hi!Of24tum '" 10.110.0-1

    lI!1ineiVIf>N

    ILAN - 17::U68.1 .2312;1lun 0= 1 0_ E D ,0 ..8 , bAN - 1 0 .1 5. .1 ,. :1 .2 0 /2 4'fun 0= lO_H),Q,]

    OF11'(~~NA.I OFICINA.,2IbAN - Ui2_168.3 .101:2;111 'u n _ ' " lQ,l!cl,O_L IbAN - ' 1512.166 !1i_12nalJ 'iQ n " ,. ]~)ilO.O_5

    LA~ I = = 192.1,68,.11.12/24 LANI= 192.168.5,12/24'run = 10,10 ,10,) 'fum= [ (1 .1 0 , !0 ,4

    Servidor de Pasarela OpenVPN con clientes (Windows/Linux) remotosEI servidor VPN hace de pasarela para que todos los clientes (Windows/Linux) puedan estarcomunicados a traves del tunel OpenVPN, estes al conectarse por medio de Internet al tunelautornaticamente quedan sin lineaa la red mundial quedando como una red local, esto claroesta a traves de la VPN.Cada cliente se encuentra en lugares diferentes (ciudad/estado/pais) con diferentes tipos desegmento de red, al estar conectados mediante el tUnel VPN se crea un red virtual y se asigna unnuevo segmento de red proporcionada por el servidor principal en este caso con segmento (porejemplo 10.1 0.0.0/255.255.255.0no 192.168.37.0/255.255.255.0).

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    3/20

    Instalaci6n del equipamiento 16gico necesario.Fedora 9 en adelante incluye el paquete openvpn en sus depositos Yum, por 1 0 que solo esnecesario instalarlo desde la terminal a traves del mandato yum. EIsiguiente procedimiento soloes necesario para CentOS 5.Instalaci6n en CentOS 5.Como el usuario root, desde una terminal, crear el archivo letc/yum.repos.d/AL-Server.repo,utilizando cualquier editor de texto. En el siguiente ejemplo se utiliza vi.

    vi /etc/yum.repos.d/AL-Server.repo

    Ariadir a este nuevo archivo el siguiente contenido:

    [AL-Server]name=AL Server para Enterprise Linux $releasevermirrorlist=http://www.alcancelibre.org/al/el$releaseverial-servergpgcheck=lgpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

    Importar la firma digital de Alcance Libre ejecutando 1 0 siguiente desde la terminal:

    rpm --import http://www.alcancelibre.org/al/AL-RPM-KEY

    Luego de importar la firma digital de Alcance Libre, instalar el equipamiento logico (soft lAare)necesario con el mandato yum. Se requieren los paquetes RPM de OpenVPN, Shorewall y vim-enhanced (Ia version mejorada de Vi):

    yum -y install openvpn shorewall vim-enhanced

    Procedimientos.Si fuera necesario, cambiarse al usuario root utilizando el siguiente mandato:

    su -1

    http://mirrorlist%3Dhttp//www.alcancelibre.org/al/el$releaseverial-serverhttp://gpgkey%3Dhttp//www.alcancelibre.org/al/AL-RPM-KEYhttp://www.alcancelibre.org/al/AL-RPM-KEYhttp://www.alcancelibre.org/al/AL-RPM-KEYhttp://gpgkey%3Dhttp//www.alcancelibre.org/al/AL-RPM-KEYhttp://mirrorlist%3Dhttp//www.alcancelibre.org/al/el$releaseverial-server
  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    4/20

    A fin d e p od er u tiliza r inme dia tame nte la v ers io n m ejo ra da d e V i (in sta la do c on e l p aq ue te v im -enhanced), ejecutar desde la terminal 1 0 siguiente:

    alias vi="vim"

    Camb ia rs e a l d ire cto rio , d esde la te rm in al, e je cu ta r 1 0 s iguiente para camb ia rse a l d ir ec to rioletc/openvpn:

    cd /etc/openvpn/

    NOTA : Todo s los procedim ientos necesarios para config urar un servid or con O penV PN ser ea liz an s in salir d e letc/openvpn/. Por fa vo r, e vite c ambia r d e d ire cto rio h as ta h ab er fin aliza dolo s p ro cedim ie nto s d es crito s en e ste d ocumento .A fin d e fa cilita r lo s p ro cedim ie nto s, s e copiaran d en tro d el d ire cto rio le tc /o penvpn /lo s a rc hiv oso pe ns sl.c nf, w hic ho pe ns slc nf, p kito ol y va rs , q ue s e lo ca liza n e n le tc /o pe nv pn /e as y-rsa/2.0/:

    cp /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 ./

    U tiliz ar e l edito r d e texto y abr ir e l a rchivo le tc /openvpn /vars :

    vi /etc/openvpn/vars

    De este archive, solamen te edita r la s u ltim as lin ea s, q ue corre sp onden a 1 0 siguiente:

    export KEY COUNTRY="US"export KEY PROVINCE="CA"export KEY CITY="SanFrancisco"export KEY ORG="Fort-Funston"export KEY_EMAIL="[email protected]"

    Reempla za r p or v alo re s re ale s, c omo lo s d el s ig uie nte e jemplo :

    export KEY COUNTRY="MX"

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    5/20

    export KEY PROVINCE="DF"export KEY CITY="Mexico"export KEY ORG="servidor.mi-dominio.com"export KEY EMAIL="[email protected]"

    5 e req uiere ejecu tar d el sig uien te mod o el arch ivo letc/openvpnlvars a fin de que carguen lasvariab le s d e e nto rn o q ue se a cab an d e co nfig ura r.

    source letc/openvpn/./vars

    C ada vez que se vayan a generar nuevos certificados, debe ejecutarse el m an dato anterior a find e q ue carg uen las variab le s d e en to rn o d efin id as.5 e ejecu ta el arch ivo lusrlshare/openvpn/easy-rsa/2.0/clean-all a fin d e limp ia r c ua lq uie r firmad ig ita l que acc iden ta lmente e stuvie ra p re sente .

    sh lusrlshare/openvpn/easy-rsa/2.0/clean-all

    L o an terio r realiza u n rm -fr (e lim inac i6n re cu rs iv a) sob re e l d ire cto rio letc/openvpn/keys, por 1 0que se elimlnaran to da s lo s c ertific ad os y firmas d ig ita le s q ue hub ie ra n e xis tid o c on a nte rio rid ad .A fin d e crear el certificad o d el servid or, se crea u n certificad o:

    sh lusrlshare/openvpn/easy-rsa/2.0/build-ca

    5e crea el arch ivo dh1 0 24.pem , el cual conterdra lo s parametres del p ro toco lo D iffie -He llman, de1 02 4 b its:

    sh lusrlshare/openvpn/easy-rsa/2.0/build-dh

    E I p ro to co lo D iffie-H ellm an p erm ite el in te rcambio se creto d e claves en tre d os p artes q ue sin q ueestas h ayan ten id o co ntacto p re vio , u tilizan do u n can al in seg uro , y d e m an era an 6n im a (sinautenticar). 5e em plea generalm ente com o m edio p ara acordar claves sirnetricas que seranem pleadas para el cifrado de una sesi6n, com o es el caso de una conexi6n VPN.P ara g en era r la firma d ig ita l, s e u tiliz an e l s ig uie nte manda to :

    sh lusrlshare/openvpn/easy-rsa/2.0/build-key-server server

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    6/20

    F inalm ente se crean lo s certificados para los clien tes. E n el siguiente3 ejemplo se crean loscertificados para cliente1 , cliente2 , cliente3 , cliente4 , cliente5, y cliente6:

    sh /usr/share/openvpn/easy-rsa/2.0/build-key clientelsh /usr/share/openvpn/easy-rsa/2.0/build-key cliente2sh /usr/share/openvpn/easy-rsa/2.0/build-key cliente3sh /usr/share/openvpn/easy-rsa/2.0/build-key cliente4sh /usr/share/openvpn/easy-rsa/2.0/build-key cliente5sh /usr/share/openvpn/easy-rsa/2.0/build-key cliente6

    A fin de utilizar los certificados y que se configure el sistem a, se crea con el editor de texto elarchivo /etc/openvpn/servid orvpn-udp-119 4.con f, donde servidorvpn se reem plaza por eln ombre d e a nfitri6 n d el sis tema:

    vi /etc/openvpn/servidorvpn-udp-1194.conf

    Para la VPN se recom ienda utilizar una red privada que sea poco usual, a fin de poder perm itir alos clientes conectarse sin conflictos de red. Un ejemplo de una red poco utilizada seria192.168.37.0/255.255.255.0,10 cual permltira conectarse a la VPN a 253 clientes. Tomando encuenta 1 0 anterio r, el contenido del archivo /etc/openvpn/servid orvpn-udp-119 4.con f, debe serel s iguiente:

    port 1194proto udpdey tun#---- Seccion de llavesca keys/ca. crtcert keys/server. crtkey keys/server. keydh keys/dhl024.pem#----------------------------server 192.168.37.0 255.255.255.0ifconfig-pool-persist ipp.txtkeepalive 10 120comp-lzopersist-keypersist-tunstatus openvpn-status-servidorvpn-udp-1194.1ogverb 3

    D escripci6n de los parametres anteriores:

    Port. E specifica el puerto que sera utilizado para qu e lo s clientes vpn puedanconec ta rse a l serv idor .

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    7/20

    Proto: tipo de protocolo que se ernpleara en a conexi6n a traves de VPN

    de v: Tipo de interfaz de conexi6n virtual que se utillzara el servidor openvpn.

    ca: Especifica la ubicaci6n exacta del archivo de Autoridad Certificadora [.ca].

    cert: Especifica la ubicaci6n del archivo [.crt] creado para el servidor.

    key: Especifica la ubicaci6n de la lIave [.key] creada para el servidor openvpn.

    dh: Ruta exacta del archivo [.pem] el cual contiene el formato de Diffie Hellman(requirerido para --tls-serversolamente).

    server: Se asigna el range IP virtual que se utihzara en la red del tunel VPN.

    Ifconfig-pool-persist Archivo en donde quedaran registrado las direcciones IPde los clientes que se encuentran conectados al servidor OpenVPN.

    Keepalive 10120 : Envfa los paquetes que se manejan por la red una vez cada10 segundos; yasuma que el acoplamiento es abajo si ninguna respuesta ocurrepor 120 segundos.

    comp-Izo: Especifica los datos que recorren el tunel vpn sera compactadosdurante la trasferencia de estes paquetes.

    persist-key: Esta opci6n soluciona el problema por lIaves que persisten a travesde los reajustes SIGUSR1, asf que no necesitan ser relefdos.

    Persist-tun: Permite que no se cierre y re-abre los dispositivos TAPfTUN alcorrer los guiones up/down

    status: archivo donde se alrnacenara los eventos y datos sobre la conexi6n del

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    8/20

    servidor [ .Iog ]

    verb: N iv el d e in fo rm ac io n (d efa ult= 1). C ad a n iv el d emue stra to do e lln fo d e lo sniveles anteriores. S e recom ienda el nivel 3 si usted desea un buen resum en deque esta sucediendo.o --N o m uestra una salida excepto errores fatales. 1 to 4 -R ango de uso norm al.5 --Salida R y Wca rac te re s e n la c on so la p ar lo s p aq ue te s d e le ctu ra y es critu ra ,m ayDs cu la s e s u sa da p or p aq ue te s T CP /U DP rninusculas es usada parapaque tes TUNITAP.

    S i SELin ux esta a ctiv o, e s n ec es ario q ue e l d ire cto rio /e tc /o pe nv pn y s us c on te nid os , te ng anlo s con te xto s apra pia do s d e e sta lmplementaclcn de segur id ad(sys tem_u :objec t_ r:openvpn_etc_rw_ t p ara ipp.tx t y openvpn-s ta tu s-ser vidor vpn-udp -1 19 4.1 og y s ys tem_u :o bje ct_ r:o penvpn _e tc _t p ara e l re sto d el c on te nid o d el d ire cto rio ).S e utiliza luego el m andato restoreco n sobre el directorio /etc/openvpn a fin de asignar loscontextos adecuados.

    restorecon -R /etc/openvpn/

    Se crean los arch ivos ipp .t xt y openvpn -s ta tus -se rv ido rvpn-udp -1194.1og :

    cd /etc/openvpn/touch ipp.txttouch openvpn-status-servidorvpn-udp-1194.1og

    S i s e tie ne a ctiv o S EL in ux , e sto s u ltim os d os a rc hiv es re qu ie re n s e le s a sig ne c on te xto d e le ctu rayescri tu ra (openvpn_etc_rw_t) .

    cd /etc/openvpn/chcon -u system_u ipp.txtchcon -u system_u openvpn-status-servidorvpn-udp-1194.1ogchcon -r object_r ipp.txtchcon -r object_r openvpn-status-servidorvpn-udp-1194.1ogchcon -t openvpn_etc rw t ipp.txtchcon -t openvpn_etc rw t openvpn-status-servidorvpn-udp-1194.1og

    Los ante rio r c amb ia lo s con te xto s a u su ario d e s is tema (s ys tem_u ), rol de objeto (object_r) ytipo corflquracion d e Op enVPN d e le ctu ra y es critu ra (o penvpn _e tc _rw_t).

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    9/20

    P ara in ic ia r e l s erv ic io , s e u tiliz a e l manda to service d el s ig uie nte modo :

    service openvpn start

    Para que el servicio de O penVPN este activo en el sig uien te in icio d el sistem a, se u tiliza elmandato chkconfig d e la s ig uie nte fo rma:

    chkconfig openvpn on

    Configuraci6n de muro cortafuegos con Shorewall.E I s ig uie nte p ro ce dim ie nto c on sid era q ue s e h a c on fig ura do un mu ro c orta fu egosap ro piad am en te, d e acu erd o a las in dic acio nes d escritas en el d ocumen to titu lad o Comoconfigurar un muro cortafuegos con Shorewall y tres interfaces de red.In de pe nd ie ntemente d el c on te nid o, e n e l a rc hiv o letc/shorewall/zones, se anade la z on a remco n el tip o ipv4, an tes d e la u ltim a lin ea.

    # OpenVPN ----rem ipv4#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

    In de pe nd ie ntemente d el c on te nid o, e n e l a rc hiv o letc/shorewali/interfaces, se ariade la zonarem aso ciad a a la in terfaz tunD, c on la o pc i6 n detect, pa ra de tectar automaticamente e l nume rod e d irecci6 n IP d e d ifu si6 n (broadcast) y la o pci6 n dhcp. Tarnbien debe definirse antes de lau ltima lin ea del a rchivo.

    # OpenVPN ----rem tunO detect dhcp#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

    In de pe nd ie ntemente d el c on te nid o, e n e l a rc hiv o letc/shorewali/policy, se anade l a po li ti cadeseada para perm itir el acceso de los m iem bros de la VPN hacia las zonas que se considerenapropiadas. E n el siguiente ejem plo, se define una po litica que perm ite el acceso de lasco nexio nes o rig in ad as d esd e la zo na rem h acia el co rtafu eg os, la red p ub lic a y la re d lo cal. T od od eb e d efin irse an tes d e la u ltim a lin ea d el arch ivo .

    fwloc allall ACCEPTACCEPT

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    10/20

    : # OpenVpnremremrem: # - - - - - - - - - - - -net all DROP infoall all REJECT info#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

    fw ACCEPTACCEPTACCEPT

    netIcc

    In de pe nd ie nteme nte d el c on te nid o, e n e l a rc hiv o le tc /s ho rewa li/ru le s, s e d eb e a brir e n e lcortafuegos el puerto 119 4 po r U DP , para todas las zonas desde las cuales se pretenda conectarc lie nte s a la V PN .

    ACCEPT net fw udp 1194#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

    F in alm en te , s e e dita e l a rc hiv o le tc /s ho rewa li/tu nn eis a fin d e d efin ir e l tunel SSL que serau tiliza do p ara e l s erv id or d e VPN y que p erm ita c on ec ta rs e d esde cua lq uie r uoicacion,

    #TYPE#

    ZONE GATEWAY GATEWAYZONEopenvpnserver:1194 rem 0.0.0.0/0#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

    E n lugar de 0.0.0.0/0, s e p ue de e sp ec ific ar u na dlrecclon IP 0 bien una red desde la cual seq uie ra e sta ble ce r la s con ex io ne s VPN .P ara a plic ar lo s c ambio s, e s n ec es ario re in ic ia r s ho rewa ll c on e l m an da to s erv ic e, d el s ig uie ntemodo:

    service shorewall restart

    Configuraci6n de clientes Windows.A traves de OpenVPN GU I.In stalar O penV PN GUI desde http:/ /openvpn.se/. S e re qu ie re in sta la r la v ers io n d e d es arro llo1 .0 .3 de O penV PN G UI, com patib le con O penVPN 2.1 .x. E I cliente es estable, siem pre que sev erifiq ue q ue fu nc io ne ade cu ad amente la corflquracion utilizada antes de poner en m archa en unentorno productivo .C re ar e l a rc hiv o c lie nte 1-u dp -1 19 4.o vp n, c on e l s ig uie nte c on te nid o, d on de e s im po rta nte q ue

    http://openvpn.se/http://openvpn.se/
  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    11/20

    la s ru ta s d efin id as s ean la s corre cta s, y la s d ia go na le s in ve rtid as s ean d ob le s:

    clientdev tunproto udpremote dominio-o-ip.del.servidor.vpn 1194floatresolv-retry infinitenobindpersist-keypersist-tun#------ SECCION DE LLAVES --------ca "C:\\Archivos de Programa\\OpenVPN\\config\\ca.crt"cert "C:\\Archivos de Programa\\OpenVPN\\config\\cliente1.crt"key "C:\\Archivos de Programa\\OpenVPN\\config\\cliente1.key"ns-cert-type server#---------------------------------comp-lzoverb 3

    Descrip ci6 n de lo s parametr es ante rio res:

    client Esp ec ific a e l tip o d e con fig ura ci6 n, e n e ste c aso tip o c lie nte OpenVPN .

    Port. E spe cific a e l p ue rto qu e se ra u tiliza do p ara q ue lo s c lien te s V PN p ue danconec ta rse a l se rv ido r.

    Proto: tipo d e p ro to co lo q ue se ernpleara en a conexi6n a traves de VPN

    de v: Tipo d e interfaz d e c one xi6n virtu al q ue se utllizara e l se rv ido r openvpn .

    remote : H os t remoto 0 d ire cc i6 n IP en e l c lie nte , e l c ua l e sp ec ific a a l s erv id orOpenVPN.

    E I clien te O pe nVPN p ue de tratar d e co ne ctar al se rv id or co n host: port en elo rd en e sp ecifica do de la s o pcio nes de la o pc i6 n --remote.

    float: E ste Ie dice a O penV PN aceptar los paquetes autenticados de cualquierd irecc i6 n, no solamen te la d irecc i6 n cual fu e e sp ec ific ad o en la o pc i6 n --remote .

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    12/20

    resolv-retry: Si la resolucion del nombre del antltrion (hostname) falla para --remote, la resoluclon antes de fallar hace una re-comprobacion de n segundos.

    nobind: No agrega bind a la direcclon local yal puerto.

    ca: Especifica la ubicacion exacta del archivo de Autoridad Certificadora [.ca].

    cert: Especifica la ubicacion del archivo [.crt] creado para el servidor.

    key: Especifica la uolcaclon de la lIave [.key] creada para el servidor OpenVPN.

    remote: Especifica el dominic 0 IP del servidor asl como el puerto que escucharalas peticiones para servicio VPN.

    comp-Izo: Especifica los datos que recorren el tUnel VPN sera compactadosdurante la trasferencia de estes paquetes.

    persist-key: Esta opcion soluciona el problema por lIaves que persisten a travesde los reajustes SIGUSR1, as! que no necesitan ser relefdos.

    Persist-tun: Permite que no se cierre y re-abre los dispositivos TAPfTUN alcorrer los guiones up/down

    verb: Nivel de informacion (default=1). Cada nivel demuestra toda la Informacionde los niveles anteriores. Se recomienda el nivel 3 si usted desea un buenresumen de que esta sucediendo.o --No muestra una salida excepto errores fatales. 1 to 4 -Rango de uso normal.5 --Salida Ry Wca racte res en la consola par los paquetes de lectura yescritura,mayDsculas es usada por paquetes TCP/UDP rninusculas es usada parapaquetes TUNfTAP.

    EI cliente necesltara que los archivos ca.crt, cliente1.crt, cliente1.key y cliente1-udp-1194.ovpn esten presentes en el directorio "C:\Archivos de Programa\OpenVPN\config\".Estos archivos fueron creados, a traves de un procedimiento descrito en este documento, dentrodel directorio letc/openvpn/keysl del servidor.

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    13/20

    Si se quiere que los clientes de la VPN se puedan conectar a la red local, es im portanteco ns id erar la s im plic ac io ne s d e se gu rida d q ue es to c on lle va s i algu no de lo s ce rtific ado s e srobado, 0 b ie n e l c lie nte s e v e comprome tid o en su s eg urid ad p or u na in tru sio n, v iru s, tro yano 0gusano. E s preferible que la red de la V PN sea independiente a la red local y cualquier otra red,u nien do lo s se rv id ore s yc lien te s a la V PN , in de pen dien teme nte d e si estos estan en la red local 0una red pub lic a.Si es im perativo hacer que los clientes de la VPN se conecten a la red local, la red desde la cualse conectan los clientes debe ser diferente a la red utilizada en la red local. P or ejem plo: si la redlocal detras del servidor de VPN es 192 .168 .0 .0 /2 55.2 55.2 55.0 , 1 0 .0 .0 .0 /2 55.0 .0 .0 0172.16.0.0/255.255.0.0, los clientes que se conecten a la VP N detras de un m odem ADSL 0Cab le e in te nte n e sta ble ce r c on ex io ne s con la re d lo ca l, muy s eg uramente te n d ra n confl ic tos dered.P ara perm itir a los clientes de la V PN poder establecer conexiones hacia la red local, se afiadenla s s ig uie nte s Ifn ea s en e l a rc hiv e d e corfiquraclon de O penVP N para los clientes, y que definenla ruta para la red local y un servidor DN S que debe estar presente y configurado para perm itirconsultas recursivas a la red de la VPN:

    route 192.168.0.0 255.255.255.0dhcp-option DNS 192.168.0.1

    Opcionalmente, tarnbien s e p uede d efin ir u n s erv id or W in s.

    dhcp-option WINS 192.168.26.1

    E jemplo , c on side ra nd o qu e la red loc al es 192.168.26.0/255.255.255.0:

    clientdev tunproto udpremote dominio-o-ip.del.servidor.vpn 1194floatresolv-retry infinitenobindpersist-keypersist-tunroute 192.168.26.0 255.255.255.0dhcp-option DNS 192.168.26.1dhcp-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\\c1iente1.crt"key "C:\\Archivos de Programa\\OpenVPN\\config\\cliente1.key"ns-cert-type server#---------------------------------

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    14/20

    comp-lzoverb 3

    Clientes GNU/Linux.A traves d el se rv ic io op en vpn .Este es el rnetodo que funcionara en pracficarnente to da s la s d is trib uc io ne s d e d e GNU /L in uxbasadas sobre Red H at, CentO S y Fedora. Se requiere instalar el paquete openvpn:

    yum -y install openvpn

    P ara CentO S 5, se requiere haber configurado previam ente el deposito de A L S erver, descritoc on ante rio rid ad en e ste m ismo documen to .Par a lo s c lientes con GNU/L inux u tiliz ando e l serv ic io openvpn , basicamente s e u tiliza e l m ismoarchive para O penVPN G UI para W indow s, pera definiendo rutas en el sistem a de archivos deGNU /L inux. E jemp lo :

    clientdev tunproto udpremote dominio-o-ip.del.servidor.vpn 1194floatresolv-retry infinitenobindpersist-keypersist-tun#------ SECCION DE LLAVES --------ca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/c1iente1.crtkey /etc/openvpn/keys/cliente1.keyns-cert-type server#---------------------------------comp-lzoverb 3

    E ste archivo se guarda com o letc/openvpn/cliente1-udp-119 4.ovpn. R equiere que loscertific ados defin idos en la contlquraclon esten en la s ru ta s e sp ec ific ad as d en tra d el d ire cto rioletc/openvpn/keys/.P ara in ic ia r la conexion h ac ia la V PN , s im pleme nte s e inic ia el se rv ic io o pe nv pn :

    service openvpn start

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    15/20

    Para que la conexlon se establezca automaticamente cada vez que se inicie el sistema, se utilizael mandado chkconfig de la siguiente manera:

    chkconfig openvpn on

    A traves de NetworkManager.NetworkManager es una lrnplementaclon que permite a los usuarios configurar interfaces de redde todos los tipos, sin necesidad de contar con privilegios de administracion en el sistema. Es laforma mas flexible, sencilla y practica de conectarse a una red VPN.Se requiere que los clientes Linuxtengan instalado el paquete NetworkManager-openvpn,mismo que debe estar incluido en los depositos Yum de Fedora 9 en adelante y distribucionesrecientes de GNU/Linux. CentOS 5 carece del soporte para utilizar NetworkManager-openvpn,por 1 0 que solo podra conectarse a la VPN a traves del metodo anterior, con el servicio openvpn.Para instalar a fraves del mandato yum en distribuciones basadas sobre Fedora 9 en adelante,se hace de la siguiente manera:

    yum -y install NetworkManager-openvpn

    Se puede reiniciar el sistema para que tengan efectos los cambios, 0 simplemente reiniciar elservicio NetworkManager:

    service NetworkManager restart

    Lo anterior cerrara y volvera a establecer las conexi ones de red existentes.AI igual que el rnetodo anterior, para los clientes con GNU/Linux con NetworkManager,basicarnente se utiliza el mismo archivo para OpenVPN GUI para Windows, pero definiendorutas en el sistema de archivos de GNU/Linux. Ejemplo:

    clientdev tunproto udpremote dominio-o-ip.del.servidor.vpn 1194floatresolv-retry infinitenobindpersist-key

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    16/20

    persist-tun#------ SECCION DE LLAVES --------ca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/c1ientel.crtkey /etc/openvpn/keys/c1ientel.keyns-cert-type server#---------------------------------comp-1zoverb 3

    E ste a rch ivo se p ued e u tilizar co n la in terfaz g rafica d e NetworkManager. Solo hay que hacerclic sobre el icono en el Area de nolificaci6n del panel de GNOM E y luego hacer clic enConfigurarVPN.

    ClDllealaades co nee ta d0Redes inalambricas

    En la ventana que abre a cormouaclon, h ay un boton q ue p erm ite im po rta r el arch ivo d econtlquraclon.

    cl iente:2 6-1.Id p-1194 hace :2rneses[ e/IOIdir][~&ditOirl

    [ ~ fio rra r]

    ~ Cableado ~ Inalambrico" Bancla ::incha m e . . . .lDesa rrollo Gerrtel,i nux com hace 12 dies

    [lmportar I[ E1:;portar I

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    17/20

    Si los certificados yfirma digital son colocados en la rutalelc/openvpn/keysl can SELinuxactivo, estes funcionaran adecuadamente. Si los certificados yfirma digital son almacenadosdentro del directorio de inicio del usuarios, es necesario establecer la politicaopenvpn_enable_homedirs can valor 1 (que equivale a on, a activa):

    setsebool -p openvpn_enable_homedirs 1

    Personalmente recomiendo crear una configuraci6n nueva desde la interfaz deNetworkManager. Desde la ventana de redes VPN de la interfaz de NetworkManager, hacerclic enAiiadir.

    Aparecera undlaloqo donde se debe seleccionar que se trata de unaVPN can OpenVPN .

    [openVPN I : : : 1

    Elij21un tipo de eenexlen VPNSeleccione el tipo deVPN que quiere usar para 1 0 1nueva cenexlen. 5 .i el tipe de cenexlen VPN que quierecrearno ap srece en la llste, puede que no tengainstalado el complernento de VPN cerrecto

    Comp.atib/e con er setvidor Open Vffl.

    [0 & ;;an celO irl [ Crear ..En la siguiente ventana de dialoqo, se define el nombre de la conexi6n, direcci6n IP a nombre delservidor donde esta instalado OpenVPN, y los certificados a utilizar. Si se siguieron losprocedimientos de ese documento, se deja en blanco el campo Conlraseiia de clave privada.

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    18/20

    . . Editando Mi VPN

    Ce rtifi ca dQ CA: [~ ce.crt I Q J

    I::!ombre de la ccnexiun: [Mi \lPNI~ - - ~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~D C(lnectar _utomaticamente

    V PN Ajustes de IPv4General

    E.asarela: [ 123,123,123,123

    AutenticacionTipo: [Cert if icadcs (TLS)Certificadc de usuario: l~ clierrte t.crtClave privada [~ clientel. keyControlsen a de 101clave privsda: L_ ~

    o Mostrar cerrtrasertes[~ ~anzado ... J

    o Drsponible para tudes ICiSusuaries [Os;;ancelar] [ t : / Aplic1lr 1Luego, se hace clic en Avanzado para especificar que se utilizara compresion LZO .

    D . ~r-!l ;r.ITlri:.h'l . . I Il~ I .Seguridad I ,Autentic1lci6n TLS 1D usar un p. !d.erto de pasarela persorretizado: 1 1 1 9 4 I~ l[2] Usar corr rprasl 6n L~aD u sa r c or re xte n repD usar dis posltlvo TtlE.

    [Os;;ancelar] [~~ceptar 1

    Para evitar conflicto s de conectividad, se hace clic en la pestana A justes IPV4, y se define unservidor DNS que perm ita al cliente navegar a traves de Internet y dentro de la red de la VPN.

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    19/20

    . . Editando Mi VPNI::!ombre de la ccn exiun : 'M i \iPN

    ~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~

    VPN Ajustes de IPv4 ~------------------------------------------~Metoda: [Solo direccianes autornatlcas (VPNj

    Diret eterre sI -D _ i r _ E '_ c c _ i o _ n - - - ' - I r_ " a I _ s _ c _ a r a _ '_ d _ e _ r_ e d 1 P_u_e_ r t _O I _d_E ' _E ' _ n_1I _ C E ' _ _ _ , [ < { ? 8 n a d ir]

    [~ Q:om lr]

    Servidcres DNS: [200.33.146.201D om in ios de bO squeda:

    ~------------------------------------~

    l~ R utas ... ]o Drsponible para tudes los usuaries [Os;;ancelar] [ t : / Aplicar 1

    Se hace clic en R utas para abrir otra ventana de dialoqo y s e se le cc io nan la s ca silla s d e laso pcio ne s Ig no ra r la s ru tas o bte nid as autornatlcarnente y Usar esta conexi6n solo para losrecursos de su red. O pcionalm ente se pueden anadir l as ru tas estaticas para tener conec tividadco n la red local detras del servidor de VPN , tom ando en cuenta que la red local desde la cual seesta co nectado el clien te d eb e ser d iferen te a la d e la red lo cal detras d el se rvid or d e V PN , a fi nde e vita r c on flic to s d e re d.

  • 5/11/2018 Alcance Libre - Cmo configurar un servidor de OpenVPN

    20/20

    . . IOlHlll'; ',PlI~~I~~~ JU'~.ITI.Ir.l' -. IDreccion IMilscara de red IPuerta de enlace IMetrica [ < [ ? 8'iadir]

    [ b i f ..orTill]

    o [Ignorar rutas cbtenldas Oiutomaticamentej0Usa r esta conexi en s610 para los recursos ell su red

    [Os;;ancelar] [ . . J 8 ceptar 1Finalmente se hace clic en aplicar. Para conectarse a la red VPN, solo basta hacer clic sobre elicono de NetworkManager en el Area de notlflcaclon del panel de GNOME y seleccionar la redVPN reclen configurada.

    Bibiliografia.Este documento se basa sobre los manuales titulados VPN en servidor Linux y clientesWindows/Linuxcon OpenVPN + Shorewall [Parte 1] yVPN en servidor LinuxyclientesWindows/Linuxcon OpenVPN + Shorewall [Parte 2], porWiliiam Lopez Jimenez, publicados enAlcance Libre, cumpliendo cabalmente con los termlnos de la licencia Creative CommonsReconocimiento-NoComercial-CompartirlguaI2.1.

    Alcance Librehttp://www.alcancelibre.org/staticpages/index.php/como-openvpn-server-centos5o

    http://www.alcancelibre.org/staticpages/index.php/como-openvpn-server-centos5http://www.alcancelibre.org/staticpages/index.php/como-openvpn-server-centos5