3
MONTAR UN SERVIDOR OPENVPN (LINUX) OpenVPNes una solución de conectividad basada en software: SSL(Secure Sockets Layer) VPNVirtual Private Network [red virtual privada ], !enVPN ofrece conectividad !unto"a"  !unto con validación, #er$r%uica de usuarios y &ost conectados re'ota'ente i!o de confi*uración +n esta ocasión se realiar$ una confi*uración ti!o VPN -ntranet +ste ti!o de redes es creado entre una oficina central [  servidor ] y una o varias oficinas re'otas [clientes ] +l acceso viene del e .terior Se utilia este ti!o de VPN cuando se necesita enlaar a los sitios %ue son !arte de una co'!a/0a, en nuestro caso ser$ co'!uesto  !or un servidor 1entral %ue conectar$ a 'uc&os clientes VPN entre si 23odelo de VPN2] +l servidor VPN hace de pasarela !ara %ue todos los clientes !uedan estar comuncados a trav4s del t5nel !enV!n 1ada cliente se encuentra en lu*ares diferentes con diferentes ti!os de se*'ento de red, al estar conectados 'ediante el t5nel VPN se crea un red virtual y se asi*na un nuevo se*'ento de red !ro!orcionada !or el servidor !rinci!al en este caso con se*'ento [67677789999]

Instalación VPN Con Openvpn

  • Upload
    bettom

  • View
    241

  • Download
    0

Embed Size (px)

DESCRIPTION

VPN con openvpn

Citation preview

Page 1: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 1/19

MONTAR UN SERVIDOR OPENVPN (LINUX)

OpenVPNes una solución de conectividad basada en software: SSL(Secure Sockets Layer)VPNVirtual Private Network [red virtual privada], !enVPN ofrece conectividad !unto"a"

 !unto con validación, #er$r%uica de usuarios y &ost conectados re'ota'ente

i!o de confi*uración

+n esta ocasión se realiar$ una confi*uración ti!o VPN -ntranet

+ste ti!o de redes es creado entre una oficina central [ servidor ] y una o varias oficinasre'otas [clientes] +l acceso viene del e.terior Se utilia este ti!o de VPN cuando senecesita enlaar a los sitios %ue son !arte de una co'!a/0a, en nuestro caso ser$ co'!uesto !or un servidor 1entral %ue conectar$ a 'uc&os clientes VPN entre si

23odelo de VPN2]

+l servidor VPN hace de pasarela !ara %ue todos los clientes !uedan estar comuncados atrav4s del t5nel !enV!n

1ada cliente se encuentra en lu*ares diferentes con diferentes ti!os de se*'ento de red, alestar conectados 'ediante el t5nel VPN se crea un red virtual y se asi*na un nuevose*'ento de red !ro!orcionada !or el servidor !rinci!al en este caso con se*'ento[67677789999]

Page 2: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 2/19

INSTALACIÓN VPN CON OPENVPN

Instalación a partir de paquete TAR.

Los paquetes se pueden descargar de la pagina oficial del OpenVPN

http://openvpn.net/

Instalar desde paquete .tar, descomprima el paquete donde x.xx es la versi!n del Openvpn:

tar .vf o!env!n"..".tar*

"ompilar OpenVPN:

cd o!env!n"..

8confi*ure

'ake

'ake install

Preparación de guiones (script) RSA

Para la administraci!n de la P#I $Infraestructura de Llave Pu%lica & Pu%lic #e' Infrastructure( usaremos

los guiones que vienen )unto con OpenVPN $eas'rsa( la versi!n reciente trae consigo muchas me)oras,

es esta eas'rsa *.+.

c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa8 8etc8o!env!n

c! 8etc8o!env!n8easy"rsa8o!ensslcnf 8etc8o!env!n

continuaci!n ser- modificar la utoridad "ertificadora $ CA( para generar las llaves, para esto se

edita el fichero /etc/openvpn/eas'rsa/vars de la siguiente forma, por e)emplo:

e.!ort <+=>1?N;=@+S

e.!ort <+=>P;V-N1+@3AB;-B

Page 3: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 3/19

e.!ort <+=>1-=@3AB;-B

e.!ort <+=>;C@tue'!resaes

e.!ort <+=>+3A-L@2ad'inistradorDtudo'inioes2

