viernes, 4 de abril de 2008

Instalar DHCP

En este documento voy a tratar de explicar como instalar y configurar un servidor de dhcp en tu GNU/Linux. El servidor particular del que voy a hablar es el ISC DHCP versión 3.

1. Preliminares

Un DHCP (Dynamic Host Configuration Protocol) es un demonio que asigna direcciones IP dinámicas a equipos que se conectan a la red. Es muy útil y cómodo en redes cuyas terminales cambian día a día en miembros y número, como es el caso de las laptops que se traen y llevan al trabajo. Si se tiene una red con seis o menos equipos, no es necesario un DHCP.

2. Instalación.

a. Mediante el tarball.

Descarga la última versión:

# wget ftp://ftp.nominum.com/pub/isc/dhcp/dhcp-latest.tar.gz

Descomprímimos:

# tar -xzvf dhcp-version.tar.gz

Configuración

# cd dhcp-version

# ./configure

Compila e instala

# make

# make install <--(para este paso deberás ser root)

b. Mediante rpms (Redhat, Mandrake, Suse,...)

Descarga el paquete correspondiente dhcpd-version.rpm e instálalo

# rpm -ivh dhcpd-version.rpm

c. Mediante debs (Debian)

# apt-get install dhcp3-server

Te instalará también dhcp3-common y quizás alguna dependencia más, también te preguntará la interface donde el DHCP "escuchara" las peticiones, tipicamente es la "eth0".

3. Configuración básica.

Lo primero es asegurarnos que nuestra interface ethernet es multicast, al hacer "ifconfig -a" verá algo somo esto:

eth0 Link encap:10Mbps Ethernet HWaddr 00:C0:4F:D3:C4:62
inet addr:183.217.19.43 Bcast:183.217.19.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2875542 errors:0 dropped:0 overruns:0
TX packets:218647 errors:0 dropped:0 overruns:0
Interrupt:11 Base address:0x210

Si ve la palabra MULTICAST todo está bien, de otra manera deberá recompilar su kernel.

El fichero de configuración es dhcpd.conf. En Debian está en /etc/dhcp3/, en el resto de distribuciones puede variar su localización, para encontrarlo teclee "ifconfig / -name dhcpd.cponf".

Vamos a comentar las principales opciones de configuración.

# El nombre del dominio

option domain-name "tudominio.com";

# Los servidores de dns que ha de utilizar

option domain-name-servers 192.168.1.2, tu.isp.ns.server;

# Tiempo por defecto y máximo que se asigna una ip

default-lease-time 600;

max-lease-time 7200;

# Si el servidor es el oficial para la red

authoritative;

# Definición de una red local

subnet 192.168.1.0 netmask 255.255.255.0 {

# Rango de ips disponibles para asignación por dhcp

range 192.168.1.100 192.168.1.150;

# Gateway

option routers 192.168.1.1;

# Dirección de broadcast

option broadcast-address 192.168.1.255;

# Servidor WINS

option netbios-name-servers 192.168.1.2;

}

# Asignación de una ip fija a un ordenador concreto (se pueden poner tantas como se quiera)

host unofijo {

# Dirección MAC de la tarjeta de red.

hardware ethernet 00:D0:59:32:AF:6B;

# IP asignada

fixed-address 192.168.1.99;

}

La dirección MAC de la tarjeta de red la puedes obtener con "ifconfig" en linux o "ipconfig /all" en dos/windows

Reiniciamos:

4. Configuración de los clientes.

a. Windows. En la configuración de red -> propiedades de tcp/ip, has de seleccionar 'Obtener una dirección IP automáticamente' y 'Obtener la dirección del servidor DNS automáticamente'.

b. GNU/Linux. Has de instalar el dhcp-client/dhcpcd/pump/dhclient (según distribución). Las instrucciones son similares a las del server. Tras ello hay que configurar la tarjeta de red para que use dhcp y asegurarse de que el cliente está arrancado. No se como se hace en las demás distribuciones, pero en debian para configurar la tarjeta basta con poner en /etc/network/interfaces las siguientes líneas (suponiendo la tarjeta eth0, que es lo habitual):

auto eth0

iface eth0 inet dhcp

5. Actualización automática del dns.

Se puede configurar el servidor dhcp para que actualice automáticamente el dns con las ips que va asignando/desasignando.

Como esto requiere tocar la configuración tanto del dhcp como del dns, lo completaré en breve.

Otro ejemplo de dhcpd.conf:

server-identifier rennie.internal.lan;

default-lease-time 28800;

max-lease-time 86400;

option domain-name "internal.lan";

option domain-name-servers ns.internal.lan;

option routers 192.168.1.1;

ddns-updates on;

ddns-update-style interim;

ddns-domainname "internal.lan";

ddns-rev-domainname "in-addr.arpa";

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.100 192.168.1.200;

}

include "/etc/rndc.key";

zone internal.lan. {

primary 127.0.0.1;

key rndckey;

}

zone 1.168.192.in-addr.arpa {

primary 127.0.0.1;

key rndckey;

}

1 comentario:

Anónimo dijo...

Hello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the GPS, I hope you enjoy. The address is http://gps-brasil.blogspot.com. A hug.