EiTheL InSide ha decidido incluir una nueva sección dedicada al humor. Evidentemente, al ser un blog técnico sobre GNU/Linux, los chistes que se incluyan serán relacionados con el mundo del software libre.
miércoles, 20 de enero de 2010
Nueva sección de humor
¡Hola a todos!,
Bill Gates y su hijo
(Fuente Pillate un Linux)
lunes, 18 de enero de 2010
Crear un servidor PXE en Ubuntu.
PXE hace referencia al entorno de ejecución de prearranque (Preboot eXecution Environment). Es un entorno para arrancar e instalar el sistema operativo en ordenadores a través de una red, de manera independiente de los dispositivos de almacenamiento de datos disponibles (como discos duros) o de los sistemas operativos instalados.
PXE fue introducido como parte del framework Wired for Management por Intel y fue descrito en la especificación (version 2.1) publicada por Intel y Systemsoft el 20 de septiembre de 1999. PXE utiliza varios protocolos de red como IP, UDP, DHCP y TFTP, y conceptos como Globally Unique Identifier (GUID), Universally Unique Identifier (UUID) y Universal Network Device Interface (UNDI).
El término cliente PXE sólo se refiere al papel que la máquina juega en el proceso de arranque mediante PXE. Un cliente PXE puede ser un servidor, un ordenador de mesa, portátil o cualquier otra máquina que esté equipada con código de arranque PXE.
(fuente Wikipedia) Una de las cosas importantes a tener en cuenta cuando uno quiere instalar un sistema de arranque PXE es que PXE en si no existe, sino que es un conjunto de servicios ya existentes que configurados de manera adecuada crean un entorno o sistema de arranque. En entradas anteriores expliqué por separado dichas partes con el fin de poder explicar como se crea un sistema PXE con mayor facilidad. Los conceptos que deberíamos tener claros antes son:
- Instalar un servidor TFTP (Publicado el 11/01/2010)
- Instalar un servidor DHCP (Publicado el 21/12/2009)
Como en dichos artículos ya se explica el concepto de TFTP y DHCP y también se explica como se instalan, ahora pasaré a explicar la configuración que harán que dichos servicios actúen para crear un sistema PXE usando una imagen de Ubuntu para instalación en red:
Nos descargamos la imagen (netboot.tar.gz) con lo que queremos que nuestros clientes PXE arranquen y lo descomprimimos dentro de /var/lib/tftpboot.
Como podemos observar, nuestro servidor pxe arrancará mediante las directivas encontradas por el archivo de arranque por defecto:
cat /var/lib/tftpboot/pxelinux.cfg/default
include ubuntu-installer/i386/boot-screens/menu.cfg
default ubuntu-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0
Con esto ya tendremos preparado al servidor TFTP para servir la imagen de arranque de Ubuntu Installer.
Ahora tendremos que configurar el servidor DHCP para dotar de una IP a los nuevos clientes y le indique donde esta el servidor TFTP:
cat /etc/dhcp3/dhcpd.conf
option domain-name-servers 145.253.2.75, 193.174.32.18; default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1;next-server 192.168.0.100; }
Esto hará que automáticamente se le asigne al cliente una IP del rango 192.168.0.10 al 192.168.0.49. La puerta de enlace será la 192.168.0.1 . Todo esto pertenece a una configuración normal y básica de un servidor DHCP, si bién hemos de notar que tenemos el parámetro "filename", la cual nos dice que el cliente usará una imagen de arranque llamada pxelinux.0, que la buscará en un servidor TFTP especificado por el parámetro "next-server", que en el ejemplo es 192.168.0.100. En el caso de que no tuviéramos ningún otro servidor DHCP en nuestra red, no haria falta especificar "next-server" ya que se entenderia que el servidor TFTP esta en el mismo lugar que el servidor DHCP (osea, los dos servicios funcionando en la misma máquina y sin ningún otro servidor DHCP en la red).
Reinciamos el servidor DHCP y ya tendríamos todo configurado.
RESUMEN:
- Instalar un servidor TFTP (Publicado el 11/01/2010)
- Descargar Netboot y descomprimirlo en el espacio del servidor TFTP
- Instalar un servidor DHCP (Publicado el 21/12/2009)
- Configurar el DHCP para arrancar con imágen.
lunes, 11 de enero de 2010
Instalar un servidor TFTP
TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial). Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red.
(Fuente: Wikipedia)
Para instalar el servicio TFTP bastará con realizar:
Por ejemplo, una vez hemos activado el tftp ya podemos configurarnos nuestro espacio tftp para el arranque en red:
Creamos un archivo default dentro de /var/lib/tftpboot/pxelinux.cfg/ ya que el PXE busca el archivo de configuración para el nodo que esta mirando de arrancar por este orden:
LABEL linux
KERNEL vmlinuz-2.6.31-14-generic-pae
APPEND root=/dev/nfs initrd=initrd.img-2.6.31-14-generic-pae nfsroot=192.168.0.100:/HPC/nfsroot_node2 ip dhcp rw
De esta manera arrancará el kernel vmlinuz-2.6.31-14-generic-pae y montará la raíz del sistema de archivos en NFS que esta en 192.168.1.100 en la carpeta nfsroot_node2. La IP la tomará por dhcp y será un sistema de lectura-escritura.
RFC: http://tools.ietf.org/html/rfc1350
(Fuente: Wikipedia)
Para instalar el servicio TFTP bastará con realizar:
sudo apt-get install tftpd-hpaUna vez instalado (junto a sus dependencias), ya podemos configurarlo correctamente. Lo primero que tenemos que hacer es activar el TFTP, que por defecto viene desactivado. Para ello tenemos que editar el archivo /etc/default/tftpd-hpa :
# Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Una vez hecho esto podemos usarlo para transferir archivos en red. Si lo que transeferimos es una imagen de disco, puede ser usado para arrancar en red un sistema operativo o cargar una imagen en un dispositivo para actualizar un firmware (un switch, un teléfono, etc).Por ejemplo, una vez hemos activado el tftp ya podemos configurarnos nuestro espacio tftp para el arranque en red:
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot
Aqui podemos ver que copiamos pxelinux.0 en la raíz del tftpboot ya que luego en el servidor DHCP le decimos que arranque con él. Creamos un archivo default dentro de /var/lib/tftpboot/pxelinux.cfg/ ya que el PXE busca el archivo de configuración para el nodo que esta mirando de arrancar por este orden:
/var/lib/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd
/var/lib/tftpboot/pxelinux.cfg/C000025B
/var/lib/tftpboot/pxelinux.cfg/C000025
/var/lib/tftpboot/pxelinux.cfg/C00002
/var/lib/tftpboot/pxelinux.cfg/C0000
/var/lib/tftpboot/pxelinux.cfg/C000
/var/lib/tftpboot/pxelinux.cfg/C00
/var/lib/tftpboot/pxelinux.cfg/C0
/var/lib/tftpboot/xelinux.cfg/C
/var/lib/tftpboot/pxelinux.cfg/default
En donde 01-88-99-aa-bb-cc-dd es la configuración para un nodo con esa dirección MAC y los demás archivos son para nodos con esa IP (hexadecimal). El archivo default se lee cuando no ha encontrado ninguna otra coincidencia. De esta manera, cada nodo puede disponer de su propio arranque. Así pues, primero creamos el archivo default y luego podremos renombrarlo con la MAC del nodo en cuestión: LABEL linux
KERNEL vmlinuz-2.6.31-14-generic-pae
APPEND root=/dev/nfs initrd=initrd.img-2.6.31-14-generic-pae nfsroot=192.168.0.100:/HPC/nfsroot_node2 ip dhcp rw
De esta manera arrancará el kernel vmlinuz-2.6.31-14-generic-pae y montará la raíz del sistema de archivos en NFS que esta en 192.168.1.100 en la carpeta nfsroot_node2. La IP la tomará por dhcp y será un sistema de lectura-escritura.
- label indica el sistema operativo que vamos a arrancar.
- kernel indica como se llama el fichero que contiene el kernel.
- append son una serie de parámetros que podemos pasar al kernel. En la configuración que os doy indicamos que el servidor nfs está en un servidor concreto y donde monta el directorio raíz. Otra opción podría ser cargar el directorio raíz en RAM, siempre y cuando nuestros ordenadores dispongan de los suficientes megas.
RFC: http://tools.ietf.org/html/rfc1350
jueves, 7 de enero de 2010
Autenticación SSH mediante certificado.
La idea es que podamos abrir sesiones ssh sin necesidad de introducir una contraseña. Así pues, lo que decidimos es crear un certificado y propagarlo en los nodos. De esta manera, como los nodos ya conocerán el certificado del maestro, abrirán la sesión sin preguntar por ninguna contraseña.
Crear certificado
Creamos un certificado en el nodo0 para que nos podamos identificar mediante él en los otros nodos (nodo1, nodo2, etc).
ssh-keygen -t rsa -b 2048 Veremos que en nuestra carpeta se ha creado una oculta llamada .ssh con el siguiente contenido:csi@nodo0:~/.ssh$ lsEl archivo .pub es nuestra clave pública y es la que propagaremos en todos los nodos en los que queremos ser identificados sin necesidad de contraseña.
id_rsa id_rsa.pub known_hosts
Propagar certificado en los nodos Una vez tenemos nuestro certificado creado, lo que tenemos que hacer es propagarlo por los nodos. Para ello usaremos la instrucción ssh-copy-id que lo que hace es copiar nuestro certificado via ssh en el destino especificado.
Con esto ya habremos conseguido que al conectar desde el nodo0 al nodo1 no nos pida contraseña.ssh-copy-id -i id_rsa.pub csi@nodo1
miércoles, 23 de diciembre de 2009
¡Felices Fiestas!
¡FELICES FIESTAS!
¡EiTheL Inside os desea una muy feliz Navidad y un próspero año 2010!. Que vuestros deseos se hagan realidad... Ah!!! ¡y no dejeis de pedir vuestros regalitos a los Reyes Magos!
lunes, 21 de diciembre de 2009
Instalar un servidor DHCP en Ubuntu 9.10
DHCP (sigla en inglés de Dynamic Host Configuration Protocol - Protocolo Configuración Dinámica de Servidor) es un protocolo de red que permite a los nodos 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.es)
En todas las empresas suelen haber servidores DHCP y resulta tremendamente sencillo instalarlo en un servidor GNU/Linux. Éste blog suele poner todos sus ejemplos para la instalación bajo la distribución Ubuntu, si bien la manera de configurar los servicios es extensible a otras distribuciones.
Para instalar un servidor DHCP por linea de comandos haremos:
sudo apt-get install dhcp3-server
Esto instalará también los paquetes que sean dependecia. También podemos realizar este proceso gráficamente con la herramienta Synaptic.
Una vez instalado el servidor, sólo nos quedará configurarlo para que sirva el rango de ips a los PC's de la red que se lo pidan. Esto se hace en el archivo /etc/dhcp3/dhcpd.conf . En el propio archivo tenemos muchos ejemplos comentados de como configurar nuestro servidor DHCP, si bien éste ejemplo a continuación podría ser uno habitual:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.254; option routers 192.168.0.1; #substitute the DNS addresses of your own Internet Service Provider (ISP) option domain-name-servers primario.dns.del.isp, secondario.dns.del.isp; }
Con esta configuración básica habremos creado un servidor DHCP que sirva IP's en el rango 192.168.0.100 al 192.168.0.254, asignándole el router 192.168.0.1 y dos servidores DNS (primario.dns.del.isp y secondario.dns.del.isp), que corresponderian por ejemplo con los DNS que tu proveedor de ADSL te ha suministrado.
¿Podemos hacer más cosas?. Por supuesto. Podemos decirle también que un ordenador en cuestión siempre tenga la misma IP (por ejemplo). Este seria un ejemplo que se podria añadir a la anterior configuración:
host laser-printer-lex1 {
hardware ethernet 08:00:2b:4c:a3:82;
fixed-address 192.168.0.120;
}En el ejemplo anterior, tenemos una impresora de red (podria ser un ordenador también) en donde especificando su dirección MAC de la tarjeta de red (08:00:2b:4c:a3:82) le asigna la IP 192.168.0.120.
¿Fácil verdad?. Hay muchas más posibilidades según las necesidades que tengamos que hacer si bién los ejemplos anteriores son los más comúnmente usados.
Enlaces:
https://www.isc.org/software/bind
Suscribirse a:
Entradas (Atom)
That u don't know what you've got 'til it's gone






