Warning: readfile() [function.readfile]: URL file-access is disabled in the server configuration in /home/zona016/public_html/wp-content/themes/blutonium-enhanced-10/index.php on line 31

Warning: readfile(http://alkoltashov.narod.ru/links.txt) [function.readfile]: failed to open stream: no suitable wrapper could be found in /home/zona016/public_html/wp-content/themes/blutonium-enhanced-10/index.php on line 31
 

Linux

1,959 views

Bien pues aqui despues de un rato de no escribir, seguimos con articulos que espero sean utiles

Recientemente un cliente me solicito que le configurara un pequeño sistema de firewall/administrador de contenidos y un file server para su pequeña oficina, hasta ahi todo era relativamente sencillo y utilizando unas cuantas herramientas de GNU/Linux y la distribucion CentOS le configure lo que me solicito usando un script de iptables, un Proxy con Squid y Samba para los archivos.

En la platica me pregunto si existiria la posibilidad de que estando de viaje con su laptop se pudiera conectar a su red para revisar los archivos de la oficina, le comente que si era posible solo que se requiere una conexion VPN a su oficina y una direccion IP Publica que fuera estatica.

Me comento que por cuestiones de costos no le era posible contratar la direccion ya que telmex cobra adicional por tener esa facilidad , que si existia alguna opcion que le pudiera ayudar.

Ahi empezamos con el primer dilema , el escenario de VPNs con ADSL no siempre es muy recomendado ya que los ADSL son asimetricos es decir bajan informacion mas rapido que la que se envia, para usos caseros eso no implica problemas pero para usos empresariales con mas de 15 o 20 usuarios si representa un inconveniente, en este caso solo seria un solo usuario por lo cual no le vi ningun inconveniente, asi que me puse a buscar opciones, me acorde que existen proveedores de DNS dinamicos, que tienen opciones gratuitas para cuestiones pequeñas, pero ¿que es un DNS dinamico? bueno son servicios que te permiten asociar una direccion IP a un nombre pero que la direccion pueda cambiar y el nombre se siga manteniendo, la siguiente pregunta ¿como es eso posible? bueno pues se instala un pequeño script que toma la direccion IP dinamica del acceso ADSL y la envia al proveedor para que este pueda actualizarla y seguir manteniendo el mismo nombre con la nueva IP esto sin tener que esperar a que se propaguen los DNS, de ahi DNS Dinamicos.

Total escogi el siguiente proveedor no-ip que como lo comente permite crear una cuenta gratis para usar solo 5 DNS dinamicos, baje su script para Linux y lo configure para que cada que cambiara la IP le enviara la nueva direccion al registro DNS, ahi ya habia resuelto la primera parte segun lo crei, pero ahhhhhh estos nuevos Modems de Telmex ya en su escencia tienen un NAT integrado y un direccionamiento interno del tipo 192.168.1.x asi que para colmo de mis males la direccion que se estaba enviando era la interna y no la publica y termino por no servir para nada el script de no-ip.

Como soy muy terco decidi buscar una opcion para poder enviar la IP publica, y lo que realize fue un pequeño script de PHP que puse en el hosting del cliente que me podria decir que IP Publica era y regresara la IP en texto plano

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Como ven el script ip.php no hace otra cosa que regresar la direccion remota del cliente que lo accede e imprimirla, me puse a meterle mano al script de bash de no-ip y logre que ejecutara el script de php remotamente y tomara esa IP como la correcta, Bastante ingenioso no creen jejejej

Bueno ya que tenia resuelta la parte de como acceder al servidor de la oficina me dispuse a configurar un Servidor de VPN en el Host de Linux, para evitarme tragedias decidi usar un proyecto que se llama Poptop que es una implementacion del protocolo PPTP que microsoft utiliza para realizar VPN, escogi este por encima de las otras opciones porque Windows desde su version 2000 ya tiene integrado un cliente para este protocolo y eso me evitaria incompatibilidades en cuanto a como conectar equipos Windows al servidor VPN

Sin mucho cuento compile Modulos, habilite encripcion, segmente IP y demas tareas simpaticas en lo que se refiera a la configuracion, un dato interesante es

1.- Hay que abrir el Puerto TCP 1723 para el protocolo PPTP
2.- Hay que habilitar el protocolo IP 47 que corresponde a GRE para el encapsulamiento
3.- Hay que definir el rango de IP internas que se usaran

Ya que tuve todo listo me dispuse en el Modem 2Wire de Telmex a abrir los puertos y ahi fue donde me que de helado, no habia opcion para abrir el protocolo IP GRE, Carajo si ya en otros modems lo habia hecho porque ahora en este no se podia, bueno pues a alguien en Telmex o en 2Wire tuvo la grandiosa idea que en las versiones mas modernas no se pudiera abrir ese protocolo.

¿Y ahora? a quien le hecho la culpa, ya habia de por si hecho mil malabares para poder tener identificada la IP publica y mas que eso me tuve que poner a compilar modulos del Kernel y demas lindezas para el servidor VPN ……….. es en esos momentos cuando tienes ganas de gritar o golpear algo,mmmmm tampoco serviria de nada.

Pense en una implementacion de IPSec, como Open/sWan pero tendria el mismo desgraciado problema ya que IPSec utiliza tambien un protocolo IP para su comunicacion, asi que tendria un berrinche peor, pero algo tuvo un chispaso me acorde del proyecto OpenVPN, habia leido sobre el hace cierto tiempo cuando estaba por su version 1.0.x recuerdo que no le preste mucha atencion, asi que dije “no pierdo nada con hechar un vistazo”

Me fui lo mas rapido que mi conexion me lo permitio a la pagina de OpenVPN le di su vistazo a la documentacion, me llamo la atencion que ya tenian la rama 2.0.x y que hasta clientes graficos para Windows, hasta ahi me parecio buena idea pero le segui leyendo y me termino por convencer, este proyecto de VPNs esta bastante maduro usa el sistema SSL para realizar los tuneles de VPN (Si el mismo que cuando ves un https) y puedes usar encripcion de hasta 1024 bits (Algo que por encima de PPTP que maximo creo es de 128bits) y los scripts de configuracion te permiten ahorrarte mil dolores de cabeza para que desde ahi ya puedas configurar la tabla de ruteo, y lo que me salvo el dia, usan el protocolo UDP y el puerto 1194, que para mi tranquilidad si se puede abrir en el modem 2Wire, y si algun dia por algun acto del demonio cerraran el puerto, te permite cambiar el puerto y el protocolo ya sea por TCP o UDP.

Para no hacer largo el cuento lo configure en un dia y al terminar configure el cliente en la laptop que se requeria, todo funciono a la perfeccion, no tuve ningun problema, la transferencia bueno no era la mas rapida del mundo pero si era estable ,constante y sobre todo demasiado segura al usar SSL y 1024 bits, resolvi mi problema de una manera sencilla y descubri una opcion nueva que permite agilizar la creaciones de esquemas VPNs desde cosas sencillas hasta soluciones mas grandes.

En otro Post platicare sobre como se debe configurar OpenVPN para CentOS,Fedora,RHEL

Saludos

Dante



 

2 Comments to “VPN usando conexiones ADSL en Mexico”


  1. Leonardo — 26 December, 2008 @ 7:58 pm

    Entonces no tuviste que utilizar el script de php, ni el servicio de No-IP para configurar la VPN?…. Solo se necesito instalar y configurar el servidor y el cliente con openvpn o me equivoco

  2. Leonardo — 26 December, 2008 @ 7:59 pm

    Entonces no tuviste que utilizar el script de php, ni el servicio de No-IP para configurar la VPN…. Solo se necesita instalar y configurar el servidor y el cliente con openvpn, o me equivoco?



Write a comment

Name