Está en: » Notas y recortes »

Servidor Virtual Private Network (VPN)

Servidor Virtual Private Network (VPN)

Navegando de vez en cuando encuentras pequeñas joyas bien documentadas que merece guardar. Aquí tenéis una de www.linuxparatodos.net

Sólo hay que adaptar pequeños detalles como la instalación a la distribución que estemos usando. El resto es totalmente válido para la mayoría de configuraciones comunes (que no quiere decir que haya una más correcta para la distribución que estés usando).

Índice

  1. Ventajas de las VPN .
  2. Tipos de VPN
  3. Servidores VPN
  4. Postinstalación OpenVPN.

    1. Agregando Repositorio.
    2. Instalación OpenVPN.
    3. Interfaces OpenVPN.
  5. Servicio OpenVPN

    1. Host To Host

      1. Server Host To Host.
      2. Client Host To Host.

        1. Clientes GNU/Linux
        2. Clientes Windows
      3. Comprobando Conexión.
      4. Diagrama Host To Host.

    2. Road Warrior

      1. Server Road Warrior
      2. Client Road Warrior

        1. Clientes GNU/Linux
        2. Clientes Windows
      3. Comprobando Conexión.
      4. Asignar IP Estáticas Road Warrior.
      5. Diagrama Road Warrior.

    3. Net To Net

      1. Server Net to Net
      2. Client Net To Net.
      3. Comprobando Conexión
      4. Diagrama Net To Net
  6. Firewall OpenVPN

    1. Verificando la configuración del Firewall

Una VPN “Virtual Private Network”, es una tecnología en la que permite hacer
conexiones de una red local sobre una ip publica estando desde internet. También
son conocida como redes privadas en las cuales mediante un proceso de
encapsulamiento y encriptación de los datos se refiere a la utilización de la
infraestructura publica de telecomunicaciones.

Ventajas de las VPN .

Cuando deseamos crear una VPN dentro de nuestra empresa siempre debemos saber
que ventajas que nos puede proporcionar esta tecnología. Principales
Ventajas:

  • Seguridad: Por medio de una VPN podemos crear túneles en
    los cuales pasan la información encriptada entre los clientes por lo cual
    existe una integridad segura de los datos.
  • Autenticación y autorización: Solo se permiten
    conectarse a los equipos o dispositivos móviles autorizados, por medio de
    certificados de autenticación, llaves encriptadas y
    usuarios/contraseñas.
  • Velocidad: Cuando enviamos o solicitamos información por
    medio de una red VPN es comprimida y descomprimida entre los 2 clientes de la
    VPN, esto hace que la VPN funcione mas veloz en la transferencia de
    información.
  • Administración del ancho de banda: Es posible solicitar
    a nuestros ISP un ancho de banda especifico para nuestra red VPN.
  • Costos: Un VPN nos ahorra en costo de los equipo y otros
    servicios que se estén ofreciendo dentro de la red locales.

Tipos de
VPN

Para poder implementar una red VPN tendremos que saber que tipos de VPN
existen para poder instalarla y configurarle en nuestra red local. Existen 3
tipos de redes VPN:

  • Host to Host: Este el método mas sencillo de
    implementar, nos permite la comunicación entre dos máquinas de las cuales
    solo tienen conexión entre ellos, esto quiere decir que solo exista la
    comunicación por medio de la VPN entre estos 2 equipos y pueden estar dentro
    de una red local o en internet.
  • Road Warrior: Esta una de las formas mas utilizadas y
    solicitadas, es permitir un conjunto de máquina ya sean de la red local o de
    internet se conecten dentro de la red VPN, existiendo un servidor en el
    controle las conexiones, todas estas conexiones se realizan mediante
    certificados de autenticación.
  • Net to Net: Mediante esta forma conectamos 2 a varias
    redes LAN en lugares física apartados, la conexión entre las redes viajara
    encriptada, con esto podremos acceder a cualquier recursos de la red que se
    encuentre en el otro extremo de la VPN.

Servidores VPN

Tenemos varios servicios de los cuales nos permite crear estos túneles en
GNU/Linux, los mas conocidos son:

  • OpenVPN: Es una solución completa de conexión de redes
    VPN, contiene validación de usuario, enviado de informaron encriptada. Mas
    información revisar el sitio oficial del proyecto.

http://www.openvpn.net/

  • PPTP: Este el protocolo que realiza conexiones punto a
    punto, su principal habilidad la conexión múltiple de protocolos dentro del
    servicio.

http://www.poptop.org./

  • Openswan: Es una implementación de IPSec, son varios
    protocolos cuya función es garantizar la comunicación sobre el protocolo de
    internet, permite la autenticación y cifrado. Mas información revisar el
    siguiente link.

http://www.openswan.org/

Postinstalacion OpenVPN.

Toda la instalación y configuración se realizara sobre la distribución Centos
versión 5.0, por el cual OpenVPN no viene agregada en los repositorio oficiales
de dicha distribución. Por lo cual tendremos que agregar otra repositorio extra
para este servicio.

Agregando Repositorio.

Para esto tendremos que agregaremos el repositorio de DAG Wieers, este
repositorio se encarga de proporcionar paquetes que no son soportados en los
repositorios oficiales de CentOS. Para mas información revisar el sitio oficial
del repositorio http://dag.wieers.com/rpm/ La forma mas rápida de agregar este
repositorio es instalar el paquete que agrega el repositorio a nuestra lista.
Esta ruta encontraran el paquete a instalar dependiendo de la versión de su
CentOS http://dag.wieers.com/rpm/FAQ.php#B

