sábado, 15 de octubre de 2011

Hacer un Servidor de Infraestructura de Red (parte I)

Hola mis estimados "leyentes" gracias por su intereses, en este articulo voy a tratar de contarles como se pone en funcionamiento un servidor de infraestructura de red.
Introducción
Este trabajo corresponde al proyecto final de una Asignatura correspondiente al 2do año de la Carrera que estoy cursando: "Laboratorio de Sistemas Operativos II", utilizando sistemas no propietarios, Es decir, GNU/Linux, me correspondió por sorteo el tema de este articulo, "servidor de infraestructura de red".
Lo primero que corresponde es saber ¿que es un servidor de infraestructura de red?
"es una computadora (usando el termino en un sentido genérico) que se coloca como pasarela entre Internet y una red interna (hogar, escuela, oficina, y un gran etc.) para que controle, organice, vigile el transito de los datos (trafico) entre Internet y la red interna.

Este servidor debe proveer los siguientes servicios.
  • DHCP
  • Cache DNS
  • Proxy
  • Control de Contenido
  • Antivirus
A continuación trataré de explicar que significan cada uno de estos servicios, los programas que los realizan y como queda la configuración final de los mismos, debo aclarar que para cumplir con este punto realicé  el trabajo en una Netbook Banghó, que tenia instalado GNU/linux Ubuntu 11.04.





Servidor DHCP:
Imagine estimado lector que tanto nuestro servidor y las PCs. establecen el siguiente dialogo:

Servidor - Yo soy la maquina que reparte numeros IP, estoy escuchando pedidos de numeros IP!
PC2 - me acabo de encender, mi placa de red tiene el numero 99aaF165cce9, que numero ip me das?
Servidor -  tu numero de IP es 10.0.5.10, si no te volvés a conectar en XX horas voy a darle ese numero a otra placa de red.
PC2 - OK. Gracias!

Bien , creo si bien el método didactico esta un poco traído de los pelos, tambien me parece que se entiende el sentido del dialogo y la función final del programa. El servicio dhcp, es el que reparte los números IP a cada computadora de la red para identificarla univocamente.

Una definición mas formal dice que :
DHCP (sigla en inglés de Dynamic Host Configuration Protocol - Protocolo de configuración dinámica de host) es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después (fuente wikipedia).
Servidor DNS:
El servicio DNS (servidor de dominios de nombre) son formas y procesos que permiten "traducir"  una direccion de Internet de una pagina web como por ejemplo "http://ovejero.dyndns.org" a una direccion ip 190.229.239.266 para lograr esto existen computadoras que funcionan como una gran "guía de teléfonos",  solo que en vez de los nombres y números de teléfonos, tenemos direcciones de Internet y números ips de correspondientes a esas direcciones.
Ahora bien cuando usted solicita acceso a una direccion web su sistema le pregunta al módem cual es el numero IP de esa direccion (URL), si no lo sabe le pregunta al servidor central, y así hasta que algún servidor de dns tiene la direccion que ud solicita y la devuelve. (resolución de nombres)
Ahora piense, que cantidad de saltos entre servidores hay que realizar ¿verdad? entonces habría que hacer 2 preguntas mas
1) ¿no es mejor indicarle la direccion de algun servidor DNS conocido e idóneo?
2) ¿No seria aun mejor si en la memoria de nuestra PC (servidor) tuviéramos una "guía" de todas las resoluciones de sitios que generalmente visitan las pc de nuestra red?(para no tener que ir a buscarla a otro servidor)

Respuestas:
1) Claro, en GNU/Linux existe un programa (entre tantos) que cumple esta funcion y se llama dnsmasq
2) claro! este proceso se llama cache dns y se puede configurar en dnsmasq

dnsmasq
este programa es uno de los indicados para cumplir con estas tareas del servidor DNS, DNS-CACHE

Servidor Proxy:
Un proxy es un programa o dispositivo que realiza una tarea acceso a Internet en lugar de otro ordenador. Un proxy es un punto intermedio entre un ordenador conectado a Internet y el servidor al que está accediendo. Cuando navegamos a través de un proxy, nosotros en realidad no estamos accediendo directamente al servidor, sino que realizamos una solicitud sobre el proxy y es éste quien se conecta con el servidor que queremos acceder y nos devuelve el resultado de la solicitud. Este servicio también se puede configurar como filtro a dominios o direcciones inconvenientes de visitar (firewall -aunque no es el uso para el cual fue diseñado), y también para acelerar la navegación por paginas mas visitadas desde la red interna y que están "cacheadas" en el servidor.
El programa que voy a usar y comentar para que mi servidor tenga Proxy: squid


En un próximo articulo. Control de Contenido

Argentina apuesta por el software libre


¡¡Este es una Buena noticia!!

