LibreVPN:Crear una red nueva/es

De HackLab
Saltar a: navegación, buscar

<languages/>

LibreVPN es a la vez una red y un software para generar y administrar redes libres virtuales. Esta guía tiene los pasos para que puedas crear tu propia red (y/o de paso entender cómo se creó LibreVPN?)

Requisitos

Nombre de la red

Elegí un nombre corto para la red, teniendo en cuenta que también va a ser el nombre de la interfaz virtual, por lo que no puede coincidir con alguna que ya exista. Por ejemplo, el nombre de la red LibreVPN es lvpn.


IPv4

Si vas a usar direcciones IPv4, tenés que elegir una subred que abarque todos los nodos posibles. Por ejemplo, en LibreVPN usamos 192.168.9.0/24. No son muchos nodos (~250) y la subred es muy fea, pero es el que elegimos de prueba :)

IPv6

Si vas a usar direcciones IPv6, hay tres posibilidades: no elegir una subred y dejar que los nodos se asignen direcciones IPv6 dentro de la subred privada fe80::, obtener una subred global de un proveedor (la de LibreVPN es 2001:1291:200:83ab::/64 de sixxs) y anunciarla por Router Advertisement (una especie de DHCP a nivel de IP), u obtener una subred de la misma forma y dejar que cada nodo se autoasigne una IPv6 (aleatoreamente con generate-ipv6-address).

Forkear lvpn

La herramienta de configuración lvpn viene configurada con las subredes por defecto de LibreVPN. Para cambiarlas, hay que distribuir una versión con las subredes que elegimos.

En el Makefile, las variables son SUBNET y SUBNET6.

 make SUBNET=192.168.8.0/24 SUBNET6=2002:1291:200:83ab::/64 NETWORK=otrared

En el lvpn independiente (el que se puede usar directamente desde el repo, sin instalar), hay que exportar las variables LVPN_SUBNET y LVPN_SUBNET6:

 LVPN_SUBNET=192.168.8.0/24
 LVPN_SUBNET6=2002:1291:200:83ab::/64
 NETWORK=otrared
 export LVPN_SUBNET LVPN_SUBNET6 NETWORK
 ./lvpn init

O directamente forkear el repositorio git y editar los archivos Makefile y lvpn para que contengan nuestras sudredes en lugar de las de LibreVPN.

TODO

  • Comprobar que se pueda usar lvpn sin especificar rangos de IPv6.