[root@rodmen ~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/
rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Ya instalado el paquete, actualizaremos
la lista de paquetes y también se recomienda actualizar el Sistema Operativo.

[root@ascariote ~]# yum update

Instalación OpenVPN.

Después de la actualización de paquetes ahora ya podremos instalar el
servicio de OpenVPN sin ningún problema.

[root@ascariote ~]# yum install openvpn

OpenVPN trabaja en el puerto 1194 del cual por default utiliza protocolo udp pero
también se puede utilizar tcp.

Interfaces OpenVPN.

OpenVPN utiliza 2 tipos de interfaz de red virtuales como:

  • TUN: Esta interfaz simula que es un dispositivo Ethernet
    que trabaja sobre la capa 3 del modelo OSI, esta interfaz es ocupada cuando
    hacemos un Ruteo dentro de la red de la VPN.
  • TAP: Esta interfaz simula que es un dispositivo Ethernet
    que trabaja sobre la capa 2 del modelo OSI, esta interfaz es ocupada cuando
    queremos utilizar redes en modo puente.

Servicio OpenVPN

Dentro de este manual se enseñara a configurar los métodos de configuración
de OpenVPN como:

  • Host To Host.
  • Road Warrior
  • Net To Net.

Host To
Host

Sus principales características son:

  • Solo existe un Cliente y un servidor en esta configuración.
  • Conexión encriptada entre ambos sistemas.

Utilizan la misma llave de autenticación.

Server Host To Host.

Para esta configuración solo se necesita ya tener instalado el servicio de
OpenVPN en nuestra distribución. Todas las configuración del servicio OpenVPN se
realizan dentro de la siguiente ruta:

/etc/openvpn/

Dentro de esta ruta deberemos crear una llave de autenticación la cual es
compartida entre el servidor y el cliente. Para poder crear la llave tendremos que
ejecutar el siguiente comando:

[root@ascariote openvpn]#openvpn --genkey --secret secret.key

Con esto nos genera un archivo en cual tiene la llave de encriptación. Ahora
crearemos un archivo en el cual contendrá la configuración del servicio OpenVPN en modo
Server.

[root@ascariote openvpn]# vim server.conf

Debe contener los siguientes parámetros:

dev tun0
proto udp comp-lzo port 1194 ifconfig 10.8.0.1 10.8.0.2 status openvpn-status.log
log /var/log/openvpn.log secret secret.key ping 10 verb 4 mute 10

Explicaremos cada una de la opciones del servidor OpenVPN:

Parámetro Descripción
dev tun0 Dispositivo virtual en el cual se creara el tunel.
proto udp Protocolo de la conexión VPN
comp-lzo Comprimir dentro de la red virtual con lzo
port 1194 Puerto de escucha del servicio.
ifconfig 10.8.0.1 10.8.0.2 Asignamos IP de la red Virtual, siempre el servidor utiliza la
primera IP del segmento de red e indicamos la IP del cliente.
Status openvpn-status.log Ver el estado del servicio de OpenVPN
log /var/log/openvpn.log Vemos el estado actual del servicio, como también la bitácora de
errores y conexiones.
secret secret.key Mandamos a solicitar la llave de autenticación del servidor.
ping 10 Ping cada 10 segundos
verb 4 Método del Verbose Moderado
mute 10 Calla mas 10 mensaje iguales

Con esto ya podremos podremos iniciar nuestro servicio de OpenVPN.

[root@ascariote openvpn]# /etc/init.d/openvpn start

Como podemos comprobar que ya existe nuestro servicio de OpenVPN, solamente
ejecutando el comando ifconfig y la interfaz de VPN.

[root@ascariote openvpn]# ifconfig tun0 
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.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)

Client Host To Host.

Para poder agregar clientes Host To Host dentro de nuestro servicio de
Openvpn, ya depende del sistema operativo a conectar como alguna distribución de
GNU/Linux o Windows. Solamente tendremos que crear el archivo de configuración
del cliente de OpenVPN que contendría los siguiente parámetros:

remote ascariote.dynalias.net

port 1194 dev tun tun-mtu 1500 ifconfig 10.8.0.2 10.8.0.1 secret secret.key ping 10
comp-lzo verb 4 mute 10}}} Con esto ya agregamos creado la configuración del cliente
OpenVPN. Pero explicaremos para que nos sirve cada parámetro que tiene este archivo de
configuración del cliente.

Parámetro Descripción
remote ascariote.dynalias.net En este parámetro indica el nombre del servidor OpenVPN, pero
también se puede poner la IP publica.
port 1194 Puerto de escucha del servidor.
dev tun Dispositivo virtual en el cual con el cual se conectara al
servidor.
tun-mtu 1500
ifconfig 10.8.0.2 10.8.0.1 IP del cliente y después del servidor OpenVPN.
secret secret.key Mandamos a solicitar la llave de autenticación del servidor.
ping 10 Ping cada 10 segundos.
comp-lzo Comprimir dentro de la red virtual con lzo.
verb 4 Método del Verbose Moderado.
mute 10 Calla mas 10 mensaje iguales.
Clientes GNU/Linux

En este tipo de configuración solamente se instala openvpn en las
distribuciones GNU/Linux, indicaremos como instalar esta aplicación en las
conocidas como debian, ubuntu, CentOS, Fedora. Distribuciones como debian/ubuntu
y sus derivados solamente tendremos que instalar el servicio de la siguiente
manera.

lucifer:~# apt-get install openvpn

Distribuciones como RHEL/CentOs/Fedora y sus derivados solamente tendremos que
instalar el servicio de la siguiente manera, pero antes de todo en CentOS/RHEL entremos
que agregar el repositorio de DAG Wieers para poder tener el servicio.

[root@moa ~]# yum install openvpn

Para otra distribuciones existe un tar.gz el cual contiene el código fuente para
ser compilado e instalado en su distribución, lo pueden descargar desde la siguiente
liga. http://openvpn.net/index.php/open-source/downloads.html Con esto ya tendremos
instalado nuestro cliente en nuestra distribución. Tendremos que hacer los siguientes
paso para poder configurar el cliente, toda la configuración del cliente se llevan acabo
en el directorio /etc/openvpn y el fichero de configuración del cliente y la llave deben
estar en esta ruta. Enviaremos estos archivos serian enviados por scp, como el archivo de
configuración y llave de conexión de la siguiente manera:

