Está en la página 1de 16

Proyecto Final: Redes de Computadores

Tema: Análisis de una VPN

Eduardo A. Chango C.1

1 Universidad de Cuenca, Ecuador


2
andres.chango@ucuenca.edu.ec

Resumen. EL presente informe mostrará cómo se realiza un router puente con la


plataforma Raspberry Pi 3 B+ para mantener una conexión inalámbrica relativa-
mente estable, en un intento de realizar una conexión VPN, probando con un
servicio de VPN gratuito desde un servidor en Canadá, desde el sitio Open Inter-
net Access analizando las implicaciones que esto conlleva, así como lo necesario
para poder implementarlo exitosamente, aunque también los problemas que sur-
gen de ello y si existen alternativas para sobrepasarlas. Con todo también se ana-
lizarán los usos reales de las VPN. El propósito era generar una VPN en una red
local, pero no se pudo hacer el túnel entre servidor y cliente, y se mostrará pos-
teriormente el impedimento de forma más detallada.

Abstract. The current report will show how to setup a bridge router on Raspberry
Pi 3 B+ to keep a stable wireless connection, in an attempt to implement a VPN
connection from a VPN service at Canada, from the site Open Internet Access.
Analyzing the implications to do it so, what it is necessary to implement it suc-
cessfully, even the troubleshooting all along the project and if there is any possi-
bly to overcome them. Including the actual uses of a VPN. The original purpose
was to create a VPN server on a local network, going into the problems in setting
up the tunnel between client-server, and explaining the impasse with further de-
tails.

Keywords: VPN, seguridad, implicaciones

1 Introducción

La seguridad en redes siempre es tema de importancia, por lo que se abordará temas de


posibles protocolos de seguridad que pueden utilizar con VPN. Además de un intento
de realizar un servidor VPN con OpenVPN, se decidió utilizar porque es de código
abierto, además está disponible para entornos Linux como Ubuntu y Linux, y cómo se
2

comportan con otras plataformas como clientes como en Windows y Android. Además
de otras capacidades que se podría tener con estos dispositivos.

Debido a problemas que se describirán luego, se decidió crear un puente de internet


para utilizar las reglas dhcp del router en sí para compartir una conexión ethernet a
través de la tarjeta integrada de wifi, el tratar de direccionar con raspberry también se
hizo un intento, pero causaba problemas el tratar de usar un daemon para tratar de usarlo
además de varios comandos obsoletos.

Aparte se analizará otro datagrama con ip sec aucndo se trata de utilizar ciertos servicios
para ver cuáles de ellos son encriptados y cuáles no, incluyendo el tunelamiento que es
necesario para poder crear un camino para el servidor y cliente VPN.

El análisis se hará en al menos un computador y un Smartphone, conectando a un ser-


vidor VPN gratuito localizado en Canadá, en el sitio OpenInternet donde da el archivo
ovpn para conectarse a este servidor, escogiendo el que tenga el protocolo TCP, aunque
lento puede atraviesa más fácilmente firewalls y NAT. Lo último tiene también impli-
caciones para servidores que requieren Port Forwarding, en otras palabras, aquellos que
requieren direccionar el tráfico proveniente o saliente a través de uno o un grupo espe-
cífico de puertos.

2 Marco Teórico

2.1 OpenVPN
Es una forma de implementar servidores VPN y clientes con un diseño propio de código
abierto, mediante la creación de un daemon. Con la capacidad de utilizar protocolos
como SSL/TLS, como también túneles no encriptados, aunque no lo recomienda. De
cómo se necesita una dirección estática, y otras consideraciones hacia el tráfico externo
se las puede encontrar en [1].

Exiten diferentes formas, pero se necesita algunos conceptos como una red privada,
compuesta de equipos en una red local, de que tiene que existir una estructura de red
previa antes de hacer lo enlaces, la figura 1 muestra una red local con la idea de entender
cómo funciona una VPN. [1] [2]
3

Fig. 1 Red Privada [2]

Luego se establece un servidor VPN, en este caso la figura muestra un servidor Open-
VPN, que es un dispositivo computarizado conectado al router principal de la red local
para luego acceder desde internet como si se estuviese en esa red, la figura 2 es un
ejemplo. [2]

Fig. 2 Red Privada Virtual [2]


4

Hay dos tipos principales de VPN ya sean para negocios, ya sea para realizar una intra-
net, o un acceso remoto, de allí se requiere tener seguridad ya que se podría acceder a
todos los dispositivos en la red local en la que está el servidor OpenVPN. [2]

2.2 IPsec
Toda conexión VPN necesita una cabecera, una para dirección del servidor y otra para
la dirección local. La figura 3 muestra cómo se realiza una conexión desde un servidor
hasta los clientes. [3]

Fig. 3 VPN e IPsec [3]


La extensión del datagrama se le agrega algunas cosas adicionales, como un nuevo ip
header para alcanzar la locación remota. La figura 3 muestra la estructura de IPsec. [3]

Fig. 4 IPsec [3]


5

