Configuración Servidor DHCP en Ubuntu
20 Octubre, 2008

Aprovechando el feriado de hoy (feriado del cual me enteré cuando me levanté hecho mierda a bañar) me dí a la tarea de dar el primer paso para el proyecto de Redes2, el cual tenemos que entregar el Sábado.
Como había prometido, yo configuraría el Servidor DHCP en Linux… después de unos inconvenientes con la quemada del Ubuntu-server 8.04 (ya voy entendiendo pq dicen que no sé quemar) pues decidí mejor hacerlo en el Ubuntu 7.04 que es el que tengo en mi compu. La verdad fue bien sencillo, no sé porque antes me “daba miedo” usar Linux.
Con la configuración que muestro a continuación se podrá poner una computadora como servidor DHCP a través de una interfáz de red la cual llega a un Switch en el que estarán conectadas las demás computadoras.
A continuación pongo los pasos que seguí para la configuración:
Descargar el DHCP-server para ubuntu. Talvez este es el paso más complicado, ya que en Ubuntu es MUY dificil instalar un programa jajaja. Abrir una shell y escribir el siguiente comando.
$ sudo apt-get install dhcp3-server
Una vez hecho lo anterior se debería de haber creado la carpeta /etc/dhcp3/ donde esta el archivo “dhcpd.conf” al cual le vamos a meter mano para la configuración. Como decía es bien sencillo, ya que para este caso unicamente vamos a ir comentando/descomentando lineas y modificando unas cuantas IP’s. Nada del otro mundo.
Antes que todo, vamos a hacer un BackUp del “dhcpd.conf”, por eso de las cagadas
$ sudo cp -p /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.bak
Entonces, abrimos el archivo con cualquier editor de textos. En mi caso usaré nano.
$ sudo nano /etc/dhcp3/dhcpd.conf
Buscamos las siguientes líneas y las comentamos (poniendole un # al principio, como la primera línea)
# option definitions common to all supported networks…
option domain-name “example.com”;
option domain-name-servers ns1.example.com, ns2.example.com;
default-lease-time 600;
max-lease-time 7200;
Quedando así:
# option definitions common to all supported networks…
#option domain-name “example.com”;
#option domain-name-servers ns1.example.com, ns2.example.com;
#default-lease-time 600;
#max-lease-time 7200;
Para este ejemplo vamos a asignar IP’s desde la 192.168.1.50 hasta la 192.168.1.100, y la configuración de red será la siguiente:
· Dirección de Red: 192.168.1.0
· Rango IP’s a asignar: Desde 192.168.1.50 hasta 192.168.1.100
· Mascara de Subred: 255.255.255.0
· Servidor DNS: 208.67.222.222
· Dominio: ejemplo_pumilone.com
· Puerta de Enlace: 192.168.1.1
Ahora buscamos en el archivo de configuración las siguientes líneas:
# 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;
#}
# 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;
#}
Las descomentamos (quitando el # del inicio, a excepción de la primera línea) y las modificamos con los datos que queremos. Quedando así:
# A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.100;
option domain-name-servers 208.67.222.222;
option domain-name “ejemplo_pumilone.com”;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
interfaces=eth0;
}
Según leí la linea interfaces no es necesaria, pero yo por si acaso se la especifiqué, para prevenir clavos.
Una vez hecho todo lo anterior podemos probar levantar el demonio.
$ sudo /etc/init.d/dhcp3-server restart
Para ver si está levantado el demonio podemos hacerlo escribiendo en la shell lo siguiente:
$ ps ax
Con “ps ax” listamos los procesos activos del sistema. Buscamos alguno que diga dhcp3…
Si no hay errores pues nada más queda probar nuestro nuevo servidor dhcp, si se cuenta con un switch pues como explicaba al principio, conectar el switch a la interfáz de red (eth0) y en las demás interfacés del switch conectar las computadoras cliente.
Si no se cuenta con un switch pues nada mas podemos probar con una computadora, directamente de la interfáz del dhcp-server(eth0) hacia la interfáz de la computadora cliente, esto no es muy coherente ya que no podremos observar de una manera óptima el funcionamiento, pero algo es algo.
———–
Como se puede observar, la configuración de un servidor DHCP en Ubuntu es bien sencilla, es nada más de modificar una cuantas líneas de un archivo, guardar… levantar el demonio y ya! Espero que a alguien le sirva esto.
Entry Filed under: Uncategorized. .
27 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed

1.
David | 13 Noviembre, 2008 at 6:45 pm
Gracias, excelente me ayudaste con mi proyecto de redes……
2.
nano | 26 Noviembre, 2008 at 3:02 am
yo tengo una preguntilla.
tiniendo el servidor esta direccion, 138.100.2.35 /22
puede servir direcciones de otra red? por ejemplo 192.168.1.0 /24
3.
nano | 26 Noviembre, 2008 at 7:13 am
permite subredes o solo redes puras?¿
4.
Loco_Solitario | 27 Noviembre, 2008 at 11:24 am
me sale un error en la linea 57 del dhcpd.conf
dhcpd self-test failed. Please fix the config file.
The error was:
/etc/dhcp3/dhcpd.conf line 57: semicolon expected.
option domain-name
^
Configuration file errors encountered — exiting
que devo de hacer
5.
Omar Meza | 27 Noviembre, 2008 at 11:38 am
@Loco_Solitario: Por el error que te da(semicolon expected), te hace falta un punto y coma al final de la linea de arriba, es decir en la linea 56.
Recordá que con cada modificacion que le hagás al dhcp.conf tenés que arrancar de nuevo el demonio para que se cargue la nueva configuración.
suerte!
6.
Omar Meza | 27 Noviembre, 2008 at 11:54 am
@nano: Si acepta subredes, según la máscara de red que vos le asignés le das a entender si vas a trabajar con una red o con subredes.
Y con lo otro, de si se puede poner como dhcp un servidor con ip clase B y que asigne direcciones de clase C, no creo que se pueda.
7.
nano | 28 Noviembre, 2008 at 3:25 am
Gracias Omar, eso me imaginaba. Pero creo que si puede haber una manera. Asignando 2 ips a las misma tarjeta. Estoy trasteando con ello. Si funciona ya comentare algo.
Con arrancar el demonio, te refieres a reiniciar el servicio???
sudo /etc/init.d/dhcp3-server restart o hay que hacer algo mas???
8.
Loco_Solitario | 29 Noviembre, 2008 at 10:09 am
gracias omar ya logre componer el problema le tuve q agregar algunas lineas mas para que jalara de todos modos muchas gracias por tu aporte
9.
Omar Meza | 29 Noviembre, 2008 at 12:57 pm
@nano: Ok, si funciona ahi lo publicás por acá. Y si me refería a reiniciar el servicio.
@Loco_Solitario: que bien que ya lo arreglaste.
10.
nano | 1 Diciembre, 2008 at 6:06 am
como lo prometido es deuda. Para conseguir, que el servicio dhcp instalado conceda direccions IP distintas de la red del servidor, es necesario agregar dos direcciones IP a la NIC del server.
/etc/network# nano interfaces
aqui configuras las interfaces del equipo.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 138.100.2.35
netmask 255.255.252.0
gateway 138.100.1.1
#aqui ya has configurado la direccion ip de tu equipo,para agregarle una segunda direccion io a la misma interfaz.
auto eth0:0
iface eth0:0 intet static
address 192.168.100.1
netmask 255.255.255.0
para levantar la nueva interfaz ifup eth0:0
con esto ya has asociado dos ip a la misma interfaz.
por lo que al configurar el dhcpd.conf ya podras poner que el dhcp sirva un rango de direccions ip de la red 192.168.100.0
un saludo
11.
Omar Meza | 1 Diciembre, 2008 at 10:00 am
@nano: Pues hoy aprendí algo nuevo, para serte sincero no sabía que se podía asignar 2 ips a una misma interfaz. Gracias!
12.
Alexis | 27 Enero, 2009 at 12:32 pm
Como puedo arrancar por red una computadora sin disco duro, por favor les agradeceria me respondan.
13.
Omar Meza | 27 Enero, 2009 at 3:30 pm
@Alexis: Buscate en google LTSP(Linux Terminal Server Project), es un conjunto de aplicaciones para servidor en Linux.
14.
Sachenka | 13 Abril, 2009 at 4:04 pm
Soy nueva en esto , pero esto me ha servido bastante…gracias…
15. Configurando un Servidor DHCP en Ubuntu | 24 Abril, 2009 at 11:09 pm
[...] FUENTE: http://pumilone.wordpress.com/ [...]
16.
rooster | 11 Junio, 2009 at 5:25 pm
hola saludos a todos me intereso el tema que tratan y soy nuevo en linux realice los pasos que indican para arrancar el servicio de dhcp solo que despues de decargar e instalar el servicio me aparece que no se pudo iniciar y que cheque el archivo syslog a que se debera esto agradecere su aportacion, mi intencion es montar sobre una red el servicio DHCP
17.
Darwin | 19 Junio, 2009 at 1:53 pm
Hola, he hecho todos los paso y no levanta el servidor quisiera saber q pasa. LO q me muestra es lo siguiente por el terminal.
root@darwin-laptop:~# sudo /etc/init.d/dhcp3-server restart
* Stopping DHCP server dhcpd3 [fail]
* Starting DHCP server dhcpd3 * check syslog for diagnostics.
[fail]
18.
Josep | 1 Noviembre, 2009 at 6:03 pm
a mi me pasa igual pero veo q tu tuviste ese problema ase mucho segun la fecha. bueno no se si lo resolviste o alguien puede ayudar ya sigo todos los pasos y nada.
19.
luna | 26 Junio, 2009 at 11:08 am
Hola, estoy comenzando con esto y tengo un problema que cuando trato de instalar el DHCP3 me indica q no se puende encontrar el paquete dhcp3-server? cual seria la solución
20.
Omar Meza | 28 Junio, 2009 at 7:26 pm
@luna: puede que no tengas activados los repositorios. O bien que estos no esten actualizados. Para actualizar la lista pone esto en consola:
sudo apt-get update
21.
Julio | 29 Julio, 2009 at 7:20 pm
Yo quiero compartir la conexion de internet, ya tengo configurado el dhcpd.conf nada mas, el computador cliente conectado a la eth0 y el internet a la eth1, este pc cliente ya obtiene una direccion ip del servidor dhcp, pero no puedo hacer ping ni ninguna conexion al servidor dhcp, y tampoco salir a internet,
alquien me puede colaborar con este temilla?
gracias.
22.
Richard | 30 Septiembre, 2009 at 12:54 pm
esta bueno tu post pero yo no conosco mucho de esto dime por favor como hago ahora para guardar los cambios que realise puesto que cundo cierro el editor y lo vuelvo a abrir me sale lo mismo que estaba antes por favor como hago para guardar el documento editado de dhcp
23.
Omar Meza | 30 Septiembre, 2009 at 10:23 pm
@Richard: Te explico… una vez hayas modificado lo que deseas para salir presionas la combinación CTRL+X, ok, pero antes de eso tenes que guardar los cambios, eso se hace con la combinación CTRL+o.
Como mencionás, estás empezando con esto… podes usar un editor en modo grafico, se llama “gedit”. Simplemente sustituí el “nano” por un “gedit” en los comandos.
Saludos
24.
chokorox | 12 Octubre, 2009 at 10:27 am
oYE, Tengo configurado mi proxy en LINUX Debian con un DHCP3 para un solo tipo de red en este caso 192.168.0.1 y me resuelve todo tipo de conecciones para windows y linux, todo funciona a la perfecciom, el problema es que las computadoras que estan con windows se conectan a un servidor windows con otra red y es una red estatica 192.168.1.1, mi pregunta es: ¿Como configuro mi dhcp para que me resuelva este tipo de direcciones?, ¿puedo poner mas de dos subredes en el archivo de configuracion?…
25.
Omar Meza | 12 Octubre, 2009 at 10:51 am
No sé si entendí bien. Lo que decís es que tus computadoras windows necesitan dhcp pero de otra red (la .1.1) y que las otras necesitan obtener del dhcp IPs de la red .0.1
Si podés explicar un poquito mejor sería bueno
26.
saz | 13 Noviembre, 2009 at 6:22 am
oral buena onda omar si me funciono
27.
Omar Meza | 13 Noviembre, 2009 at 8:49 am
Que bueno que te haya funcionado vos calín!