Archivos en la categoría 'Linux'

Instalando un servidor/demonio DHCP

Viernes, Febrero 8th, 2008

La verdad es que facilita mucho conectar maquinas nuevas en red si se omite la configuración manual de las interfaces de red que se quieren conectar fijandolas a configuración automática (esto es, que piden la ip a un servidor dhcpd que tiene que estar instalado en nuestra red local)

Al no tener un router como cualquier internauta si no un servidor que haces las veces de router no tengo un formulario que me permita marcar ‘habilitar dhcpd’ en la red de area local, por lo que me toca instalar el demonio manualmanete (debian):

# apt-get install dhcp

Tan sencillo como eso. Para configurarlo hay que editar primero el archivo /etc/default/dhcp y en la opción INTERFACES (seguramente esta sea la única opción de este archivo) listaremos, separadas por espacios, las interfaces en las que queremos que funcione dhcpd. En mi caso mi servidor tiene 3 interfaces y solo hay dos opciones, o configuro un servidor dhcp para cada una de ellas o le digo a dhcp que trabaje unicamente en una o dos o X interfaces:

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. “eth0 eth1″.
INTERFACES=”eth1″

En mi servidor eth0 es la puerta a internet y eth1 es la red de area local por lo que estoy diciendo a dhcpd que trabaje solamente en mi intranet.

El siguiente y último paso es editar el /etc/dhcpd.conf para que funcione según queramos. Esta es mi configuración:

option domain-name-servers 62.42.230.24,62.42.63.52;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.230 192.168.0.254;
option broadcast-address 192.168.0.255;
option routers 192.168.0.10;
}

La primera opción son las direcciones de los servidores DNS que se otorgarán a los clientes dhcp, la segunda cuanto tiempo mínimo se tardará en renovar cada asignación, la tercera cuanto tiempo máximo se tardará en renovar cada asignación y la cuarta indica una configuración para una red concreta (que viene determinada por la dirección de red y la máscara de subred).

Dentro de esta última están las opciones range que sirve para determinar que rango de ips se usarán para asignar a los clientes, la dirección de broadcast y la dirección de puerta de enlace que se asignarán a los clientes. Las dos últimas son opcionales.

Después de todas esta configuración ya debería de arrancar el demonio dhcp:

# /etc/init.d/dhcp start
Starting DHCP server: dhcpd.

Nota: Por defecto el paquete instalador de debian no añade al arranque el demonio dhcp.

Instalando Debian en un Ordenador sin Diskketera ni CDROM ni USB

Viernes, Enero 18th, 2008

Por increible que parezca tampoco es la primera vez que me topo con esta situación por lo que paso a detallar como me las he arreglado para una futura referencia.

Primero tuve que hacer ‘bootable’ un disco duro de portatil creando al inicio de este desde un ordenador auxiliar una partición pequeña de 40Mb para instalarle ahí un grub siguiendo este artículo.

Luego gracias al amigo Nitz descubrí una solución que tiene debian para instalarse en un disco duro a través de red sin necesidad de cdrom ni nada mas que windows: una pequeña aplicación llamada debian.exe que crea un directorio llamado debian en C:\ y y que contiene dos archivos, initrd.gz (imágen de disco duro) y linux, un kernel de linux y que se añade al arranque de windows.

Estos dos archivos contituyen un mini-instalador de linux ‘netinstall’ que reconoce lo mas básico del ordenador y la red ethernet para conectarse a internet y bajarse debian tal como lo va instalando.

Cuando obtuve dichos archivos, los introduje en la partición que creé al principio y que contenía grub y configuré el menu.lst para arrancar el instalador:

title Instalador Debian
root (hd0,0) #suponiendo que sea la particion 1 del primer disco duro
kernel /linux
initrd /initrd.gz
boot

A partir de aqui, desenchufar el disco duro del ordenador auxiliar, introducirlo en el ordenador de destino (en mi caso un portatil) y al encenderlo saldrá grub que arrancará el instalador Debian netinstall.

Instalar GRUB en un disco diferente.

Viernes, Enero 18th, 2008

Me he encontrado muchas veces en la situación de tener que arreglar un disco en un ordenador que no arranca usando una livecd para reinstalar grub, o también preparando discos arrancables para otras máquinas que por un motivo u otro no podían arrancar por sí solas.

Lo primero es localizar en el disco duro que queremos hacer arrancable /boot y montar la partición que lo contenga en, por ejemplo, /mnt/hdb1.

Si vamos a hacer una instalación limpia de grub porque nuestro sistema es nuevo, porque lo hemos perdido o simplemente porque nos mudamos de lilo a grub:

# grub-install /dev/hdb –root-directory=/mnt/hdb1

El primer parámetro de grub-install es el dispositivo en donde se instalará el MBR (Master Boot Record). El segundo parámetro es el directorio en el que se instalarán los archivos de grub.

Por defecto creará una carpeta llamada boot y se instalará dentro como grub. Si la partición montada no será la raiz de nuestro SO o si en nuestro linux queremos que ‘/boot’ sea una partición independiente de raiz deberíamos de mover el contenido de /boot (grub) a la raiz de la partición:

# mv /mnt/hdb1/boot/grub /mnt/hdb1
# rm /mnt/hdb1/boot

Si ya teniamos grub instalado (por ej, si existe la carpeta /boot/grub) no hace falta que hagamos lo anteriormente descrito.

En cambio si ya teníamos grub instalado en /boot recuperaremos nuestro preciado mbr desde la consola de grub:

grub> root (hd1,0)
grub> setup (hd1)
grub> quit

El comando ‘root’ le dice a grub en donde se encuentra la carpeta que contiene los archivos de grub que anteriormente instalamos. En este caso, estaban en hdb1 (disco esclavo del primer IDE, primera partición) por lo que el equivalente en el formato que grub utiliza sería (hd1,0) donde el previo a la coma es el disco duro físico y lo que va despues de la coma es la partición. Conviene recordar que en linux las particiones comienzan por 1 siendo 1 la primera y en el formato que grub utiliza las particiones comienzan por 0 siendo 0 la primera.

El comando ’setup’ le dice a grub que instale el MBR en el disco (hd1) que viene siendo ‘hdb’ basandose en los archivos que encontrará en la raiz que le especificamos en el primer comando (device.map).

El comando ‘quit’ simplemente sale de la consola de grub.

Con esto ya tendremos instalado grub, solo queda que cada uno se edite el menu.lst a su gusto.

Nota: Para recuperar un disco que no arrancaba porque había perdido el mbr bastará con seguir solamente el paso de la consola de grub.

Red WiFi Segura: WPA+EAP-TLS+RADIUS

Miércoles, Abril 11th, 2007
Update: Actualmente hay una actualización a este manual aqui, que implementa EAP-MSCHAPv2 para autenticar clientes con usuario y contraseña sobre base de datos mysql.

Hasta hace un par de días tenía una red WiFi con cifrado WEP y controlaba los accesos a través de los logs del punto de acceso. Cada día crece el número de métodos para romper una red Wireless y crece el número de personas que lo intentan, por lo que al final me animé a cambiar el sistema.

El objetivo de este manual es montar una red WiFi segura, que empleará certificados de cliente y servidor para la autenticación, usando como servidor radius FreeRADIUS. Para ello realizaremos los siguientes pasos:

  1. Instalar FreeRADIUS
  2. Configurar el Punto de Acceso
  3. Configurar el Cliente.

La distribución que emplearé será Debian y trataremos de tirar de apt en la medida que se pueda.

El Punto de Acceso que emplearé a modo ejemplo será un DWL-2000AP+ con soporte WPA. El mio lo traia de fábrica, pero siel que vais a usar no lo tiene, probad actualizando el firmware.

El cliente que usaré, también como ejemplo, será el Mac OS X 10.4 y trataré de explicar tambien como hacerlo en Windows XP.

(más…)

Recuperar el firm original de fon.

Viernes, Enero 12th, 2007

Si no tenemos el telnet abierto y nuestra fonera no arranca, tenemos que utilizar el cable para poder flashear la fonera mediante redboot y un servidor tftp.

Tambien hay que configurar redboot con una ip local y la ip del servidor tftp de la siguiente forma:

ip_addr -h server_ip -l fonera_ip/24

Cuando tengamos montado el servidor tftp, meteremos en su carpeta los archivos rootfs y vmlinux.bin.l7 para poder descargarlos desde la fonera mediante redboot y flashearlos:

fis init
load -r -v -b 0×80040450 rootfs
fis create -b 0×80040450 -f 0xA8030000 -l 0×00700000 -e 0×00000000 rootfs
load -r -b %{FREEMEMLO} vmlinux.bin.l7
fis create -r 0×80041000 -e 0×80041000 vmlinux.bin.l7

Es importante recordar que no hay que tocar la fonera mientras se está escribiendo la flash pues es un proceso delicadoy hay que tener paciencia ya que es bastante lenta la escritura de la flash. Si fallase, siempre se puede empezar de nuevo.

Cuando haya acabado, reiniciamos la fonera y volverá a funcionar como siempre.