<h1>Openvpn How-to</h1><h2>Escenarios</h2><h3>Claves</h3><p>OpenVPN 2.x permite el uso de claves X509 PKI (usando certificados y claves privadas), o claves estáticas.</p><p>Usando claves PKI se puede hacer un servidor escalable.</p><p>Las claves estáticas solo permiten un cliente y un servidor, por lo que son usadas cuando el escenario no es muy complejo. La configuración es mucho mas simple, pero es también más limitada.<br />Solo pueden haber un cliente y un servidor, si la clave es comprometida es posible desencriptar todas las comunicaciones anteriores, la clave secreta se almacena en texto plano en ambos peers, y debe ser transportada usando un canal seguro ya existente (ej scp, sftp).</p><h3>TUN vs TAP</h3><p>TUN y TAP son drivers para adaptadores de red virtuales. Implementan dispositivos de red que son manejados enteramente por software, a diferencia de un dispositivo de red regular que existe físicamente.</p><p>TAP simula un dispositivo Ethernet que opera con tramas. TUN por otro lado simula un dispositivo que trabaja a nivel de red, con paquetes IP.</p><p>Esto significa que TAP tiene la habilidad de crear redes virtuales completas, mientras que TUN va a crear una red virtual dividida en subredes de CIDR /30 enlazadas por conecciones punto a punto.</p><h3>Bridge vs Route</h3><p>Bridging y routing son dos métodos de enlazar VPNs con otras redes.</p><p>Cuando un cliente se conecta via bridging a una red remota, se le asigna una dirección IP que es parte de la subred física remota de manera que parece que estuviera conectada localmente. Las configuraciones con bridge necesitan una herramienta específica del sistema operativo para enlazar un adaptador de red físico con uno virtual TAP. En linux se utiliza <strong>brtcl</strong>. En Windows se debe seleccionar ambos el adaptador físico y el virtual, darles click derecho y seleccionar la opción de puentear conecciones.</p><p>Cuando un cliente se conecta via routing, usa su propia subred, spearada, y se levantan rutas en ambos el cliente y el gateway remoto para que los datos puedan viajar a través de la VPN. El "cliente" no es necesariamente una sola PC, puede ser una subred de varias PCs.</p><p>Los modos bridging y routing funcionan de manera muy similar, con la mayor diferencia siendo que una VPN que use routing no transmitirá paquetes de broadcast, mientras que la VPN bridgeada si lo hará.</p><p>El modo bridge solo funciona sobre un adaptador TAP.</p><p>Las ventajas de bridgear son que los servicios que dependan de los broadcasts van a poder funcionar, como la compartición de archivos o la búsqueda de nombres de dominio en Windows, no se necesitan configurar rutas, soporta cualquier protocolo que pueda funcionar sobre ethernet regular (IPv4 ,IPv6, IPX, AppleTalk, etc.), pero es menos eficiente que routear, y su escalabilidad no es tan buena.</p><p>Routear es más eficiente y escalable, y permite modificar parametros como el MTU, pero los clientes Windows deben utilizar un servidor WINS para comunicarse en lugar de broadcast, en general todo software que dependa de broadcasts no va a "ver" a las PCs en el otro extremo de la VPN. Solamente funciona con IPv4, pero puede funcionar con IPv6 si se configura explicitamente y tiene soporte en ambas puntas.</p>