You are on page 1of 9

VPN RED A RED Aviso al publico usuario: Todo lo que escribo en este tutorial fue encontrado en tutoriales, revistas,

clases, PAGINAS E!, etc, etc, pero co"o puede ser al#o confuso $para "i lo fue% ac& les pon#o un resu"en que 'a co"prob( que funciona)
Descripcion: Tutorial confi#uraci*n de de servidores vpn ' clientes vpn con openvpn Introducci*n a VPN: i+ipedia, san #oo#le, etc) Dia#ra"a de cone,i*n:

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

E,plicaci*n dia#ra"a:

Master VPN Esclavo VPN Tunel VPN Red local o internet

Servidor controlador de la VPN Servidor cliente de la VPN creada por /aster VPN Red virtual creada entre los dos servidores a trav(s de la red f0sica Para este e1e"plo puede ser un s2itc3 pero las ips locales se pueden ca"biar por las ip publicas de los servidores conectados a internet) .o"putadora detr&s del /aster VPN, es decir en su red interna) .o"putadora detr&s del .liente VPN, es decir en su red interna) Sera la tar1eta de red de cada servidor conectada a un s2itc3 o a internet, per"ite cone,i*n directa entre servidores) Sera la tar1eta de red de cada servidor conectada a su respectiva red interna) Tar1eta de red virtual activada por el servicio openvpn al ser iniciado, esta tar1eta virtual sera la que conecte a los servidores a trav(s del t4nel virtual que se creara) Tar1eta de red conectada a la red interna, per"ite cone,i*n con sus respectivos servidores $/aster ' .liente% los cuales le dar&n salida a la red interna al otro lado de la VPN)

Cliente 1 Cliente 2 Eth0 servidores

Eth1 servidores Tun0 servidores

Eth0 clientes 1 y 2

5erra"ientas necesarias: Este tutorial lo pode"os 3acer con virtualbo,, v"2are, qe"ulator))) bueno, el virtuali6ador que prefieras, 'o usare virtualbo,) Ta"bi(n necesitare"os al#unas i"&#enes de siste"as operativos, para los servidores 'o usare centos 7)8 ' para los clientes versiones li#eras de ubuntu $lubuntu ' ,ubuntu% pero para los servidores pueden usar 9edora, :buntu, Red5ad, Debian, ;penS:SE, no se, el que quieran, claro, ac& solos les dir( co"o i"ple"entarlo en .entos 7)8)

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

Preparaci*n de las "aquinas virtuales: /asterVPN: Tipo .apacidad de disco /e"oria RA/ Video Red /aquina vitrual < Gb =7> ?=/b Dos tar1etas de red $puente e interna%@

@Virtual!o, per"ite confi#urar de tres for"as la red de nuestras "aquinas virtuales, -a pri"era es Apuente o brid#eB: esto 3ace que la tar1eta de red de nuestra "aquina virtual apare6ca co"o una tar1eta independiente en la red, es decir, otro equipo en la red vera la ip de nuestro equipo ' ade"&s la ip de nuestra "aquina virtual co"o si fueran dos "aquinas independientes) Ainterna o 3ost onl'B: esta confi#uraci*n 3ace que la tar1eta de red de nuestra "aquina virtual sea solo visible ' accesible por nuestra "aquina real) ANatB: esta confi#uraci*n per"ite a la "aquina virtual tener acceso a la red local o internet pero utili6ando la "is"a ip de la "aquina real, traduce la ip de la "aquina virtual $por e1e"plo ?C)C)C)?C% a la ip de la real $?D=)?><)?)?C%, para los otros equipos en la red solo e,iste la ip real) .lientes ? ' =: Tipo Disco Video ra" red dispositivos /aquina virtual <#b ?= "b =7> :na sola tar1eta en "odo interno o solo anfitri*n o 3ost onl' -ectora de discos .onfi#uraci*n de las "aquinas: /asterVPN: Ip et3C Ip et3? Tutorial VPN b&sico red a red en -inu, ?D=)?><)?)?CCE=F ?8C)C)C)?E?> Rafael Paolo .a"poverde /ariscal

.lienteVPN: Ip et3C Ip et3? .lientes ? ' =: Ip et3C cliente? Ip et3C cliente= ?8C)C)C)?C E =77)=77)C)C ?8?)C)C)?C E =77)=77)C)C Instalaci*n de ;penVPN: Pri"ero tene"os que a#re#ar los repositorios de soursefor#e a nuestra lista de repositorios: Descar#a"os el paquete G 2#et 3ttp:EEda#)2ieers)co"Erp"Epac+a#esErp"for#eHreleaseErp"for#eHreleaseHC)8)>H ?)el7)rf)i8<>)rp" Instala"os la llave de DAG G rp" Ii"port 3ttp:EEda#)2ieers)co"Erp"Epac+a#esERP/HGPGHJEK)da#)t,t 9inal"ente instala"os el paquete G rp" Hiv3 rp"for#eHreleaseHC)8)>H?)el7)rf)i8<>)rp" :na ve6 a#re#ado el repositorio, instala"os el openvpn: G 'u" H' install openvpn $H' responde A'B a cualquier pre#unta, en este caso nos pre#untara si quere"os instalar openvpn%) Esto lo 3are"os en el cliente ' en el "aster) -es reco"iendo confi#urar todo esto desde una ventana de ss3, por que "as adelante necesitaran dos o 3asta tres de estas ventanas) .o"o se 3ace esoLL, bueno pri"ero instalan ss3 en tu pc, si usan ubuntu Asudo aptH#et install openss3B, si no A'u" install openss3B para centos,$aunque lo instala desde la instalacion del siste"a% red3ad, fedora creo ta"bien)) bueno busquen en inter) -ue#o que lo instalaron abren una consola $o abren al putt' que es un cliente de ss3 para 2indo2s% ' escriben: ss3 rootMipHdeHsuH servidor lue#o les pedira una confir"acion ' lue#o la clave del servidor a controlar) ?D=)?><)?)?C?E=F ?8?)C)C)?E?>

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