KEY_COUNTRY: specifica el pas donde se encuentra el servidor vpn

KEY_PRO!"NCE: Provincia o estado donde se encuentra este.

KEY_C"TY: "iudad u%icado el servidor vpn.

KEY_OR#: 0ominio o departamento de la organi1aci!n/mpresa.

KEY_$A"%: "orreo electr!nico de la organi1aci!n/empresa.

"&portante: Se deben de llenar todos los parámetros ya que son indispensables para los

certificados que serán creados.

2eguidamente se e)ecutar-n los guiones $scripts( para general las llaves correspondientes.

"nicia'iando Autoridad Certiicadora e' CA

Primero: 3a' que copiar unos archivos al directorio /etc/openvpn

cp openssl.cnf 4hichopensslcnf p5itool /etc/openvpn

stos 6 archivos suelen estar en

c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa8

en su defecto

Page 4: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 4/19

c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa897

Segundo: para generar el " de%er- reali1ar los siguientes pasos:

cd 8etc8o!env!n8

source easy"rsa89788vars

s& easy"rsa8978clean"all

s& easy"rsa8978build"ca

cd 8etc8o!env!

Generando Paraetros !i""ie #ellan.

Los par-metros Diffie Hellmande%en de ser generados en el 2ervidor OpenVPN, para reali1ar esto

de%er- e)ecutar el gui!n de la siguiente forma:

s& easy"rsa8978build"d&

Generación de lla$es.

Para generar el certificado ' llave privada para el ser*idor ser- de la siguiente forma:

s& easy"rsa8978build"key"server 'iservidor 

n donde 7miservidor8 es una varia%le para identificar la llave privada del servidor.

Para generar el certificado ' llave para los c'ientes se har- de la siguiente forma:

Nosotros utili1amos la misma llave para todos los clientes.

s& easy"rsa8978build"key cliente

Page 5: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 5/19

9na ves que se han generado las llaves correspondientes a los clientes ' servidor, se podr- rescatar

estas en el directorio /etc/openvpn/5e's

CON%IG&RACIÓN

Con"i'uración del Ser$idor Linu( VPN

Para la creaci!n del servidor OpenVPN se de%er- crear un archivo de configuraci!n udp en el

directorio /etc/openvpn/ con el nom%re server.con 

 !ort 66EF

 !roto ud!

dev tun

G"""" Seccion de llaves """""ca 8etc8o!env!n8keys8cacrt

cert 8etc8o!env!n8keys8servercrt

key 8etc8o!env!n8keys8serverkey

d& 8etc8o!env!n8keys8d&679F!e'

