Hola, me especializo en la exploración de horizontes que ofrecen las nuevas tecnologías de la información para su incorporación en los procesos clave y de negocio de mis clientes de una manera orgánica, transparente y sin complicaciones.
Desde el año 1997, he sido usuario y entusiasta de los movimientos del software libre, open source y/o de código abierto en donde he vivido la experiencia de vida y trabajo en comunidad.
Actualmente, te ofrezco mis servicios de capacitación y consultoría en el campo de la capacitación y el E-learning para ayudar a las organizaciones a transitar sin sobresaltos a la transformación digital de las organizaciones, así como también, puedo ayudarte a construir tu tienda en línea para para vender por Internet tus productos y servicios e incursionar así a nuevos mercados mediante prácticas de comercio electrónico y marketing digital.
Si en algún momento deseas un tip o intercambiar notas, no dudes en contactarme, me encantará platicar contigo sobre GNU/Linux, E-learning, Design Thinking, Comercio Electrónico, Marketing Digital, Capacitación, Open Source, Debian, Ubuntu, Filosofía y muchas cosas más.
Hace ya algunos años, creo que por ahí del 2003, intentando encontrar la manera de aprovechar mi “nueva” conexión a Prodigy Infinitum de 512 mb, me puse a estudiar el proceso de configuración e instalación de servidores. Mi primer experimento, fue con el IIS que viene por defecto con Windows XP Professional, pero no me gustó. Entonces, decidí migrar a Apache, MySQL y PHP ¡sobre Windows!, y lo logré. No obstante, sentía que hacía falta algo, hacía falta automatizar, y otros detalles más, por lo que experimenté con CDMon para jugar con los DNS´s por primera vez (o cuando menos, de manera más formal) y mi primer panel de control 100% Open Source para Windows: The Z Panel. El resto es historia. Aquí te comparto la fotografía del esquema de servidor web para la organización de sus recursos, requerimientos y tecnología.
Esquema de servidor web con panel de control open source o de código abierto.
Actualización 23 de mayo de 2021: Hoy en día, realizamos instalaciones a nuestros clientes de un servidor web con un panel de control completo para que puedan disponer de esa autonomía institucional en la administración de sus recursos, como la facilidad de uso y configuración de sus recursos disponibles. Por ejemplo: podemos realizar una integración completa de Google Workspace for Education (antes conocido como GSuite for Education y después como G Suite for Education) en el nombre de dominio *.edu de tu escuela, ya sea en una instancia de servidor VPS contratado en Digital Ocean o bien, utilizando una PC en desuso con GNU/Linux Debian o Ubuntu instalado tras una conexión doméstica o empresarial de Prodigy Infinitum de Telmex o TotalPlay con el propósito de que puedas disponer de:
Servidor Web Apache
Bases de datos MySQL
PHP 7.x o superior
Panel de control ISPConfig
Administración de DNS en ISPConfig o con Dynu
Servidor de correo electrónico
Acceso remoto
Aplicaciones en la nube como: Moodle, WordPress, WooCommerce, OSTicketSupport, etc.
En este tutorial, te enseñaré a realizar la configuración de un servidor proxy Squid + script de iptables.
Actualización 20210619.- Esta es una entrada de una publicación antigua en donde, para tener contexto de la época, casi todas las conexiones a sitios web se hacían mediante HTTP (80) y muy pocas sobre HTTPS (443). A pesar de ello, es muy probable que este script y archivo de configuración siga funcionando, así como también, te puede servir de base y referencia para jugar con tus propias configuraciones. KW.
Contexto
Resulta que cuando recién llegué a laborar en una organización, la misma tenía una red de aproximadamente 60 computadoras con una conexión a internet tipo ADLS de 2048 kbps (2 mbps) de bajada, y 256 de subida (0.25 mbps). Como ya imaginarán, la velocidad de conexión era lentísima, por lo cual me dí a la tarea de configurar un servidor Proxy Squid con reglas de Iptables para que pudieramos todos trabajar a gusto, bloquear algunas urls para los usuarios ociosos (juegos, pornografía, videos), etc. En fin, en ese entonces, trabajé sobre OpenSuSE 10.0 como sistema operativo y vale, ahora que tengo Internet en casa, me he configurado un servidor Proxy para mi red casera.
En fin, con todo lo anterior, pongo en sus manos una modesta configuración para Squid 2.6 STABLE5 sobre Debian 4 Etch junto con su respectivo Script de IPTables para que lo echen a andar en su casa o red. Debo mencionar que la configuración de estos servicios, podrían resultar ser no tan sencillos para el usuario novato, más sin embargo, les comentaré lo siguiente:
¿Qué es un servidor Proxy?
En el ámbito de las redes informáticas, el término proxy hace referencia a un programa o dispositivo que realiza una acción en representación de otro. La finalidad más habitual de un servidor proxy, es el de permitir el acceso a Internet a todos los equipos de una organización cuando sólo se puede disponer de un único equipo conectado, esto es, una única dirección IP.
Squid es un popular programa de software libre que implementa un servidor proxy y un demonio para caché de páginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en caché peticiones repetidas a DNS y otras búsquedas para un grupo de gente que comparte recursos de la red, hasta caché de web, además de añadir seguridad filtrando el tráfico. Está especialmente diseñado para ejecutarse bajo entornos tipo Unix.
Netfilter es un framework disponible en el núcleo Linux que permite interceptar y manipular paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es también el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux.
El componente más popular construido sobre Netfilter es iptables, una herramientas de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto ofrecía compatibilidad hacia atrás con ipchains hasta hace relativamente poco, aunque hoy día dicho soporte ya ha sido retirado al considerarse una herramienta obsoleta. El proyecto Netfilter no sólo ofrece componentes disponibles como módulos del núcleo sino que también ofrece herramientas de espacio de usuario y librerías.
Iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir políticas de filtrado del tráfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errónea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el connection tracking system o sistema de seguimiento de conexiones, o que, que permite encolar paquetes para que sean tratados desde espacio de usuario. iptables es un software disponible en prácticamente todas las distribuciones de Linux actuales.
Ahora bien, se preguntarán seguramente, ¿para qué sirve Squid + Iptables en la red de una casa, empresa u organización? Mmmm, de mucho. Intentaré explicarlo de manera sencilla:
Imaginen que tienen 20 computadoras conectadas en su red mediante un switch directamente al modem ADSL de la compañía de su preferencia (Prodigy Infinitum de Telmex, por ejemplo), y resulta que esos 20 usuarios requieren entrar a una página como Hotmail, la cual tiene un peso específico (imágenes, documentos html, animaciones, etc.) de 300 kb cada vez que se conectan a ella. Como muchos seguramente sabrán, todos los navegadores destinan una carpeta en su disco duro para almacenar información en algo que llaman “caché”, el cual es un concepto que tiene como principal objetivo, “acelerar” la descarga en el futuro, y solo para esa PC cuando accedan más adelante a la misma página Web. Así pues, bajo nuestro escenario, si tenemos 20 usuarios que entren a Hotmail al mismo tiempo, estaríamos “descargando” entre todos, 6000 kb de información (20 usuarios X 300 kb = 6,000 kb) o lo que es lo mismo, 5.8 megas de información aproximadamente. ¿Qué sucedería en esta situación? Básicamente, que la conexión se alentaría para todos aún y cuando estén bajando todos lo mismo.
Y viene aquí la magia de Squid e Iptables (no puede vivir el uno sin el otro, eh), ya que, suponiendo que hemos destinado una vieja PC para hacerla de “proxy” y/o “router” mediante un servidor DHCP (ya platicaré de él en un post posterior), y conectándole un switch de 20 puertos para esas 20 pc´s, lo que sucedería es que la primer PC de nuestra red que intente establecer una conexión a Hotmail, le enviaría la petición a nuestro proxy para que haga una consulta, en la cual éste revisaría si está “almacenada” en la caché del servidor, y en caso de no ser así, se conectaría a Internet para “descargar” todos los elementos básicos del sitio (imágenes, scripts, animaciones, etc.), con el fin de devolver “la misma respuesta” a todas las demás computadoras. En otras palabras: si una computadora ha “accedido” con anterioridad a Hotmail, habrá “descargado” seguramente a nuestro proxy esos 300 kbs de los que hablaba, evitando “saturar” nuestra con “otras conexiones” similares, ahorrándonos así 5700 kb.
Instalación de un Servidor Proxy Squid
En mi caso, tengo una PC HP Pavilion a110m con un procesador AMD Atlhon a 1.67 mhz, 512 megas de memoria RAM, dos tarjetas de red PCI y disco duro de 40 gb. Mis tarjetas de red están configuradas de la siguiente manera:
ETH0 – Tiene una IP del tipo 192.168.1.XX, y está conectada directamente a mi a mi Modem ADLS Prodigy Infinitum
ETH1 – Tiene una IP fija del tipo 192.168.0.254, la cual conecta a mi switch (y la hace de servidor DHCP en la clase 192.168.0.x) y que funciona de “puerta de enlace” a los equipos que tengo conectados.
Para instalar Squid en Debian 4 Etch, solo tienen que hacer lo siguiente:
apt-get install squid
Y ¡listo!
Solo deberán acceder a la carpeta:
/etc/squid/
Renombrar el archivo squi/d.conf y “copiar” o dejar en su lugar el mío (o el que ustedes deseen configurar manualmente).
En el caso de mi Script de Iptables, yo lo he guardado en el directorio:
/etc/init.d/fw_squid
Y le he asignado permiso de ejecutable (chmod 777 /etc/init.d/fw_squid)
Ahora, hago que se cargue al inicio, agregándolo en el nivel 3 mediante el enlace simbólico:
ln -s /etc/init.d/fw_squid /etc/rc5.d/S20fw_squid
Y listo!
Caramba, en verdad podría elaborar todo un tutorial sobre esto, pero, vale, por cuestión de tiempo me resulta un poco difícil. Sin embargo, pongo a su disposición mis archivos de configuración a fin de que puedan hacer uso de ellos; en verdad, deseo que les sirvan:
/etc/init.d/squid restart – reiniciamos el servidor proxy squid
tail -fv /var/log/squid/access.log – “miran” en tiempo real las páginas que visitan las PC´s de su red
/etc/init.d/fw_squid.sh – ejecutan el script de iptables
iptables -L -n – sirve para ver qué puertos tienen cerrados, abiertos, bloqueados, etc.
¡Hasta pronto!
PD.- Se me olvidaba. Mi script de Iptables para proxy transparente con Squid, es también una joyita que los sacará de muchos apuros. En otra entrega les platicaré más sobre él. ¡Saludos!
En 1989, Tim Berners-Lee le presentaba a su jefe en el CERN, Mike Sendall, una propuesta “vaga, pero interesante” para el desarrollo de un sistema de comunicación basado en hipertextos (HTML) y comunicación entre redes de computadoras a través de un protocolo de Internet (HTTP) con el fin de permitir a la comunidad científica del mundo, poder trabajar de manera colaborativa, compartir e intercambiar información en sus actividades de investigación, por lo que el 6 de agosto de 1991, fue puesto en funcionamiento el primer Servidor Web de la historia en el CERN, el cual fue instalado en una computadora NeXT Cube de la emprese de Steve Jobs (el fundador de Apple, quien después de su despido, se había aventurado a fundar otra compañía llamada NeXT Computer Inc.)
Este servidor Web recibió el nombre de httpd, que corresponde a las siglas de “hypertext protocol daemon”, un nombre que hoy se sigue usando en algunas distribuciones linux para lanzar el servidor web Apache como Fedora o CentOS. Como dato curioso, se puede leer aún en una pegatina sobre la carcasa que dice “THIS MACHINE IS A SERVER. DO NOT POWER IT DOWN!!”
Do not power down!
También, este año, Tim Berners-Lee publicó las especificaciones finales para la construcción de documentos HTML (HyperText Markup Language) mediante 22 elementos (en la versión 1.0), de los cuales hoy en día (en la versión 4.x), todavía son usados trece.
El desarrollo y crecimiento de las sociedades, demandan por si solas el surgimiento de nuevas tecnologías, políticas, procesos e instrumentos legales, entre otras cosas, que permitan la convivencia de sus ciudadanos. Bajo este contexto, el papel que juega la innovación en el sector público resulta determinante: innovar no es lo mismo que modernizar.
¿Qué es Innovar?
Etimológicamente, encontramos sus raíces en el término latín innovare, y cuyo significado se refiere al acto o efecto de innovar, tornarse nuevo o renovar, o introducir una novedad. Podemos decir con ello que la innovación es la aplicación de nuevas ideas, conceptos, productos, servicios y prácticas que tienen como principal objetivo, la utilidad para el incremento de la productividad. La innovación requiere necesariamente, un equilibrio entre idea e implementación.
En el campo de la modernización, podemos referir que esta práctica se encuentra determinada por procesos socio-económicos de industrialización y tecnificación en las organizaciones. Palabras como crisis económica, explotación de los recursos naturales, crisis ecológica, globalización y pensamiento único son el costo que conlleva la modernidad en las ciudades. Así pues, la gran diferencia entre innovación y modernización radica en los nuevos usos y aplicaciones para la solución de un problema que se ven implicadas en el primer concepto, y la relación de actualizaciones y adaptaciones naturales que aplican en el segundo a infraestructura o situaciones ya existentes.
¿Es posible la innovación en el sector público?
Sin duda alguna. Es bien cierto que la manera a través de la cual se innova en el sector público es muy diferente a la del sector privado ya que éste, para garantizar su posición en el mercado, sus ingresos, sus ganancias y otro tipo de beneficios en el ámbito social, depende en gran medida del grado novedad, eficacia y calidad en los productos y/o servicios que presentará al consumidor. Y esto no es fácil, ya que requiere grandes inversiones de tiempo y dinero. Así pues, el gran reto hacia el cual se enfrentan los empresarios, están orientados a sostener una dinámica de productividad y eficiencia que les permita garantizar su vigencia en los entornos económicos mundiales que se encuentran determinados por la competencia.
En este sentido, si partimos de la base de que la productividad de un país se encuentra determinada por la cantidad de recursos económicos que han sido capaces de generar los habitantes de una nación (como el producto pér cápita, por ejemplo), la gran aportación que puede hacer el sector público en materia de innovación se logra mediante su actuación como:
Proveedor de bienes y servicios públicos
Agente en la compra de bienes y servicios
Empleador de recursos humanos y de capital
Adicionalmente, podemos decir que en función de la estructura de poderes y alineación del objeto de las organizaciones y dependencias a un programa integral de desarrollo, las áreas de influencia de la administración pública se dan en el terreno:
Regulatorio
Recaudatorio
Y de la gesión del gasto
Por su propia definición, hablar de innovación en lo público implica hacer un cambio de paradigma que afecte realmente a la esencia de la actuación administrativa. La innovación demanda de un contexto que la propicie y la estimule a favor del ciudadano y de la empresa con base a tres aspectos determinantes:
Una normatividad sólida, un marco regulatorio maduro y transparente.
Una identidad única para el ciudadano, asequible a través de sistemas automatizados que actúen como órganos reguladores.
La promoción y uso de incentivos para la industria que permita actuar a las instituciones públicas como plataformas de desarrollo.
Hoy en día muchos analistas económicos ven toda innovación como el arreglo de toda crisis del capitalismo (por ejemplo, conseguir la sostenibilidad medioambiental y reparación de daños), y es el elemento central de muchas políticas para aumentar la competitividad a nivel corporativo o nacional.
La eterna discusión de si la innovación es empujada por los proveedores (basada en las nuevas posibilidades tecnológicas) o por la demanda (basada en necesidades sociales y del mercado), ha sido un asunto muy debatido. Un punto de vista es que “el reconocimiento de la demanda es un factor más frecuente en innovación que el reconocimiento del potencial técnico.” (Marquis 1969)
Las innovaciones pueden ser desarrolladas por meras modificaciones realizadas en la práctica del trabajo, por intercambios y combinaciones de experiencia profesional y de muchas otras maneras. Las innovaciones más radicales y revolucionarias suelen provenir de la Investigación y Desarrollo (I+D), mientras otras pueden emerger de la práctica, con sus respectivas excepciones a cualquiera de estas dos tendencias. En ambos casos, las innovaciones son documentadas y protegidas mediante patentes u otro esquema de propiedad intelectual. De hecho, podemos decir que el nivel de innovación de una región o país puede determinarse con base a la cantidad de patentes generadas.
La innovación no necesita ser tecnológica. Por ejemplo cuando McDonald’s aplicó el concepto de línea de producción para crear un restaurante, pudo utilizar trabajadores con poca experiencia para fabricar grandes cantidades de alimento en una calidad estándar y de forma muy rápida inventando la industria del fast food. Hoy podría haberse protegido por una patente americana del Método de Negocio aunque no se produjo ninguna novedad tecnológica.
Conclusión
“Innovación es la secuencia de actividades por las cuales un nuevo elemento es introducido en una unidad social con la intención de beneficiar la unidad, una parte de ella o a la sociedad en conjunto. El elemento no necesita ser enteramente nuevo o desconocido a los miembros de la unidad, pero debe implicar algún cambio discernible o reto en el status quo.”
En el año 2006, Apple realizó una curiosa campaña publicitaria que fue conocida como “I´m Mac, I´m PC” para diferenciar la experiencia de usuario de sus propios clientes y consumidores en el uso cotidiano de sus ordenadores que sirvió de ejemplo a la serie “I’m Linux”.
Haciendo un poco de historia, debes saber que en el año 2007, la empresa consultora de servicios para redes Novell, quien adquirió a SuSE en el 2003, lanzó una divertida parodia de la campaña de Apple bajo un conjunto de 3 comerciales que también fueron conocidos como “Mac, PC & Linux” a través de los cuales, se hacía referencia de la libertad, flexibilidad y poder sobre los recursos que tiene un usuario de sistemas operativos GNU/Linux.
En el marco de la “Academia Estatal 2008” del Instituto de Capacitación para el Trabajo del Estado de Hidalgo, se realizó una plática sobre educación y nuevas tecnologías en donde se abordó un modelo de formación en línea con énfasis para el desarrollo de competencias.
Ante la presencia de instructores y personal directivo, fue apreciable el trabajo y esfuerzos que realiza la institución en su conjunto para hacer llegar los servicios formativos a cada vez a un mayor número de personas a través del contacto que mantienen con la población día con día, así como también, del mérito que representa el poder hacer algo que permita multiplicar, compartir y hacer llegar las oportunidades de superación a las personas.
El pasado 31 de mayo, en la víspera del lanzamiento mundial de Firefox 3, el navegador Web más revolucionario de los últimos años por haber sido el actor indiscutible del renacimiento de Mozilla Corporation, tuve a bien de registrarme para el Mozilla Download Day del 17 de junio de 2008 para batir el record Guiness del software con el mayor número de descargas en 24 horas: ¡8´002,530 en un solo día!
Hoy miro sorprendido en mi e-mail un gran detallazado de parte del equipo de desarrollo:
¡Mi certificado de participación en el Download Day 2008 de Firefox 3!
Casi todos los que me conocen saben sobre mi inclinación hacia sistemas Open Source, fuente abierta o software libre, pero, vale, no deja de ser motivante, halagador y divertido que empresas mundiales como Mozilla, se tomen el tiempo suficiente para hacer partícipes y retribuir a millones de usuarios de este producto, con detalles como este.
En el momento en que redactaba este post, Mozilla Firefox 3 reportaba una cifra de descargas totales estimada en 28´447,731 en todo el planeta.
En el Computer History Museum, es un espacio que recolecta aquellos hitos, dispositivos y protipos que dan forma al bien logrado Museo de la Historia de las Computadoras ubicado en Mountain View, California, y el cual es accesible para revisar sus colecciones a través de su sitio web.
Ahí, podrán encontrar muchas cosas con relación a los productos que marcaron un hito en la historia de empresas míticas como IBM, Apple, Microsoft, Motorola, Google…
Hace algunos meses, casualmente encontré una foto de lo que fue el servidor Web de Google que Larry Page y Sergey Brin (co-fundadores y propietarios de la empresa establecida en Mountain View), mismo en el cual montaron su famoso buscador y, con ello, la tecnología PageRank: un sistema que lo que hace es buscar en los “backlinks” para encontrar e indexar información.
Llamado originalmente Backrub, al buscador le es asignado el nombre de Google (un juego de palabras que viene del número gúgol [googol] – término improvisado por el sobrino de nueve años de Edward Krasner, Milton Sirotta, en 1938, que representa el 10 elevado a la 100 – y las gafas conocidas como goggles) y comienza a funcionar en google.stanford.edu, un sitio en donde dan las primeras imágenes de los servidores austeros desde los cuales operan. Según la Wikipedia, comienzan a arreglárselas haciendo diseños similares a los de Lego.
Es impresionante lo que una buena idea puede desencadenar.
Debe estar conectado para enviar un comentario.