Hoy vamos a montar una VPN entre dos servidores ubicados en dos CPDs distintos, para que puedan comunicarse entre ellos a través de un canal seguro. En mi caso, he usado el túnel VPN (Full TLS) para conectar dos servidores MySQL que replican los datos el uno del otro. De esta forma, los datos que se replican de la base de datos viajan por Internet a través de un canal privado y seguro.
He hecho las pruebas en el siguiente entorno:
- OpenVPN 2.3.2 x86_64-redhat-linux-gnu
Un servidor CentOS 6.4 con 512MB de RAM, instancia de RackSpace (sí, 512MB de RAM, y estamos en 2013, sí).
- Hostname: vpntest1
- IP pública: 80.80.80.81
- IP privada: 10.10.10.81
Un segundo servidor CentOS 6.4 con 512MB de RAM, instancia de RackSpace en un CPD diferente.
- Hostname: vpntest2
- IP pública: 80.80.80.82
- IP privada: 10.10.10.82
Por defecto, los servidores vienen con selinux deshabilitado, iptables parado, y no pueden hacer ping entre sí mediante sus ips privadas pero sí mediante sus ips públicas. He seguido, en mayor parte, este fantástico tutorial que han hecho los técnicos de Rackspace.
También es importante configurar ntp en ambos servidor, para que tengan la hora sincronizada.