[root@ascariote openvpn]# scp client.conf secret.key root@189.175.23.45:/etc/openvpn

En el cliente solamente tendremos que iniciar el servicio de OpenVPN.

[root@moa ~]#/etc/init.d/openvpn start

Verificamos que tengamos levantara la interfaz virtual de la red VPN.

[root@moa ~]# ifconfig tun0 
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.2 P-t-P:10.8.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:168 (168.0 b) TX bytes:168 (168.0 b)
Clientes Windows

Para estos sistema operativos solamente tendremos que descargar el cliente en
formato exe, su instalación es muy sencilla y rápida. Lo podremos descargar
desde el siguiente link. http://openvpn.net/index.php/open-source/downloads.html
Ya que tenemos instalado el cliente, solamente tenemos que ejecutar el siguiente
comando para que cambie el formato del archivo a msdos.

[root@ascariote openvpn]# unix2dos guindows.conf guindows.conf

Cambiamos la extensión del fichero ya que el cliente OpenVPN en windows reconoce
sus archivos con la extensión ovpn.

[root@ascariote openvpn]# mv guindows.conf guindows.ovpn

Sera cuestión de enviar el archivo de configuración del cliente y su llave de
autenticación para poder hacer la conexión, ya seria enviarlo vía correo, Samba, FTP o un
apache. Ya teniendo los archivos de configuración y llave solamente tendremos que
moverlos a la siguiente ruta C:\Archivos de programas\OpenVPN\config. Para poder iniciar
el cliente OpenVPN solamente tenemos que ejecutar el icono que se encuentra en la barra
de tarea en la parte derecha se encontrara un icono muy parecido al de red en windows
pero en color rojo, solo le damos click derecho en sobre el y tendremos las opciones que
podremos utilizar. Una forma de comprobar que ya tenemos asignada nuestra IP es
ejecutando el comando ipconfig en el interprete de comandos.

Comprobando Conexión.

La forma mas sencilla de saber que ya funciona nuestra red VPN es mandar
paquetes ICMP del servidor al cliente.

lucifer@lucifer:~$ ping -c 5 10.9.0.1 
PING 10.9.0.1 (10.9.0.1) 56(84) bytes of data. 64 bytes from 10.9.0.1: icmp_seq=1 ttl=64 time=0.025 ms
64 bytes from 10.9.0.1: icmp_seq=2 ttl=64 time=0.038 ms
64 bytes from 10.9.0.1: icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from 10.9.0.1: icmp_seq=4 ttl=64 time=0.037 ms
64 bytes from 10.9.0.1: icmp_seq=5 ttl=64 time=0.045 ms
--- 10.9.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.025/0.036/0.045/0.009 ms
lucifer@lucifer:$

Como también hacemos la comprobación en el cliente. Si tuviéramos algún otro servicio dentro del servidor/cliente VPN, un Servidor FTP, Servidor Web, etc, ya podremos utilizar sus recursos desde la VPN.

Diagrama Host To Host.

Esta es la forma en que se podría ilustrar una configuración Host To Host de OpenVPN, teniendo las siguientes características. El equipo cliente y servidor pueden estar en lugar distantes. Los equipos están conectados directamente a Intenet. En el servidor tiene configurado el OpenVPN creando una interfaz virtual llamada tun0 que por medio de esta se creara el túnel VPN. El cliente se
configura VPN, en donde también se levanta la interfaz tun0 con la cual se conectar al túnel VPN y tendrá comunicación con el servidor VPN. Pero su salida de paquetes siempre va hacer enviada por la conexión de internet.

Road
Warrior

La conexión Road Warrior permite la comunicación entre los usuarios externo y
usuarios locales en la red local de nuestra oficina, en esta conexión puede ver
mas 1 cliente conectado en la red virtual. En este tipo de configuración los
usuarios están bajo certificados y llaves de autenticación para su conexión a la
red VPN. Las razones de utilizar una VPN en modo Road Warrior son:

  • Permite compartir información y los recursos de la red local.
  • Configuración personalizada.
  • Manejo de varias redes virtuales y usuarios
  • Bloquea ataques de intrusos y espías.

Server Road Warrior

Para poder configurar nuestra OpenVPN en modo Road Warrior tendremos que
seguir los siguientes pasos. 1) Tendremos que buscar en donde se encuentran los
scripts que nos permite crear los certificados y las llaves.

[root@test ~]# cd /usr/share/openvpn/ easy-rsa/

Dentro de este directorio encontraremos 2 versiones de OpenVPN.

[root@test easy-rsa]# ls

1.0 2.0 [root@test easy-rsa]#}}} Debemos elegir la version mas actual y copiarla a
/etc/openvpn

[root@test easy-rsa]# cp -a 2.0/ /etc/openvpn/easy-rsa

Entramos en directorio principal de la configuración de OpenVPN.

[root@test openvpn]# cd /etc/openvpn/easy-rsa/

Listamos que dentro de este directorio existen varios scripts.

[root@test easy-rsa]# ls

build-ca build-key build-key-server clean-all Makefile pkitool sign-req build-dh
build-key-pass build-req inherit-inter openssl-0.9.6.cnf README vars build-inter
build-key-pkcs12 build-req-pass list-crl openssl.cnf}}} Lo que tendremos que hacer es
editar el archivo de vars el cual contiene la informacion relacionada hacia la empresa en
donde estamos laborando.

[root@test easy-rsa]# vim vars

Tendremos que ir al final del archivo y modificar los siguiente parametros quedando
de la siguiente manera.

export KEY_COUNTRY="MX"

export KEY_PROVINCE=”DF” export KEY_CITY=”MEXICO” export KEY_ORG=”ASCARIOTE SA DE
CV” export KEY_EMAIL=”administrador@ascariote.com.mx” }}} Como podemos ver solo agregamos
datos esenciales para la creación de la Certificados CA, guardamos el archivos y ahora
debemos refrescar las variables que tiene el archivo var.

