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
2 Comments
2,786 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



Personal
3 Comments
498 views

Bien quien fuera a decirlo el dia de hoy este pequeño blog, que nacio como un escape a mis ideas y se convirtio en una bitacora de pensamientos y tecnologia , hoy 6 de septiembre cumple 4 años de estar en linea, se que no tengo un contenido inmenso, ni tampoco el mejor de la red, pero al menos en estos cuatro años me esforze porque el contenido fuera la mayor parte original, con mi toque personal, y si no era original al menos tener el valor de mencionar el orignen de la entrada y darle credito a quien lo merece.

En este medio hice buenos amigos en la blogosfera, como el buen Andres Borbon de Tecnoculto, Compañeros de trabajo que se dan una vuelta por aqui como Omar Cobos de Deliriumlabs o el buen compadre Hector Flores de Damage Blog, el buen Stuckerboy, he tenido el gusto de ver comentarios buenos y malos en este blog, he aprendido mucho siendo bloger y compartiendo mis ideas.

Espero que Cronicas de un Desarrollador siga por muchos años mas y que poco a poco mejore mas su contenido

Saludos

Dante Robles


Como lo he dicho en muchas ocasiones soy desarrollador, especificamente en sistemas basados en Web, por lo cual la misma naturaleza de las aplicaciones me llevan a estar investigando nuevas tecnologias, ya sea la denominada Web 2.0 y sus diferentes posibilidades como Ajax, AIR, JSON, JQuery, Frameworks y diferentes Lenguajes como Phyton, Lua, PHP, C#, Java y demas.

Los navegadores son parte escencial de este tipo de sistemas, aunque la mayoria de las ocasiones intentamos hacer una aplicacion que pueda ejecutarse 100% en todos los navegadores, esto no es precisamente muy sencillo de hacer y terminamos optando por alguno en especial, en mi caso es Firefox ya que cumple muy bien con su labor.

Pero eso no me impide voltear a ver mas opciones tales como Safari, Opera y el tan odiado Internet Explorer, Google anuncio hace un par de dias que liberaria un navegador nuevo denominado “Google Chrome”, se hizo mucho eco en varios Blogs y Comunidades, respecto a que tan necesario seria un nuevo navegador y mas viniendo de la mano de Google, es bien sabido que esta empresa patrocina fuertemente a la fundacion Mozilla quien es la creadora del famoso Firefox, asi que este movimiento sonaba algo raro, los argumentos de Google fue que necesitaban algo que tuviera ya integrado parte de su tecnologia como Gears y un nuevo rediseño en la VM de Javascript que permitiera mejorar el rendimiento de ese lenguaje por la cantidad inmensa de Frameworks que explotan ese lenguaje, asi que pues el dia de hoy (2-Sep-2008) salio a disponibilidad de los usuarios de Windows la version beta de su navegador.

Google Chrome

Me dispuse a bajarlo porque realmente me confieso ser muy curioso al respecto, ya que esta empresa tiene productos realmente muy buenos, la mayoria de ellos son unos aciertos excelentes en el medio de la Web.

Mi opinion sobre la beta es realmente buena, aunque aun no he detectado ningun bug o error que inminentemente alguien si lo encontrara, me tope con un navegador sencillo, facil de manejar, con aparentemente poco consumo de memoria y una interfaz muy limpia, voy a seguir probandolo para ver como funciona.

Como no todo es color de rosa en este asunto, el primer punto que vi encontra fue que algunas de mis aplicaciones de uso interno en la empresa, funcionaron pero no todo como deberia, me tope con algunos detalles sobre el CSS y algunos de Javascript, realmente nada negativo pero no funcionaron como yo lo esperaba.

Los invito a que prueben el navegador, conociendo a Google pronto podra estar muy bien posicionado

Saludos

Dante Robles