El jefe de gabinete del Gobierno argentino, (Anibal fernandez)  firmó con la empresa Red Hat un convenio para impulsar el crecimiento de las herramientas de software libre en la administración pública del estado. Hasta el 60 por ciento del software utilizado por la administración estatal es software libre, según explicó Fernández.
“El 60% de los programas operativos del Estado son software de uso público, con lo cual no estamos pagando royalties por ello. Queremos reivindicar esa situación. Este software no necesita compra, no necesita licitación, porque se comienza y se desarrolla desde lo público para lo público”, indicó el jefe de gabinete argentino en la firma de un convenio con Red Hat para potenciar su uso.
“El modelo de desarrollo comunitario ha demostrado ser el más productivo a la hora de medir la velocidad de avance tecnológico, pues aporta y asegura la adhesión a estándares de la industria y la libertad de contar con el código fuente”, estimó Aníbal Fernández, explicando que la participación de Red Hat “ofrece estabilidad, certificaciones, control de calidad y soporte técnico de primer nivel y ofrece en definitiva lo mejor de los dos mundos: el beneficio y la independencia del modelo de desarrollo comunitario y el nivel de servicios que necesitan instituciones del Gobierno Nacional”.
(...)
Fuente del articulo completo

Es una gran noticia para los "SoftLibrenses" sudamericanos y argentinos, pero me surge una pregunta, ¿Verdaderamente se cumple que en las computadoras del estado (oficinas, reparticiones, etc) los empleados  operadores trabajan bajo GNU/Linux? En verdad no vi ninguno hasta ahora.
Lo que si he podido apreciar es que en las estaciones de trabajo utilizan XP y el programa es un front-end de algun servidor GNU/Linux.

viernes, 14 de octubre de 2011

¿Qué es Software Libre?



Para empezar, hay que definir algo que muchos no conocen, conocen a medias o que creen conocer , y eso es ¿que significa realmente software libre.?
Según Wikipedia (fuente) esta es la definición:
El software libre (en inglés free software, aunque esta denominación también se confunde a veces con "gratis" por la ambigüedad del término en el idioma inglés, por lo que también se usa "libre software") es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado y redistribuido libremente.
Otra definición.
Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.
Interesante ¿verdad? 
Este concepto se refiere, ni mas ni menos a que existen programas de computadoras, creados mediante y a través de normas y estándares de calidad, y que cualquier usuario tiene el derecho de usar estos programas, modificarlos según su necesidad (siempre como una mejora), compartirlo con otras personas, sin que nadie (persona, empresa o licencia) se lo impida.
Es decir, tenemos como usuarios de computadoras a nuestra disposición; programas (software) de calidad, (lo remarco para que se grabe bien en la cabeza) repito "de calidad" y que se pueden conseguir gratuitamente sin que ello implique ninguna ilegalidad, ni que se nos califique de "piratas".
Nuestras libertades como usuarios(*)
0- Libertad para ejecutar el Programa con cualquier proposito.
1- Libertad para conocer el funcionamiento del programa y adaptarlo según nuestras necesidades
3- Libertad para distribuir copias
4- Libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.
Ahora tengo que especificar un concepto sin el cual no tienen sentido las libertades y es el concepto de código fuente; que no es otra cosa que un archivo de texto que crea el programador humano con las ordenes o comandos de un determinado lenguaje de programación maso menos comprensible. Estas ordenes  luego se traducen lenguaje de la computadora para que las ejecute (proceso de compilación).
Bien, hasta aqui espero no haberte aburrido mucho estimado lector, por supuesto que detrás de este concepto existe un trasfondo filosófico muy amplio, que es interesante conocer. 
Espero que sigas leyendo el próximo articulo!
Recomendaciones
  • Si desea profundizar estos temas puede visitar estos enlaces
Historia del software libre y de código abierto
Definición y Clasificación de Software
Código Fuente
  • Ver los siguientes documentales
Código linux


(*) los programadores en general y los linuxeros en particular empezamos siempre a numerar desde 0

A modo de Presentación

Hola!! buenas y santas! Bienvenido/as a este: OTRO BLOG DE UBUNTU, LINUX Y SOFTWARE LIBRE,   no es mi intención aburrir con más de lo mismo, ni copiar (pegar) el contenido de otro blog, trataré de subir material propio, y cuando haya buen material seguramente estará citado como corresponde. Una vez un gran amigo me dijo que solo podemos hablar de lo que sabemos y cuando mas hablemos mas sabremos de ese tema.
Por ello he decidido empezar a escribir notas, artículos, recomendaciones, contando de mi experiencia diaria en el uso y abuso de este estupendo sistema operativo y también de programas de uso libre, por otro lado y como temas secundarios seguramente publicare criticas y opiniones a temas de actualidad informática /tecnológica y también muy seguramente, algunos artículos y publicaciones cómicas.