[root@test easy-rsa]# source vars

NOTE: If you run ./clean-all, I will be doing a rm -rf on
/etc/openvpn/easy-rsa/keys}}} Nos devuelve un posible error por lo cual tendremos que
limpiar todas la opciones de OpenVPN.

[root@test easy-rsa]# sh clean-all

Ahora debemos crear el certificado de Autenticación para el servicio de OpenVPN.

[root@test easy-rsa]# sh build-ca

Generating a 1024 bit RSA private key ……………..++++++ ……….++++++
writing new private key to ‘ca.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) [MX]: State or Province Name
(full name) [DF]: Locality Name (eg, city) [MEXICO]: Organization Name (eg, company)
[ASCARIOTE SA DE CV]: Organizational Unit Name (eg, section) []:ASCARIOTE Common Name
(eg, your name or your server’s hostname) [ASCARIOTE SA DE CV CA]:SERVER Name []:SERVER
Email Address [administrador@ascariote.com.mx]: [root@test easy-rsa]# }}} Debemos crear
la clave diffie-hellman, en este paso nos preguntara si queremos firmar digitalmente con
nuestro certificado creado anteriormente.

[root@test easy-rsa]# sh build-dh

Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to
take a long time
….+…………………+……..+.+………………….+……………+………….
…………………………….+………….+…..+………………………………..
….+…………………..+……………………………+……………………+….
…………………..+…………..+……………………………………………….
…………………………………………………………….+……+…………….
………………………………….++++++ [root@test easy-rsa]# }}} Crearemos el
certificado y la llave para el servidor OpenVPN, solicitara datos generales de la
empresa.

[root@test easy-rsa]# sh build-key-server server

Generating a 1024 bit RSA private key …..++++++ …++++++ writing new private key
to ‘server.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) [MX]: State or Province Name (full name) [DF]:
Locality Name (eg, city) [MEXICO]: Organization Name (eg, company) [FACTOR SA DE CV]:
Organizational Unit Name (eg, section) []:FACTOR Common Name (eg, your name or your
server’s hostname) [server]:SERVER Name []:SERVER Email Address
[administrador@factor.com.mx]: 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/easy-rsa/openssl.cnf Check that the request matches the
signature Signature ok The Subject’s Distinguished Name is as follows countryName
:PRINTABLE:’MX’ stateOrProvinceName :PRINTABLE:’DF’ localityName :PRINTABLE:’MEXICO’
organizationName :PRINTABLE:’FACTOR SA DE CV’ organizationalUnitName:PRINTABLE:’FACTOR’
commonName :PRINTABLE:’SERVER’ name :PRINTABLE:’SERVER’ emailAddress
:IA5STRING:’administrador@factor.com.mx’ Certificate is to be certified until Aug 23
18:10:41 2019 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 [root@test easy-rsa]# }}} Todos estas
llaves y certificados generados se encuentran en el directorio key por lo cual
entraremos a ese directorio.

[root@test easy-rsa]# cd keys/

Verificamos que fichero encontramos.

[root@test keys]# ls

01.pem ca.key index.txt index.txt.old serial.old server.csr ca.crt dh1024.pem
index.txt.attr serial server.crt server.key [root@test keys]# }}} Los archivos mas
importantes son:

Archivo Descripción
ca.crt/ca.key Contiene el certificado de autenticación y llave. Sin estos no
podrás crear certificados para tus clientes VPN.
dh1024.pem Clave diffie-hellman, también es necesaria los clientes.
server.crt/ server.key Contiene el Certificado de autenticación para el servidor y su
llave.

Ya teniendo estos archivos solamente tendremos que hacer una copia de estos
archivos y mandarlos a /etc/openvpn/.

[root@test keys]# cp ca.* dh1024.pem server.crt server.key /etc/openvpn

Ahora debemos crear el archivo de configuración de nuestro servidor OpenVPN, lo
crearemos en el directorio /etc/openvpn.

[root@test easy-rsa]# cd /etc/openvpn

Crearemos el archivo del servidor OpenVPN.

[root@test openvpn]# vim server.conf

Debe contener los siguientes parámetros:

proto udp

dev tun0 ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key
/etc/openvpn/server.key dh /etc/openvpn/dh1024.pem duplicate-cn server 192.168.4.0
255.255.255.0 client-config-dir /etc/openvpn/ccd comp-lzo user root group root
persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb
3 mute 20 ping 10 ping-restart 120 }}} Explicaremos cada una de la opciones del servidor
OpenVPN:

Parámetro Descripción
proto udp El servicio de OpenVPN utilizara protocolo UDP.
dev tun0 Interfaz virtual por la cual se crea el túnel.
ca /etc/openvpn/ca.crt Especifica la ruta en donde se localiza el certificado de
autenticación.
cert /etc/openvpn/server.crt Especifica la ruta en donde se localiza el certificado de
servidor.
key /etc/openvpn/server.key Especifica la ruta en donde se localiza la llave de
autenticación.
dh /etc/openvpn/dh1024.pem Especifica la ruta en cual contiene el formato de Diffie
Hellman.
server 192.168.4.0 255.255.255.0 Segmento de red VPN, la primera IP del segmento queda reservada
para el servidor OpenVPN.
client-config-dir /etc/openvpn/ccd Este parametro manda a llamar a archivo dentro de esta ruta para
asignar IP Estáticas de la Red VPN.
comp-lzo Comprimir dentro de la red virtual con lzo.
user root/group root
persist-key Esta opción soluciona el problema por llaves que persisten a través
de los reajustes SIGUSR1.
persist-tun Permite que no se cierre y se vuelvan abrir los dispositivos
TAP/TUN.
status /var/log/openvpn-status.log Estado actual del servicio OpenVPN.
log /var/log/openvpn.log La bitácoras de los Logs del servicio OpenVPN.
verb 3 Método del verbose Moderado.
mute 20 Calla mas 10 mensaje iguales.
ping 10 Ping cada 10 segundos al servidor OpenVPN.
ping-restart 120 Reinicia ping cada 120 segundos.