G""""""""""""""""""""""""""""

server 676777 9997

 !us& Hroute 6E96IJKK7 9997

ifconfi*"!ool"!ersist i!!t.t

du!licate"cn

kee!alive 67 697

co'!"lo

 !ersist"key

 !ersist"tun

user nobody

*rou! nobody

status o!env!n"status"servidorv!n"ud!"66EFlo*

lo*"a!!end 8var8lo*8o!env!nlo*

verb K

!escripción)

Port: specifica el puerto que ser- utili1ado para que los clientes vpn puedan conectarse al

Page 6: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 6/19

servidor.

Proto: tipo de protocolo que se emplear- en a conexi!n a travs de VPN

dev : ;ipo de interfa1 de conexi!n virtual que se utili1ar- el servidor openvpn.

ca: specifica la u%icaci!n exacta del fichero de utoridad "ertificadora 7.ca8.

cert: specifica la u%icaci!n del fichero 7.crt8 creado para el servidor.

key : specifica la u%icaci!n de la llave 7.5e'8 creada para el servidor openvpn.

dh: <uta exacta del fichero 7.pem8 el cual contiene el formato de 0iffie 3ellman $requirerido

para +t's,ser*ersolamente(.

server : 2e asigna el rango IP virtual que se utili1ar- en la red del t=nel VPN.

Push: “Empuja” o permite el paso a nuestra LA 

!fconfi"#pool#persist: >ichero en donde quedar-n registrado las direcciones IP de los clientes

que se encuentran conectados al servidor OpenVPN.

0uplicatecn: Permite el uso de un mismo certificado para todos los clientes $de lo contrario

cada cliente de%eria tener su propio certificado(

$eepalive %& %'& : nva los paquetes que se mane)an por la red una ve1 cada ?+ segundos@ '

Page 7: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 7/19

asuma que el acoplamiento es a%a)o si ninguna respuesta ocurre por ?*+ segundos.

comp#l(o: specifica los datos que recorren el t=nel vpn ser- compactados durante la

trasferencia de estos paquetes.

 persist#key : sta opci!n soluciona el pro%lema por llaves que persisten a travs de los rea)ustes

2IA92<?, as que no necesitan ser reledos.

Persist#tun: Permite que no se cierre ' rea%re los dispositivos ;P/;9N al correr los guiones

up/do4n

9ser B Aroup NOCO0D: para restringir los privilegios del demonio OPNVPN.

status: fichero donde se almacenar- los eventos ' datos so%re la conexi!n del servidor 7.log8

lo*"a!!end: Para %ue *enere el lo* en un fic&ero a!arte

ver): Nivel de informaci!n $defaultE?(. "ada nivel demuestra todo el Info de los niveles

anteriores. 2e recomienda el nivel 6 si usted desea un %uen resumen de qu est- sucediendo.

- +No muestra una salida excepto errores fatales. . to / +<ango de uso normal. 0 +2alida R '

1caracteres en la consola par los paquetes de lectura ' escritura, ma'=sculas es usada por

paquetes ;"P/90P min=sculas es usada para paquetes ;9N/;P.

Para la configuraci!n del 2ervidor VPN necesitamos insertar el m!dulo $tun( para controlar los

interfaces /dev/net/tun*  que se necesiten en le sistema, as pues creamos el directorio /var/empty

para hacer chroot ' seguidamente reiniciamos el servicio OpenVPN:

"argamos el m!dulo $en nuestro caso 'a esta cargado(:

Page 8: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 8/19

'od!robe tun

D ha%ilitamos el IP for4arding $vital, de lo contrario no permitira que pasen los paquetes de la red

?+.?+.+.+ a la LN ?F*.?GH.66.*+(. ste comando ha%ra que insertarlo en algun script que se e)ecute

al inicio del sistema, ha' que al reiniciar el IP>O<J<0 desaparece

ec&o 6 M 8!roc8sys8net8i!vF8i!>forward

Para la e)ecuci!n del servidor OpenVPN puede utili1ar el siguiente script ' guardarlo con el nom%re de

openvpn dentro de /etc/opnevpn , con el siguiente contenido:

G8bin8bas&

G

G"" Variables ""

;?A1NO-C@8etc8o!env!n8

 N31NO-C@servidorv!n"ud!"66EJconf

G

G"" +#ecuciónde la confi*uración!ara el servicio!enVPN

G

;?A1NO-CN31NO-C G

e.it 7

D damos los permiso de e)ecuci!n correspondientes:

c&'od Q. o!env!n

Para crear el demonio ' poder controlar el OPNVPN como un servicio mas de Linux:

3a' que crear un fichero llamado openvpn dentro de /etc/init.d con el siguiente contenido $sacado de

la pagina JC de openvpn(

Page 9: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 9/19

! U"cac#n del "naro open$pn

open$pn%&&

open$pn'locaons%&usrs"nopen$pn usrlocals"nopen$pn&

*or locaon n +open$pn'locaons

do

  * , -* &+locaon& .

  hen

  open$pn%+locaon

  *

done

! /chero de cerro0o (loc1)

loc1%&$arloc1su"s2sopen$pn&

! Drecoro de PID

pddr%&$arrunopen$pn&

! Drecoro de ra"a0o

3or1%ecopen$pn

! A4adr *uncones de l"rer5a6

6 ecrc6dn6d*uncons

! A4adr con*7urac#n de red6

6 ecs2scon*7ne3or1 

Page 10: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 10/19

! 8ompro"ar s la red es9 ac$a6

* , +:NET;OR<IN=> % &no& .

hen

  echo &Ne3or1n7 s do3n&

  e? @

*

! 8ompro"ar s e?se el e0ecua"le

* , -* +open$pn .

hen

  echo &open$pn "nar2 no *ound&

  e? @

*

! 8ompro"ar c#mo nos han llamado6

case &+B& n

  sar)

  echo -n +&Sarn7 open$pnC &

  s"nmodpro"e un de$null FB

  ! Desde el puno de $sa de la se7urdadG creo Hue ene

  ! sendo elmnar esoG 2 o"l7ar a los usuaros Hue lo

  ! necesen a ha"larlo e?pl5camene en su scrps de arranHue o

  ! en la con*7urac#n del *re3all6

Page 11: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 11/19

  !echo B procs2snep$p'*or3ard

  * , -d +pddr .J hen

  m1dr +pddr

  *

  * , -* +loc1 .J hen

  ! no nos pararon correcamene

  *or pd* n K"nls +pddr6pd de$nullKJ do

  * , -s +pd* .J hen

  1ll Kca +pd*K de$null FB

  *

  rm -* +pd* 

  done

 

rm -* +loc1 

  sleep

  *

  rm -* +pddr6pd

  cd +3or1 

  ! Arrancar cada 6con* en +3or1 2 e0ecuar 6sh s e?se

  errors%@

  successes%@

  *or c n K"nls 6con* de$nullKJ do

Page 12: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 12/19

  "n%+:c6con*>

  * , -* &+"n6sh& .J hen

  6 +"n6sh

  *

  rm -* +pddr+"n6pd

  +open$pn --daemon --3repd +pddr+"n6pd --con*7 +c --cd +3or1 

  * , + % @ .J hen

  successes%B

  else

  errors%B

  *

  done

  * , +errors % B .J hen

  *alureJ echo

 

else

  successJ echo

  *

  * , +successes % B .J hen

  ouch +loc1 

  *

  JJ

  sop)

  echo -n +&Shun7 do3n open$pnC &

  *or pd* n K"nls +pddr6pd de$nullKJ do

Page 13: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 13/19

  * , -s +pd* .J hen

  1ll Kca +pd*K de$null FB

  *

  rm -* +pd* 

  done

  successJ echo

  rm -* +loc1 

  JJ

  resar)

  +@ sop

  sleep

  +@ sar

  JJ

  reload)

  * , -* +loc1 .J hen

 

*or pd* n K"nls +pddr6pd de$nullKJ do

  * , -s +pd* .J hen

  1ll -UP Kca +pd*K de$null FB

  *

  done

  else

  echo &open$pnC ser$ce no sared&

  e? B

  *

  JJ

  reopen)

Page 14: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 14/19

  * , -* +loc1 .J hen

  *or pd* n K"nls +pddr6pd de$nullKJ do

  * , -s +pd* .J hen

  1ll -USRB Kca +pd*K de$null FB

  *

  done

  else

  echo &open$pnC ser$ce no sared&

  e? B

  *

  JJ

  condresar)

  * , -* +loc1 .J hen

  +@ sop

  ! e$ar condcones de carrera

 

sleep

  +@ sar

  *

  JJ

  saus)

  * , -* +loc1 .J hen

  *or pd* n K"nls +pddr6pd de$nullKJ do

  * , -s +pd* .J hen

  1ll -USR Kca +pd*K de$null FB

  *

  done

Page 15: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 15/19

  echo &Saus 3ren o $arlo7messa7es&

  else

  echo &open$pnC ser$ce no sared&

  e? B

  *

  JJ

  )

  echo &Usa7eC open$pn :sarsopresarcondresarreloadreopensaus>&

  e? B

  JJ

esac

e? @

Luego, ha' que asignarle permisos de e)ecucion a dicho archivo:

c2&od 300 4etc4init5d4open*pn

hora ha' que agregarlo a la lista de servicios

ch5config &add openvpn

ch5config openvpn on

Configuración de Clientes VPN con OpenVPN 

C'ientes 1indo6s

Para la configuraci!n de clientes OpenVPN utili1aremos el programa OpenVPN A9I para Jindo4s.

Open!PN #U" para 1indo6s corre normalmente en una ventana de consola, al ser conectado al

servidor remoto/local VPN le da un aviso en el -rea de notificaci!n $el -rea de a%a)o a la derecha por

el relo) en la %arra (, desde all puede tener el control de iniciar/parar el "liente OpenVPN, consultar

los avisos $log(, incluso cam%iar su contraseKa.

Page 16: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 16/19

Puede ser descargado en el sitio OpenVPN A9I for Jindo4s 7http://openvpn.se8.

Preparati$os * con"i'uración

continuaci!n de%er- copiar los siguientes ficheros:

ca.crt.

cliente?.crt.

cliente?.csr.

cliente?.5e'

stos fueron creados en el directorio /etc/openvpn/eas'rsa/*.+/5e's ' de%er-n ser colocados en la

m-quina cliente dentro de ":rchivos de ProgramaOpenVPNconfig

2e crear- un fichero de configuraci!n cliente para el OpenVPN dentro del directorio +:,Archivos de

Pro"rama-.penP-confi" con el nom%re de c'iente.,udp,..7/5o*pn5

;endr- la siguiente configuraci!n:

client

dev tun

 !roto ud!

re'ote-PB+LS+;V-B;P+NVPN 66EF

float

resolv"retry infinitenobind

 !ersist"key

 !ersist"tun

G"""""" S+11-N B+ LLAV+S """"""""

ca cacrt

Page 17: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 17/19

cert clientecrt

key clientekey

ns"cert"ty!e server 

G"""""""""""""""""""""""""""""""""

co'!"lo

verb K

!escripción)

client: specifica el tipo de configuraci!n, en este caso tipo cliente OpenVPN.

Port: specifica el puerto que ser- utili1ado para que los clientes VPN puedan conectarse al servidor.

Proto: tipo de protocolo que se emplear- en a conexi!n a travs de VPN

dev : ;ipo de interfa1 de conexi!n virtual que se utili1ar- el servidor openvpn.

re&ote: 3ost remoto o direcci!n IP en el cliente, el cual especifica al servidor OpenVPN.

l cliente OpenVPN puede tratar de conectar al servidor con 2ost:porten el orden especificado de las

opciones de la opci!n +re&ote.

'oat: ste le dice a OpenVPN aceptar los paquetes autenticados de cualquier direcci!n, no solamente la

direcci!n cu-l fue especificado en la opci!n +re&ote.

reso'*,retr8: 2i la resoluci!n del hostname falla para + re&ote, la resoluci!n antes de fallar hace una re

compro%aci!n de n segundos.

Page 18: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 18/19

no9ind: No agrega %ind a la direcci!n local ' al puerto.

ca: specifica la u%icaci!n exacta del fichero de utoridad "ertificadora 7.ca8.

cert: specifica la u%icaci!n del fichero 7.crt8 creado para el servidor.

key : specifica la u%icaci!n de la llave 7.5e'8 creada para el servidor OpenVPN.

remote: specifica el dominio o IP del servidor as como el puerto que escuchara las peticiones para

servicio VPN.

comp#l(o: specifica los datos que recorren el t=nel VPN ser- compactados durante la trasferencia de estos

paquetes.

 persist#key : sta opci!n soluciona el pro%lema por llaves que persisten a travs de los rea)ustes 2IA92<?,

as que no necesitan ser reledos.

Persist#tun: Permite que no se cierre ' rea%re los dispositivos ;P/;9N al correr los guiones up/do4n

ver): Nivel de informaci!n $defaultE?(. "ada nivel demuestra toda la Informaci!n de los niveles anteriores.

2e recomienda el nivel 6 si usted desea un %uen resumen de qu est- sucediendo.

- +No muestra una salida excepto errores fatales. . to / +<ango de uso normal. 0 +2alida R ' 1caracteres

en la consola par los paquetes de lectura ' escritura, ma'=sculas es usada por paquetes ;"P/90P

min=sculas es usada para paquetes ;9N/;P.

Page 19: Instalación VPN Con Openvpn

7/21/2019 Instalación VPN Con Openvpn

http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 19/19

9na ves configurado el cliente VPN con Jindo4s, de%er- ir al -rea de notificaci!n $el -rea de a%a)o a

la derecha por el relo) en la %arra de Jindo4s( ' dar un clic5 derecho al icono del cliente OpenVPN

, all aparecer- un men= en el cual podr- elegir la opci!n conectar 7connect8.

"uando intente conectarse al servidor VPN una ve1 que ha'a elegido la opci!n 7connect8 aparecer-

una ventana de notificaci!n en el cual vera los procesos de verificaci!n e intento de conexi!n al

servidor VPN, si todo sale %ien, en el icono de notificaci!n del cliente OpenVPN le indicar- la correcta

conexi!n ' le mostrar- el n=mero de IP virtual 7tun8 que se le fue asignado.