2.3 CG-NAT
Algo que surge ahora en estos días sobre todo con el agotamiento de las direcciones
ipv4, una solución son las CGNAT (Carrier Grade Network Address Translation), que
consta de varios clientes que se conectan a internet utilizando la misma dirección ip
pública, esto lo hace creando direcciones WAN privadas y asignando puertos en la ip
pública, con ello se ahorran direcciones ip públicas, la figura 5 muestra la configuración
de este tipo de conexiones. [4][5]

Fig. 5 CGNAT [4]

Dependiendo de la capacidad del servidor NAT puede tener impacto en la latencia por-
que incrementa el número de saltos a utilizar para conectarse en Internet, además de
dificultar aplicaciones que requieren direccionamiento de puertos, pero por otro lado
dificulta infiltraciones externas que se suelen hacer a ciertos puertos, pero otro tipo de
aplicaciones que no requieren de esto no hay mayor problema, dado que no soporto port
forwarding, debido a que la apertura de puertos lo controla el proveedor de internet, ya
de ese lado está la CG NAT, por lo que también permite tener otros niveles de seguridad
ya que la NAT también actúa como firewall. [5]

3 Desarrollo de la Práctica

Si se tuviese una ip pública estática o dinámica que no esté detrás de una CGNAT se
podría utilizar PiVPN para crear un servidor VPN, ya sea con OpenVPN o WireGuard,
para ello se debe revisar la ip pública a la que la red local está conectada. En este caso
6

se utilizó ipchicken, se puede utilizar cualquier otra página o cualquier comando para
ver la dirección, también para obtener otros datos a partir de esto como la localización
geográfica. Aunque también posee un servidor dchp debido a que cambia la dirección
cada mes, ya que la dirección que se muestra no es la misma con la que se inició el
proyecto, en la figura 6 se muestra un ejemplo.

Fig. 5 IPchicken

Luego con esto debemos ver la dirección ip configurada en el router, si no coincide con
la dirección anterior significa posiblemente que la conexión s internet está bajo una CG
NAT, pero no es una prueba definitiva, la figura 6 muestra la configuración paraun
router Calix.
7

Fig. 6 Configuración router

Sin embargo, la prueba definitiva es utilizar en este caso tracert a la dirección pública,
en la figura 7 se ve el primer salto al router y luego a la dirección que dice router o que
está dentro del rango del direccionamiento ipv4 del router.

Fig. 7 Tracert ip publica

La figura 7 muestra también que no llega al a dirección por lo que esto ya es un indica-
tivo de estar detrás de una CGNAT, y también que esa dirección no admite ICMP o
8

pings, por lo que solo admite tráfico a través tanto para el exterior como el interior, pero
no en la dirección en si donde está el servidor en si el proceso es transparente, el usuario
final no suele notarlo.

Luego de hacer esto, se nota que se puede utilizar OpenVPN para crear un servidor,
pero si se puede obtener para conectar a un servidor en estecaso se utilizó OpenVPN
GUI para Windows y la aplicación para Android, entonces de la página OpenInterne-
tAcces, se obtiene el archivo cliente, la figura 8 muestra dos opciones, en este caso se
utiliza la versión TCP que atraviesa más fácilmente firewalls, también hay una versión
udp si se requiere más velocidad y el firewall no es restrictivo.

.
Fig. 8 Archivos clientes

Algo que se puede hacer para comprobar que la VPN funciona, ya que la velocidad es
una de los problemas con esto servicios por eso se usaron medidores de velocidad para
comprobar primero la velocidad local y luego la velocidad con la vpn corriendo.

Fig. 9 Velocidad sin la VPN


9

Se procede a conectar un dispositivo al servidor VPN, con el cliente de OpenVPN, para


Windows y Android funciona sin inconvenientes, la figura 10 muestra una conexión
exitosa, para dispositivos Linux requiere configuración adicional además de comandos
para resolver resoluciones dns, pero de manera inestable motivo por el cual no se in-
cluyó en este informe.

Fig. 10 Conexión exitosa al servidor VPN


10

Luego utilizamos ip chicken para comprobar que la dirección ha cambiado, con la di-
rección del servidory la dirección que este asigna de este modo uno de los usao de las
vpn es ocultar la dirección ip real. Como la figura 11

Fig. 11 Análisis de protocolos.


Luego revisamos la velocidad.
11

Fig. 12 Velocidad con la VPN conectada.

Luego con wireshark como se ve en la figura 13, se pueden ver algunos protocolos en
donde se ve la dirección local y la dirección del servidor, en este caso todo se transporta
por TCP al puerto 1194, que es el puerto por defecto para OpenVPN, ya es este servidor
es un servidor OpenVPN, las velocidades se registraron utilizando en una conexión
Ethernet como en la figura 12 donde también se ve que el ping aumenta considerable-
mente, pero hay otro fenómeno que se registra que es una interfaz túnel que puede ser
TUN o TAP, en este caso es TAP-Windows Adapter V9 como se ve en la figura 14.
12

Fig. 13 Análisis en wireshark.

Fig. 14 Túnel TAP.


13