Con esto ya podremos podremos iniciar nuestro servicio de OpenVPN.

[root@test ~]# /etc/init.d/openvpn start

Como podemos comprobar que ya existe nuestro servicio de OpenVPN, solamente
ejecutando el comando ifconfig y la interfaz de VPN.

[root@test ~]# ifconfig tun0

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00 inet
addr:192.168.4.1 P-t-P:192.168.4.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) }}}

Client Road Warrior

Para poder agregar clientes dentro de nuestra red VPN, tendremos que crear su
certificado y llave por cada uno de los usuario que se conecte. Se recomienda
poner en los certificados el nombre de la persona para tener mayor control de
los usuarios conectados. Estos certificados se crean la siguiente ruta
/etc/openvpn/easy-rsa/, por lo cual tendremos que acceder a esa ruta, ya estando
ahi solamente tendremos que ejecutar el siguiente comando para que nos cree el
certificado y la llave para el usuario a conectarse.

[root@test easy-rsa]# sh build-key ascariote

Generating a 1024 bit RSA private key ………………….++++++
…………….++++++ writing new private key to ‘ascariote.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)
[MX]: State or Province Name (full name) [DF]: Locality Name (eg, city) [MEXICO]:
Organization Name (eg, company) [FACTOR SA DE CV]: Organizational Unit Name (eg, section)
[]:LPT Common Name (eg, your name or your server’s hostname) [ascariote]: Name
[]:ascariote Email Address [administrador@factor.com.mx]: 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/easy-rsa/openssl.cnf
Check that the request matches the signature Signature ok The Subject’s Distinguished
Name is as follows countryName :PRINTABLE:’MX’ stateOrProvinceName :PRINTABLE:’DF’
localityName :PRINTABLE:’MEXICO’ organizationName :PRINTABLE:’FACTOR SA DE CV’
organizationalUnitName:PRINTABLE:’LPT’ commonName :PRINTABLE:’ascariote’ name
:PRINTABLE:’ascariote’ emailAddress :IA5STRING:’administrador@factor.com.mx’ Certificate
is to be certified until Aug 23 21:36:12 2019 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 [root@test easy-rsa]#}}} Con esto ya habremos que creado
los archivos necesarios para los clientes y todos estos archivos se encuentra almacenados
en /etc/openvpn/easy-rsa/keys/, entramos en esa ruta y verificamos que están nuestros
archivos con el nombre del usuario a conectarse, en nuestro caso el usuario se llama
ascariote. Para que un cliente pueda conectarse se necesitan los siguientes archivos:

  • ca.crt
  • ascariote.

Por recomendacion cuando nosotros creamos mas usuario todo se queda dentro de
esta carpeta sin ordenar pero te recomiendo tener a los usuarios separados. Esto
lo podemos arreglar de la siguiente manera. Creamos una carpeta en donde se
depositaran todos los clientes de la VPN Road Warrior.

[root@test keys]# mkdir /etc/openvpn/clientes/

Ahora solamente creamos la carpeta por cada usuario.

[root@test keys]# mkdir /etc/openvpn/clientes/ascariote

Copiamos los archivos de configuración del usuario y el certificado del
autenticación.

[root@test keys]# cp ca.crt ascariote.* /etc/openvpn/clientes/ascariote/

NOTA: Con esto ya tendremos los archivos de configuración de los
clientes y el certificado de autenticación respaldo ya que cuando hacemos limpieza de
variables en OpenVPN son borrados todos los archivos de configuración de los clientes y
servidor en el directorio /etc/openvpn/easy-rsa/keys/.

Clientes GNU/Linux

En este tipo de configuración solamente se instala OpenVPN en las
distribuciones GNU/Linux, indicaremos como instalar esta aplicación en las
conocidas como debian, ubuntu, CentOS, Fedora. Distribuciones como debian/ubuntu
y sus derivados solamente tendremos que instalar el servicio de la siguiente
manera.

ascariote:~# apt-get install openvpn

Distribuciones como RHEL/CentOs/Fedora y sus derivados solamente tendremos que
instalar el servicio de la siguiente manera, pero antes de todo en CentOS/RHEL entremos
que agregar el repositorio de DAG Wieers para poder tener el servicio.

[root@moa ~]# yum install openvpn

Para otra distribuciones existe un tar.gz el cual contiene el código fuente para
ser compilado e instalado en su distribución, lo pueden descargar desde la siguiente
liga. http://openvpn.net/index.php/open-source/downloads.html Con esto ya tendremos
instalado nuestro cliente en nuestra distribución ahora lo que tenemos que hacer con el
servidor es ir a /etc/openvpn/clientes, en el cual se encontraran las carpetas de los
usuarios permitidos en la VPN entramos alguna de las carpetas y veremos que solo falta el
archivo el archivo de configuracion para el cliente VPN. Debemos crear el archivo de
configuración para los clientes de la VPN.

[root@test ~]# vim /etc/openvpn/clientes/ascariote.conf

En el cual contiene los siguientes parámetros.

client

remote test.ascanet.com.mx port 1194 proto udp dev tun ca /etc/openvpn/ca.crt cert
/etc/openvpn/ascariote.crt key /etc/openvpn/ascariote.key comp-lzo log
/var/log/openvpn.log verb 3 mute 20 ping 10 ping-restart 120 persist-key persist-tun}}}
Explicaremos cada una de la opciones del cliente OpenVPN:

Parámetro Descripción
Client Indica que va hacer cliente de la red VPN.
remote test.ascanet.com.mx El nombre o IP del servidor OpenVPN, el cual controla los accesos a
la misma.
Port 1194 Puerto de escucha del servicio OpenVPN en el servidor.
proto udp Protocolo utilizado en red VPN
dev tun Interfaz virtual con el cual se conecta a la red VPN.
ca /etc/openvpn/ca.crt Especifica la ruta en donde se localiza el certificado de
autenticación, este certificado es del servidor OpenVPN.
cert /etc/openvpn/ascariote.crt Especifica la ruta en donde se localiza el certificado del
cliente
key /etc/openvpn/ascariote.key Especifica la ruta en donde se localiza la llave de autenticación
del cliente.
comp-lzo Comprimir dentro de la red virtual con lzo.
log /var/log/openvpn.log La bitácoras de los Logs del servicio OpenVPN.
verb 3 Método del verbose Moderado.
Mute 20 Calla mas 20 mensaje iguales.
ping 10 Ping cada 10 segundos al servidor OpenVPN.
ping-restart 120 Reinicia ping cada 120 segundos.
Persist-key Esta opción soluciona el problema por llaves que persisten a través
de los reajustes SIGUSR1.
persist-tun Permite que no se cierre y se vuelvan abrir los dispositivos
TAP/TUN.

Con esto solamente tendremos que crear el archivo comprimido y mandarlo por
via ssh, ftp, http el archivo.

[root@test clientes]# tar cvfz ascariote.tar.gz ascariote/

En el cliente ya teniendo el archivo comprimido solamente tendremos que
descomprimirlo.

ascariote:Desktop# tar xvfz  ascariote.tar.gz

Entramos a la carpeta y movemos todos los archivos a /etc/openvpn/

ascariote:ascariote# cp * /etc/openvpn/

Iniciamos el servicio para conectarnos a la VPN.

ascariote:ascariote# /etc/init.d/openvpn restart

Verificamos que tengamos levantada la interfaz virtual que se usa para conexión
VPN.

ascariote:ascariote# ifconfig tun0

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00 inet
addr:192.168.4.6 P-t-P:192.168.4.5 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP
MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX
packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:52
(52.0 B) TX bytes:84 (84.0 B) }}} Con esto ya sabremos que tenemos conexión a la VPN.

Clientes Windows

Para estos sistema operativos solamente tendremos que descargar el cliente en
formato exe, su instalación es muy sencilla y rápida. Lo podremos descargar
desde el siguiente link. http://openvpn.net/index.php/open-source/downloads.html
Ahora en el servidor tendremos que crear el archivo de configuración del cliente
para windows. En nuestro caso el usuario se llama GuindowsLPT, entramos a la
ruta en donde se encuentran los clientes.

[root@test GuindowsLPT]# vim GuindowsLPT.ovpn

En el cual deberá contener los siguientes parámetros.

client

remote test.ascanet.com.mx port 1194 proto udp dev tun ca “ca.crt” cert
“GuindowsLPT.crt” key “GuindowsLPT.key” persist-key persist-tun comp-lzo verb 3 mute 20
ping 10 ping-restart 120}}} Convertimos el fichero a formato dos de Windows.

[root@test GuindowsLPT]# unix2dos GuindowsLPT.ovpn GuindowsLPT.ovpn

Solo falta comprimir la carpeta para que se enviada al cliente windows.

[root@test clientes]# zip  GuindowsLPT.zip GuindowsLPT/*

Sera cuestión de enviar el archivo de configuración del cliente y su llave de
autenticación para poder hacer la conexión, ya seria enviarlo vía correo, Samba, FTP o un
apache. Ya teniendo los archivos de configuración y llave solamente tendremos que
moverlos a la siguiente ruta C:\Archivos de programas\OpenVPN\config. Para poder iniciar
el cliente OpenVPN solamente tenemos que ejecutar el icono que se encuentra en la barra
de tarea en la parte derecha se encontrara un icono muy parecido al de red en windows
pero en color rojo, solo le damos click derecho en sobre el y tendremos las opciones que
podremos utilizar. Una forma de comprobar que ya tenemos asignada nuestra IP es
ejecutando el comando ipconfig en el interprete de comandos.

Comprobando Conexión.

La forma mas sencilla de saber que ya funciona nuestra red VPN es mandar
paquetes ICMP a algunos de los clientes que estén dentro de la red virtual.

ascariote:~# ping -c 5 192.168.4.10

PING 192.168.4.10 (192.168.4.10) 56(84) bytes of data. 64 bytes from 192.168.4.10:
icmp_seq=1 ttl=127 time=39.9 ms 64 bytes from 192.168.4.10: icmp_seq=2 ttl=127 time=37.4
ms 64 bytes from 192.168.4.10: icmp_seq=3 ttl=127 time=38.6 ms 64 bytes from
192.168.4.10: icmp_seq=4 ttl=127 time=89.1 ms 64 bytes from 192.168.4.10: icmp_seq=5
ttl=127 time=110 ms — 192.168.4.10 ping statistics — 5 packets transmitted, 5
received, 0% packet loss, time 4017ms rtt min/avg/max/mdev = 37.435/63.124/110.489/30.710
ms ascariote:# }}} Como también podemos hacer la comprobación hacia el servidor o otro
cliente que se encuentre en la red VPN desde Windows. Si tuviéramos algún otro servicio
dentro del servidor/cliente VPN, un Servidor FTP, Servidor Web, etc, ya podremos utilizar
sus recursos desde la VPN.

Asignar IP Estáticas Road Warrior.

En este tipo de configuración nosotros podremos asignar una IP estática al
cliente de la red VPN para que no se este cambiando cada vez que se intente
conectar. Para esto tendremos que crear el siguiente directorio ccd dentro de
/etc/openvpn en el servidor OpenVPN.

[root@test clientes]# mkdir /etc/openvpn/ccd

Entramos a ese directorio y crearemos archivos de configuración por cada cliente
que deseemos que tenga una IP Estática. Cuando creamos el archivo de configuración por
cada cliente, debemos crear con el nombre del usuario tal como se conecta a la VPN en mi
caso tengo el usuario ascariote, entonces creare el archivo ascariote dentro
/etc/openvpn/ccd.

