Buscar en este blog

viernes, 9 de marzo de 2012

Servidor DHCP en Ubuntu Server 11.10

Un servidor de DHCP sirve para asignar IPs de forma automática a los equipos que se conectan en una red determinada.

Primero, deben asignarle una IP fija al servidor.
Deben cambiar el contenido del archivo /etc/network/interfaces

# nano -w /etc/network/interfaces
Deben haber iniciado sesion como root, para que no les dé problemas a la hora de guardar los cambios.


auto lo
iface lo inet loopback

mapping hotplug
        script grep
        map eth1

auto eth0
iface eth0 inet static
    address 192.168.0.1
    netmask 255.255.255.0


Para configurar el servidor de DHCP en Ubuntu Server 11.10, deben instalar el paquete dhcp3-server:

sudo apt-get install dhcp3-server


Les pedirá una confirmación para instalar los paquetes.

A partir de la versión 11.10 de ubuntu, el archivo de configuración dhcpd.conf cambia el directorio en donde se encuentra. En versiones anteriores se encontraba en /etc/dhcp3/, pero ahora está está en la ruta /etc/dhcp/. Ésto ha generado muchos problemas en los últimos meses. A mí me hizo perder un par de días buscando la solución, ya que el nombre del servicio también cambia.


Pueden utilizar el editor de consola nano para editar el archivo

# nano /etc/dhcp/dhcpd.conf
Deben haber iniciado sesion como root, para que no les dé problemas a la hora de guardar los cambios.

El siguiente es el contenido por defecto del archivo:

#
# Sample configuration file for ISC dhcpd for Debian
#
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
# configuration file instead of this file.
#
# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
#

# 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 "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

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;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.

#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}

# This declaration allows BOOTP clients to get dynamic addresses,

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}

# 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 fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.fugue.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}

#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#}

Si no el archivo no existe, o está vacío, no se preocupen, lo único que necesita el archivo es lo siguiente:

subnet 192.168.0.0 netmask 255.255.255.0 {
    option domain-name "example.com";#El nombre de nuestro dominio local(opcional)
    option broadcast-address 192.168.0.255;#La direccion de broadcast de la red
    option domain-name-servers 8.8.8.8, 8.8.4.4; #Servidores de DNS
    option routers 192.168.0.1;# La direccion IP de este servidor
    range 192.168.0.50 192.168.0.200; # El rango de IPs que podrá asignar este servidor
    default-lease-time: 600 #El tiempo en segundos que un cliente tendrá una IP
    max-lease-time: 7200 #El maximo tiempo que un cliente puede tener una IP
}

Como dije anteriormente, el servicio cambia de nombre. En versiones anteriores se llamaba dhpc3-server, pero ahora se llama isc-dhcp-server.

Para iniciar el servicio, ejecuten el comando:

# /etc/init.d/isc-dhcp-server start


Fuente:
http://www.xinotes.org/notes/note/1439/

No hay comentarios:

Publicar un comentario