Como se observa en las figuras uno de los usos de las vpn es ocultar la dirección ip
pública con la que estamos navegando usando en este caso la del servidor. Pero otro
uso es acceder a páginas bloqueadas ya sean por el firewall o por limitaciones regiona-
les como en el caso de netflix, una serie fuera del catalago latinoamericana se puede
acceder a la informaciónxsin embargo la conexión vpn no es tan buena para streaming
desde Netflix ya que lo detecta, esta prueba se realiza en Android, más detalle en la
figura 15.

Fig. 15 Uso de vpn en Netflix.

Si se desea hacer streaming desde Netflix se requiere un mejor servicio vpn, aunque
este por supuesto es gratuito, se recomienda subcripciones de pago para poder hacer, la
elección es a conveniencia.

Para pruebas en la red universitaria se creó un puente Ethernet, que básicamente permite
extender mediante una subred una conexión Ethernet a una inlámbrica, cabe aclarar que
esto se debe hacer con lo que soporta el router, porque se utiliza la configuración dhcp
del router para asignar las direcciones ip, esto sobre una raspberry.

Luego se utilizó hostapd y bridge utilities los pasos se encuentran en [6], configurado
todo debería quedar como se muestra en la figura 16.
14

Fig. 16 Conexión al puente ethernet-wifi.

Como tal no funciona como router, por que el trabajo de asignación de ip y direccio-
namiento lo hace el router al que se lo conecta, lo que si crea una red wifi con SSID
propio y una contraseña. No se creó un router activo debido a problemas de encontrar
comandos que se mantuviesen activos al igual que un daemon. TOR tampoco se puede
configurar porque necesita crear acceso a puertos y puede alterar conexiones anteriores.

Esto solo para asegurar una cierta velocidad en los dispositivos para evitar pérdidas por
la distancia.
15

4 Conclusiones

Las VPN tienen como objetivo principal ocultar la dirección ip pública con la que se
navega, la opción es evitar que sepan desde dónde navegamos, aun así, tiene otros usos,
como ingresar a páginas bloqueadas por un firewall o ver contenido no disponible en
una locación, pero depende de la calidad del servicio para que esto se realice sin pro-
blemas como para streaming.

La velocidad de navegación depende tanto de la velocidad local como la velocidad de


servidor, como se observa el servidor tiene buenas velocidades de descarga, más para
carga de archivos no es recomendable ya que es aproximadamente 10 veces más lento
que la conexión local.

El ping también es importante ya que depende de que tan lejos este el servidor podría
causar que otros detecten que se esté usando un servicio VPN, para engañar un servidor
de streaming se requeriría varios servidores intermedios para reducir el ping y aumentar
la velocidad.

Las CGNAT son de utilidad para mitigar el efectode agotamiento de direcciones ipv4,
la solución definitiva sería utilizar direcciones ipv6, pero estas no están lo sufiente-
mente evolucionadas por ejemplo muchos servidores en el mundo aun utilizan ipv4.

Las CGNAT no permiten direccionamiento de puertos, debido a que esto lo controla la


ISP, si bien evitan que se pueda llegar a un puerto específico, si bien no evita que se
puedan manejar remotamente computadores solo que se necesita aplicaciones que pue-
dan atravesar NATs o el direccionamiento NAT, una solución para crear túneles a tra-
vés de una CGNAT, es utilizar port tunneling que permite hacer una conexión entre dos
dispositivos remotos, moviéndose entre diferentes puertos dentro de una NAT.

Para hacer port tunneling requiere hacerlo en el servidor y en el cliente, pero esto puede
ser muy demorado, además depende mucho de las plataformas en lo que se lo hace por
lo que es una alternativa que en algunos países se considera ilegal, por lo que se debe
proceder con precaución si se quiere acceder a dispositivos detrás de una NAT.

Una CGNAT es equivalente a un gran router, tiene la particularidad de que hacen pa-
recer a las direcciones públicas como estáticas, si estas son dinámicas evitan ataques
determinados a ciertos host.

Las CGNATs igual que una NAT convencional, viola el principio de punto a punto al
cmabiar las direcciones ip algunas veces, además aumentar el número de saltos para
acceder a un servicio a internet.

Si bien usualmente conexiones UDP podría ser suficientes para enviar los datagramas
usualmente son el tipo de tráfico que usualmente está bloqueado, por eso TCP se utiliza
debido a las confirmaciones y confiabilidad que posee puede atravesar firewalls.
16

Referencias
1. Reference Manual for OpenVPN 2.4 more information at: https://openvpn.net/community-
resources/reference-manual-for-openvpn-2-4/
2. What is a VPN? More information at https://openvpn.net/what-is-a-vpn/
3. James F. Kurose KWR (2015) Computer Networing A Top-Down Approach
4. Report on the Implications of Carrier Grade Network Address Translators, more information
available at https://www.ofcom.org.uk/__data/assets/pdf_file/0020/37802/cgnat.pdf
5. Qué es CGNAT y por qué se utiliza, más información en https://blog.masmovil.es/que-es-
tecnologia-cgnat-masmovil/
6. Setting up a Raspberry Pi as a Wireless Access Point, more information at https://www.rasp-
berrypi.org/documentation/configuration/wireless/access-point.md

También podría gustarte