[root@test ccd]# vim ascariote

En nuestro caso esta es una configuración para clientes GNU/Linux/BSD y otros.

ifconfig-push 192.168.4.30 192.168.4.1

En caso de los clientes fueran windows, tendríamos que configurarlo de la siguiente
manera.

ifconfig-push 192.168.4.49 192.168.4.50

En windows siempre se ocupa dos IP para que puedamos asignar una IP estática
siempre empezando con la IP impar. Con esto solamente tendremos que reiniciar el servicio
de OpenVPN.

[root@test ccd]# /etc/init.d/openvpn restart

Solo queda iniciar el cliente para que ya se le sea asignada su IP estática.

Diagrama Road Warrior.

Esta es la forma en que se podría ilustrar una configuración RoadWarrior de
OpenVPN, teniendo las siguientes características. Figura 2.5: Los equipos
clientes y servidor pueden estar en lugar distantes. Los equipos están
conectados directamente a Intenet. En el servidor tiene configurado el OpenVPN
creando una interfaz virtual llamada tun0 que por medio de esta se creara el
túnel VPN. Los clientes se conectan al servidor por medio del túnel VPN pero
autenticados por certificados y llaves de autenticación. Los clientes también
puede ser dispositivos móviles que se conectaran a la red VPN. Solo se pueden
conectar clientes que estén permitidos. Pueden compartir recursos entre cliente
a cliente como tambien al servidor. Pero su salida de paquetes siempre va hacer
enviada por la conexión de internet.

Net To
Net

Es una configuración muy ocupada en las empresas que tienen varias sucursales
en lugares físicamente apartados geográficamente. Este métodos nos sirve para
unir varias redes y puedan compartir información entre todos los clientes de
todas las redes conectadas de una forma transparente. Solamente se requiere un
servidor y clientes que permitan la conexión de a la red virtual.

Server
Net to Net

En este configuraremos dentro del tunel VPN la union de 3 redes de la
siguiente manera:

UBICACION DOMINIO RED FISICA RED VIRTUAL
MEXICO test.ascanet.com.mx 192.168.1.0/24 10.0.1.1/10.0.2.1
OAXACA ascariote.dynalias.net 192.168.2.0/24 10.0.2.2
VERACRUZ belzebu.dynalias.net 192.168.3.0/24 10.0.3.2

Para poder unir a estas 3 redes en el servidor tendremos que crear 2 llaves
en las cuales conecte a la sucursales de Mexico y Veracruz, las cuales reacremos
de la siguiente manera:

[root@test openvpn]# openvpn --genkey --secret mex-oax.txt

[root@test openvpn]# openvpn –genkey –secret mex-ver.txt}}} Ya teniendo las
llaves solamente tendremos que crear dos archivos de configuración del servidor para que
pueda controlar las 2 redes. Primero comenzaremos con la conexión de México y Oaxaca.

remote ascariote.dynalias.net

float port 1194 dev tun0 persist-tun ifconfig 10.0.1.1 10.0.1.2 comp-lzo ping 15
ping-restart 120 verb 3 secret /etc/openvpn/mex-oax.txt persist-key route 192.168.2.0
255.255.255.0 chroot /var/empty log /var/log/openvpn.log}}} Si queremos que OpenVPN tenga
varias conexión al servidor solamente tendremos que cambiar el puerto de escucha del otro
segmento de red. Configuraremos la conexión de México a Veracruz.

remote belzebu.dynalias.net

float port 1195 dev tun1 persist-tun ifconfig 10.0.2.1 10.0.2.2 comp-lzo ping 15
ping-restart 120 verb 3 secret /etc/openvpn/mex-ver.txt persist-key route 192.168.3.0
255.255.255.0 chroot /var/empty log /var/log/openvpn.log}}} Explicaremos cada una de la
opciones del cliente OpenVPN:

Parámetro Descripción
remote ascariote.dynalias.net IPS o Dominios a los cuales se tendrá conexión al servicio
OpenVPN.
float Por si acaso que los clientes son de IP dinámicas.
port 1194/1195 Puertos de escucha de los 2 servicios de OpenVPN.
proto udp Protocolo utilizado en red VPN
dev tun1/tun2 Interfaz virtual con el cual se conecta a la red VPN, pero
indicando que red escucha.
persist-tun Permite que no se cierre y se vuelvan abrir los dispositivos
TAP/TUN.
ifconfig 10.0.1.1 10.0.1.2
ifconfig 10.0.2.1 10.0.2.2
IP especificadas que usaran como el servidor y clientes en los
segmentos de red diferentes.
comp-lzo Comprimir dentro de la red virtual con lzo.
ping 15 Ping cada 15 segundos al servidor OpenVPN.
ping-restart 120 Reinicia ping cada 120 segundos
verb 3 Método del verbose Moderado.
secret /etc/openvpn/mex-oax.txt
secret /etc/openvpn/mex-ver.txt
Manda a llamar la llave para conexión de red VPN.
persist-key Esta opción soluciona el problema por llaves que persisten a través
de los reajustes SIGUSR1.
route 192.168.2.0 255.255.255.0
route 192.168.3.0 255.255.255.0
Establecemos que haya ruteo dentro de la red física a
conectarnos
chroot /var/empty Por seguridad se activa un enjaulamiento
log /var/log/openvpn-mex-oax.log
log /var/log/openvpn-mex-oax.log
Bitácora del servicio OpenVPN en cada segmento de red.

Iniciamos la configuración de nuestro OpenVPN

[root@test openvpn]# /etc/init.d/openvpn start

Verificamos que tengamos la interfaz tun0/tun1 levantadas y configuradas.

[root@test openvpn]# ifconfig tun0 && ifconfig tun1

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00 inet
addr:10.0.1.1 P-t-P:10.0.1.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) tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00 inet
addr:10.0.2.1 P-t-P:10.0.2.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) [root@test openvpn]# }}}

Client Net To Net.

