En cada segmento de red debe existir sólo un servidor DHCP. En una red casera, el router ADSL funciona, generalmente, como servidor DHCP. Si este es el caso, debe desconectarse el servicio DHCP en el router antes de iniciar el servicio en nuestro sistema.
root@server:~# apt-get install isc-dhcp-server
El servicio DHCP sólo debe estar disponible para la red interna. Por eso, debe aceptar conexiones por la interfaz interna (eth0, en este caso). Esto puede indicarse en el archivo de configuración/etc/default/isc-dhcp-server:
# Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0"
La parte principal de la configuración está contenida en el archivo /etc/dhcp/dhcpd.conf.
En este archivo se indica el nombre del dominio (option domain-name “home.lan”;), las direcciones de los servidores DNS (option domain-name-servers 192.168.1.100, 192.168.1.1;).
También se puede definir la duración normal y máxima de atribución de la dirección IP atribuida (default-lease-time 600; max-lease-time 7200;). El cliente podrá pedir siempre una nueva atribución antes de que expire la actual, pudiendo recibir o no la misma dirección IP.
Finalmente, debe indicarse cuál es el rango de direcciones disponibles para ser atribuidas en el segmento de red 192.168.1.0 (range 192.168.1.32 192.168.1.63;), cuál es la dirección del router (option routers 192.168.1.1;) y finalmente, cuál es la dirección para broadcast (option broadcast-address 192.168.1.255;)
# # Sample configuration file for ISC dhcpd for Debian # # # The ddns-updates-style parameter controls whether or not the server will # attempt to do a DNS update when a lease is confirmed. We default to the # behavior of the version 2 packages ('none', since DHCP v2 didn't # have support for DDNS.) ddns-update-style none; # option definitions common to all supported networks... option domain-name "home.lan"; option domain-name-servers 192.168.1.100, 192.168.1.1; default-lease-time 600; max-lease-time 7200; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). log-facility local7; ## SubNet home.lan subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.32 192.168.1.63; option routers 192.168.1.1; option broadcast-address 192.168.1.255; } # [...]
El protocolo DHCP atribuye direcciones específicas a determinados sistemas, asociando el número de la placa de red a la dirección pretendida. Por tanto, estas direcciones fijas no deben estar en la gama de las direcciones reservadas para la atribución dinámica.
# [...] # # Fixed IP addresses can also be specified for hosts. These addresses # should not also be listed as being available for dynamic assignment. # Hosts for which fixed IP addresses have been specified can boot using # BOOTP or DHCP. Hosts for which no fixed address is specified can only # be booted with DHCP, unless there is an address range on the subnet # to which a BOOTP client is connected which has the dynamic-bootp flag # set. host desktop { hardware ethernet 01:23:45:67:89:10; fixed-address 192.168.1.2; } host laptop { hardware ethernet 01:23:45:67:89:11; fixed-address 192.168.1.3; } # [...]
Reiniciar el servicio dhcp:
root@server:~# service isc-dhcp-server restart
En un cliente Linux, basta con instalar el paquete dhcp client. La configuración generada durante la instalación debe ser suficiente.
root@server:~# apt-get install isc-dhcp-client
En un cliente Windows, debe activarse la opción “obtener automáticamente una dirección IP”, en las propiedades TCP/IP de la interfaz de red. En una red casera, con acceso a Internet vía módem ADSL, esta opción debe, en principio, estar activada con antelación.