.onfi#uraci*n de openvpn: :na ve6 instalado el ;penVPN se creara la si#uiente estructura de directorios: EetcEopenvpnE Ac& creare"os un arc3ivo donde #uardare"os la confi#uraci*n para nuestro /aster ' .liente: Gtouc3 tunel)conf K editare"os el contenido de tunel)conf con los si#uientes par&"etros:$puedes copiar ' pe#ar% Gnano tunel)conf $esto abre el arc3ivo con el editor nano, pero puedes usar vi" o el que quieras%

Geste es el contenido de tunel)conf del /asterVPN Gip del /asterVPN local ?D=)?><)?)?CC Gip del .lienteVPN re"ote ?D=)?><)?)?C? Gtar1eta de red virtual dev tun Gpuerto por defecto del opnvpn port ??DF Gsi quieres que se co"pri"an los paquetes antes de ser enviados@@ co"pHl6o Gusuario nobod' para que el servicio ten#a los per"isos "ini"os posibles, por se#uridad user nobod' Gip del /aster en el tunel ' del .liente respectiva"ente ifconfi# ?C)C)C)? ?C)C)C)= G3ace pin#s cada ?7 se#undos por que alfunos fire2als bloquean cone,iones inactivas) pin# ?7 Gle deci"os el arc3ivo con la clave que usaran los servidores para autenticarse@@@ secret EetcEopenvpnEclave)t,t Gfin del arc3ivo tunel)conf del /aster)

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

@co"pHl6o: al instalar opnvpn, se#uro ta"bien se instalo l6o que es un pro#ra"a que co"pri"e los paquetes antes de enviarlos, pues al cifrar los datos $funcion de una vpn% estos se 3acen "as #randes u por ende la cone,ino de 3ace "as lenta) @@@EetcEopenvpnEclave)t,t: para evitar que cualquiera se una anuestra vpn la prote1ere"os con una clave que solo conocen el /aster ' el .liente, esta se #enera en el /aster escribiento el si#uiente co"ando: Gopenvpn HH#en+e' HHsecret clave)t,t

Este co"ando #enera un arc3ivo $clave)t,t% con una clave, este arc3ivo se copiara en el .lienteVPN por e1e"plo usando SS5 que encripta los datos para "a'or se#uridad:

G scp clave)t,t rootM?D=)?><)?)?C?:EetcEopenvpnE

K este es el contenido del arc3ivo tunel)conf en el .liente:

Geste es el contenido de tunel)conf del .lienteVPN local ?D=)?><)?)?C? re"ote ?D=)?><)?)?CC dev tun port ??DF co"pHl6o user nobod' pin# ?7 ifconfi# ?C)C)C)= ?C)C)C)? secret EetcEopenvpnEclave)t,t Gfin del arc3ivo tunel)conf del .liente

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

Iniciando el servicio:

Si 3e"os 3ec3o todo bien 3asta este punto, 'a pode"os iniciar el servicio con el co"ando: $pri"ero en el "aster ' lue#o en el cliente%

G openvpn Iconfi# EetcEopenvpnEtunel)conf

Esto nos llerara la ventana de "ensa1es indicando que se inicio el servicio ' si todo esta bien vere"os al#o parecido a esto en el "aster: 9ri Nul 8C CC:FC:8< =C?C :ID set to nobod' 9ri Nul 8C CC:FC:8< =C?C :DPvF lin+ local $bound%: ?D=)?><)?)?CC:??DF 9ri Nul 8C CC:FC:8< =C?C :DPvF lin+ re"ote: ?D=)?><)?)?C?:??DF 9ri Nul 8C CC:FC:8D =C?C Peer .onnection Initiated 2it3 ?D=)?><)?)?C?:??DF 9ri Nul 8C CC:FC:8D =C?C Initiali6ation Sequence .o"pleted ' en el cliente: 9ri Nul 8C CC:FC:F? =C?C :ID set to nobod' 9ri Nul 8C CC:FC:F? =C?C :DPvF lin+ local $bound%: ?D=)?><)?)?C?:??DF 9ri Nul 8C CC:FC:F? =C?C :DPvF lin+ re"ote: ?D=)?><)?)?CC:??DF 9ri Nul 8C CC:FC:F< =C?C Peer .onnection Initiated 2it3 ?D=)?><)?)?CC:??DF 9ri Nul 8C CC:FC:FD =C?C Initiali6ation Sequence .o"pleted Si les sale al#un error, quequeen pueden 3aber puesto una "a'uscula en el tunel)t,t o la confi#uracino de red, prueben 3acer pin# entre los servidores ' si aun asi no funciona, vean el lo# del siste"a que esta en: EvarElo#E"essa#es , antes de verlo les reco"iendo borrarlo: ec3o AB O EvarElo#E"essa#es ' lue#o pueden ir viendo que aparece con: tail Hf EvarElo#E"essa#es $el Hf 3ace que sie"pre este en pantalla el contenido del arc3ivo, as0 ver&n cualquier ca"bio en el arc3ivo%) Si todo esta bien deberia"os poder 3acer pin# a las interfaces tun de nuestro servidor ' del otro servidor, proba"os: pin# ?C)C)C)? P nuestra ip virtual de /asterVPN pin# ?C)C)C)= P la ip virtual del .lienteVPN si obtene"os respuesta todo esta bien)

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

.onfi#uraci*n de los .lientes ? ' =: En los clientes confi#rare"os las ip cono en el dia#ra"a del principio, o ta"bien pode"os poner una ip ' "ascara te"poral con el co"ando $esto en ubuntu% : .liente ? del /asterVPN:

G sudo ifconfi# et3C ?8C)C)C)?C net"as+ =77)=77)C)C

' le a#re#a"os la puerta de enlace que sera la ip interna de nuestro servidor /asterVPN:

G sudo route add default #2 ?8C)C)C)?

.liente = del .lienteVPN:

G sudo ifconfi# et3C ?8?)C)C)?C net"as+ =77)=77)C)C

' le a#re#a"os la puerta de enlace que sera la ip interna de nuestro servidor .lienteVPN:

G sudo route add default #2 ?8?)C)C)?

Si proba"os 3acer pin# desde uno de los clientes al otro vere"os que no esposible, esto es por que los servidores aun no pueden conectar las redes internas con la virtual, para esto 3are"os un NAT $traducir una ip en otra% de la red interna a la ip del tunel, por e1e"plo: para el /asterVPN, Atodas las peticiones desde la red interna convertirlas en peticiones de la red e,ternaB, esto se traducir0a en un co"ando de iptables: Este co"ando se e1ecuta en el /asterVPN: G iptables Ht nat HA P;STR;:TING Ho et3? HHdst ?8?)C)C)?E?> H1 /ASQ:ERADE

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal

' para el cliente: Este co"ando se e1ecuta en el .lienteVPN: G iptables Ht nat HA P;STR;:TING Ho et3? HHdst ?8C)C)C)?E?> H1 /ASQ:ERADE

donde et3? es la tar1eta de red conectada a la red interna ' ?8C)C)C)C o ?8?)C)C)C son las redes internas destino) Ade"&s tene"os que decirle a cada servidor que reconosca las redes destino internas ' por donde tiene acceso a ellas, por e1e"plo, si quieres ir a la red ?8C)C)C)C tienes que salir por la interface ?C)C)C)=, para esto e1ecutare"os el si#uiente co"ando que a#re#a una red ' una puerta de enlace: Para el /asterVPN: G route add Hnet ?8?)C)C)C net"as+ =77)=77)C)C #2 ?C)C)C)= dev tunC

K para el .lienteVPN: G route add Hnet ?8C)C)C)C net"as+ =77)=77)C)C #2 ?C)C)C)? dev tunC

Aun no podre"os 3acer pin#, esto es or que tene"os que indicarle al siste"a que per"ita el paso de paquetes de una tar1eta de red a otra, para esto e1ecuta"os el si#uiente co"ando en los dos servidores $/asterVPN ' .lienteVPN%:

G ec3o ? O EprocEs'sEnetEipvFEipSfor2ard

K listoRRR espero que les sirva, SuerteRRR Si los puedo a'udar en al#o: rafoalian6aM3ot"ail)co"

Tutorial VPN b&sico red a red en -inu,

Rafael Paolo .a"poverde /ariscal