Ahora configuramos los clientes para para que se puedan conectar a la red
VPN, se recomienda poner como cliente servidores Linux o otro derivados.
Comenzaremos con la configuración del Cliente Oaxaca a México.

remote test.ascanet.com.mx

float port 1194 dev tun0 persist-tun ifconfig 10.0.1.2 10.0.1.1 comp-lzo ping 15
ping-restart 120 verb 3 secret /etc/openvpn/plutarco.txt persist-key route 192.168.1.0
255.255.255.0 log /var/log/openvpn.log }}} Ahora comenzaremos con la configuración del
cliente Veracruz a México:

remote test.ascanet.com.mx

float port 1195 dev tun0 persist-tun ifconfig 10.0.2.2 10.0.2.1 comp-lzo ping 15
ping-restart 120 verb 3 secret /etc/openvpn/plutarco.txt persist-key route 192.168.1.0
255.255.255.0 log /var/log/openvpn.log }}} Como podemos ver son los mismos parámetros que
el servidor.

Comprobando Conexión

La forma de comprobar esta conexión es hacer pings entre los segmentos red
físicos. Comprobación de Oaxaca a México a una máquina cliente.

ascariote:~# ping -c 5 192.168.1.10

PING 192.168.4.10 (192.168.1.10) 56(84) bytes of data. 64 bytes from 192.168.1.10:
icmp_seq=1 ttl=127 time=39.9 ms 64 bytes from 192.168.1.10: icmp_seq=2 ttl=127 time=37.4
ms 64 bytes from 192.168.1.10: icmp_seq=3 ttl=127 time=38.6 ms 64 bytes from
192.168.1.10: icmp_seq=4 ttl=127 time=89.1 ms 64 bytes from 192.168.1.10: icmp_seq=5
ttl=127 time=110 ms — 192.168.1.10 ping statistics — 5 packets transmitted, 5
received, 0% packet loss, time 4017ms rtt min/avg/max/mdev = 37.435/63.124/110.489/30.710
ms ascariote:# }}} Comprobación de México a Veracruz a una máquina cliente.

ascariote:~# ping -c 5 192.168.3.211

PING 192.168.4.10 (192.168.1.10) 56(84) bytes of data. 64 bytes from 192.168.3.211:
icmp_seq=1 ttl=127 time=39.9 ms 64 bytes from 192.168.3.211: icmp_seq=2 ttl=127 time=37.4
ms 64 bytes from 192.168.3.211: icmp_seq=3 ttl=127 time=38.6 ms 64 bytes from
192.168.3.211: icmp_seq=4 ttl=127 time=89.1 ms 64 bytes from 192.168.3.211: icmp_seq=5
ttl=127 time=110 ms — 192.168.3.211 ping statistics — 5 packets transmitted, 5
received, 0% packet loss, time 4017ms rtt min/avg/max/mdev = 37.435/63.124/110.489/30.710
ms ascariote:# }}} Podemos hacer mas pruebas de ping entre las máquinas de las tres redes
conectadas dentro de VPN, pero también ya podremos compartir recursos dentro de estas
redes, como ejemplo: yo puedo estar en Veracruz y deseo imprimir en una impresora de
México para que se entregue algún reporte en esta cuidad.

Diagrama Net To Net

Esta es la forma en que se podría ilustrar una configuración Net To Net de
OpenVPN, teniendo las siguientes características.

  • Los equipos clientes y servidor pueden estar en lugar distantes.
  • Los equipos están conectados directamente a Intenet.
  • Pueden compartir recursos internos de cada red por medio del Túnel
    VPN.
  • Las redes que se unen al Túnel VPN sienten que están dentro de una sola
    red.

Firewall OpenVPN

Cuando usamos una VPN se recomienda configurar nuestro firewall para que
termina las conexiones hacia el túnel. Aquí ya depende del administrador del
sistema que tipo de firewall pueda usar, pero actualmente se siguen utilizando
reglas de iptables. Comenzaremos a crear las reglas para nuestro firewall por
medio de iptables. Aceptamos el trafico que entrada y salida por el protocolo
UDP por el servicio OpenVPN.

[root@test ~]# iptables -A INPUT -i ppp0 -p udp --dport 1194 -j ACCEPT 
[root@test ]# iptables -A OUTPUT -0 ppp0 -p udp --sport 1194 -j ACCEPT

En este
caso la interfaz de escucha del servicio es ppp0 pero también puede ser eth0. Permitimos la conexión desde cualquier equipo por la interfaz tun.

[root@test ~]# iptables -A INPUT -i tun+ -j ACCEPT
[root@test ]# iptables -A OUTPUT -o tun+ -j ACCEPT

Permitimos que los equipos de las otras redes accedaan a nuestra red..

[root@test ~]# iptables -A FORWARD -i tun+ -j ACCEPT
[root@test ]# iptables -A FORWARD -o tun+ -j ACCEPT

Generamos el archivo de reglas del firewall.

[root@test ~]# iptables-save > iptables

Movemos el archivo generado a /etc/sysconfig

[root@test ~]# mv iptables /etc/sysconfig

Reiniciamos el servicio de firewall.

[root@test sysconfig]# /etc/init.d/iptables restart 
Expurgar reglas del cortafuegos: [ OK ]
Configuración de cadenas a la política ACCEPT: filter [ OK ]
Descargando módulos iptables: [ OK ]
Aplicando reglas del cortafuegos iptables: [ OK ]
Cargando módulos iptables adicionales:ip_conntrack_netbios_[ OK ]
[root@test sysconfig]#

Con esto ya habremos creado el firewall para nuestro servicio de VPN.

Verificando la configuración del Firewall

La forma mas sencilla y rápida para poder checar que realmente se aplicaron
las reglas Iptables para nuestro firewall, tendremos que ejecutar el siguiente
comando.

[root@test ~]# iptables -nL | grep 1194 
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
[root@test ]#

Comentarios

Deje su comentario

Previsualización de comentario
  1. Anónimo dice: