# [DHCP] quitar direccion (abierto)

## alexluna

Hola, tengo un servidor gentoo como servidor de DHCP, alguien sabe como puedo kitar una direccion asignada dinamica por el servidor a un cliente, usando algun comando o algo en especial?

----------

## i92guboj

 *alexluna wrote:*   

> Hola, tengo un servidor gentoo como servidor de DHCP, alguien sabe como puedo kitar una direccion asignada dinamica por el servidor a un cliente, usando algun comando o algo en especial?

 

No se bien a qué te refieres. Si lo que quieres es darle otra ip al cliente tan solo tienes que configurarlo (el cliente, no tu servidor dhcp) para que no coja la ip via dhcp. El servidor no puede forzar a ninguna máquina a tomar una ip. El servidor dhcp tan solo proporciona una ip que no esté ya usada a cualquier máquina que lo solicite, pero no puede forzarla unilateralmente.

----------

## kropotkin

 *i92guboj wrote:*   

>  *alexluna wrote:*   Hola, tengo un servidor gentoo como servidor de DHCP, alguien sabe como puedo kitar una direccion asignada dinamica por el servidor a un cliente, usando algun comando o algo en especial? 
> 
> No se bien a qué te refieres. Si lo que quieres es darle otra ip al cliente tan solo tienes que configurarlo (el cliente, no tu servidor dhcp) para que no coja la ip via dhcp. El servidor no puede forzar a ninguna máquina a tomar una ip. El servidor dhcp tan solo proporciona una ip que no esté ya usada a cualquier máquina que lo solicite, pero no puede forzarla unilateralmente.

 

si puede   :Wink: 

```

option domain-name-servers 192.168.1.1;

option routers 192.168.1.1;

ddns-update-style none;

authoritative;

default-lease-time 86400;

max-lease-time 172800;

subnet 192.168.1.0 netmask 255.255.255.0 {

  range 192.168.1.50 192.168.1.80;

}

host equipo {

  hardware ethernet 00:01:02:AA:BC:DE;

  fixed-address 192.168.1.100;

}

```

con eso por ejemplo si el "equipo" tiene la ip 192.168.1.20 la próxima vez que renueve dhcp tomara la 192.168.1.100

Saludos.

----------

## i92guboj

No, no puede. Si eso fuera así yo podría lanzar ataques dhcp y cambiar todas las ip del mundo a mi gusto.

La ip de una máquina es información que se guarda en esa máquina, y por tanto, se puede cambiar a gusto solo en esa máquina. Si yo fuerzo una ip y configuro la máquina para que no escuche a servidor dhcp alguno, no hay forma de que tú puedas cambiar la ip de forma fácil desde otra máquina, a no ser que sea usando técnicas de hacking avanzadas. Es por esto también que si tienes un proveedor de cable tienes que asignar la ip a tu tarjeta primaria configurándola para que capte una ip de forma automática, porque si fijas tú la ip entonces no puedes contactar con tu isp y por tanto no tienes acceso a internet. Si lo que dices se pudiera hacer, no habría que configurar tu tarjeta para escuchar al servidor dhcp, porque tu isp forzaría la ip, como tú comentas, y pasaría totalmente de la ip que tu hayas puesto a mano.

Eso al menos es lo que yo creo, aunque tampoco es que sea experto en el tema.

PS. Releyendo tu post me doy cuenta de que te refieres al hecho de que se puede usar siempre la misma ip para una mac determinada, eso si es posible, pero fíjate que yo estaba hablando de forzarla unilateralmente. El caso qeu tu comentas no es el mismo, porque el cliente se configura para escuchar al demonio dhcp, lo cual significa que no se efectúa de forma unilateral, sino cooperativa.

----------

## kropotkin

creo que estamos viendo el tema de maneras distintas.

por lo que entendí, el tiene una maquina con servidor de dhcp y quiere el quitar una "dirección dinámica asignada", osea, que  su servidor dhcp le entrego a un equipo la ip por ejemplo "10.0.0.20" y el quiere que esa ip se le asigne por ejemplo a otro equipo entonases quiere que cuando el equipo vuelva a renovar su ip de forma dinamica, obtenga otra ip y no la "10.0.0.20"

por supuesto que si las ip son asignadas manualmente, no existe servidor dhcp que pueda hacer algo contra eso.

----------

## kropotkin

también agrego que.

por ejemplo tu servidor de dhcp ya entrego ip a 4 equipos, las ips entregas según su mac se almacenan en este fichero, aquí un ejemplo

```

/var/lib/dhcp/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-V3.1.0-Gentoo

lease 192.168.1.100 {

  starts 6 2007/12/15 20:00:12;

  ends 0 2007/12/16 20:00:12;

  cltt 6 2007/12/15 20:00:12;

  binding state active;

  next binding state free;

  hardware ethernet 00:17:31:f8:53:7c;

}

lease 192.168.1.101 {

  starts 6 2007/12/15 20:01:12;

  ends 0 2007/12/16 20:01:12;

  cltt 6 2007/12/15 20:01:12;

  binding state active;

  next binding state free;

  hardware ethernet 00:01:02:03:04:05;

}

lease 192.168.1.102 {

  starts 6 2007/12/15 20:01:28;

  ends 0 2007/12/16 20:01:28;

  cltt 6 2007/12/15 20:01:28;

  binding state active;

  next binding state free;

  hardware ethernet 00:01:02:03:04:06;

}

lease 192.168.1.103 {

  starts 6 2007/12/15 20:01:43;

  ends 0 2007/12/16 20:01:43;

  cltt 6 2007/12/15 20:01:43;

  binding state active;

  next binding state free;

  hardware ethernet 00:01:02:03:04:07;

}

```

si quieres borrar de la cache alguno de esos equipos por ejemplo si borras al equipo con la mac 00:01:02:03:04:07 y este actualmente no esta conectado a la red, el proximo equipo que tome ip atravez de tu servidor dhcp y no este en esta lista tomara la ip finalizada en 103, si no borras esas lineas tomara la 104.

espero se entienda la idea.

también se puede forzar a que tome una ip especifica de la forma que postie más arriba.

----------

## Inodoro_Pereyra

Si como dice i92guboj dhcp es cooperativo, entonces como se las ingenia el típico cable-modem para levantar como dhcp server en primera instancia para después pasar a modo dhcp relay en donde se obtiene por fin la ip pública?

Cuando esto pasa, el dhcp del ISP envía hasta el equipo cliente algún tipo de paquete dhcp inform o simplemente el dhcp relay baja la interface lan y la sube de nuevo?

Aquel que tenga cable modem haga la prueba, desconectar el cable y renovar la dirección de IP. Le va a asignar un número de IP privado que va a cambiar automáticamente después de que el modem sincronice al reconectar el cable.

Lo he visto pasar delante de mis narices varias veces... Voy a poner a correr ethereal de por medio a ver que es lo que pasa en realidad.

Teniendo acceso al dhcp server si esto funciona así, se podría cambiarle el numero de IP al mundo!!

Como no se me ocurrió antes?   :Very Happy: 

Salud!

----------

## i92guboj

 *Inodoro_Pereyra wrote:*   

> Si como dice i92guboj dhcp es cooperativo, entonces como se las ingenia el típico cable-modem para levantar como dhcp server en primera instancia para después pasar a modo dhcp relay en donde se obtiene por fin la ip pública?
> 
> 

 

Es cooperativo en el sentido de que se necesita que la máquina cliente esté escuchando dhcp. Si le pones a tu máquina una ip fija, esta será la que tenga. Ya puede hacer el servidor dhcp lo que quiera.

El funcionamiento de dhcp es sencillo: el cliente emite un dhcp request, que no es más que un paquete con un contenido prefijado. ¡Ojo! Desde esta fase, ya vemos que se necesita la cooperación. No creo que sea tan complicado de entender. Si el cliente no está configurado para usar dhcp, no lanza el request, y si no lanza el request, entonces no hay dhcp, se ponga como se ponga el servidor. El server no puede forzar nada en ese sentido, si el cliente no coopera.

 *Quote:*   

> 
> 
> Cuando esto pasa, el dhcp del ISP envía hasta el equipo cliente algún tipo de paquete dhcp inform o simplemente el dhcp relay baja la interface lan y la sube de nuevo?
> 
> 

 

Es sencillo. Una vez el cliente lanza el dhcp request, el servidor dhcp genera una ip, según una serie de reglas. A veces se dispone de una ip pool de donde se escoge la ip a suministrar. Otras veces las ip están prefijadas, como por ejemplo en los ejemplos de los posts de arriba, que se basan en la mac de las tarjetas.

Sea como sea, una vez que se ha generado la ip, el servidor informa al cilente de que puede usar dicha ip, junto con el plazo que dura el "leasing" de dicha ip (que normalmente es renovable). En realidad, ni siquiera se puede considerar que el servidor haga nada, aparte de informar, porque técnicamente, es el cliente el que "escucha" y el que -de hecho- cambia su misma ip basándose en los datos que el servidor suministra.

El servidor en realidad no hace el trabajo, tan solo proporciona la ip para que el mismo cliente se la autoasigne. 

Tras mandar la ip, el servidor la marca como utilizada por el periodo que se haya configurado. Más tarde, cuando el cliente ya no necesite la ip, o bien se termine el plazo de leasing, el cliente emite una señal dhcprelease, y el servidor vuelve a marcar dicha ip como "no usada". Es decir, se libera la ip.

Espero que eso arroje algo de luz sobre el tema  :Razz: 

 *Quote:*   

> 
> 
> Aquel que tenga cable modem haga la prueba, desconectar el cable y renovar la dirección de IP. Le va a asignar un número de IP privado que va a cambiar automáticamente después de que el modem sincronice al reconectar el cable.
> 
> Lo he visto pasar delante de mis narices varias veces... Voy a poner a correr ethereal de por medio a ver que es lo que pasa en realidad.
> ...

 

No hay misterio alguno. Si tienes conexión de cable, el servidor dhcp es tu isp. Y tú tienes que autorizar la obtención de ip mediante dhcp. En gentoo ahcemos eso configurando el archivos /etc/conf.d/net

```

config_eth0=( "dhcp" )

```

Al definir dicha línea, ya estás aceptando que se requiere colaboración entre las dos partes. Si no fuera así, bastaría con configurar el servidor dhcp y lanzar ataques a diestro y siniestro, como ya dije más arriba.

----------

## kropotkin

 *Inodoro_Pereyra wrote:*   

> Si como dice i92guboj dhcp es cooperativo, entonces como se las ingenia el típico cable-modem para levantar como dhcp server en primera instancia para después pasar a modo dhcp relay en donde se obtiene por fin la ip pública?
> 
> Cuando esto pasa, el dhcp del ISP envía hasta el equipo cliente algún tipo de paquete dhcp inform o simplemente el dhcp relay baja la interface lan y la sube de nuevo?
> 
> Aquel que tenga cable modem haga la prueba, desconectar el cable y renovar la dirección de IP. Le va a asignar un número de IP privado que va a cambiar automáticamente después de que el modem sincronice al reconectar el cable.
> ...

 

el cablemodem primero se conecta a la red del isp y manda también una petición de dhcp (por eso es tan fácil burlar los servicios de cablemodem, es cosa de poder cambiarle la mac al cablemodem para obtener servicio), luego se le asigna una ip a este casi siempre en un rango privado, (10.x.y.z) luego de eso el cablemodem se desactiva como servidor de dhcp y al ya estar en la red del isp, las peticiones de dhcp que realice tu equipo pasaran el servidor de dhcp del isp y este te responderá,

para que el dhcp funcione "siempre" el equipo cliente debe mandar un paquete al broadcast pidiendo dhcp, el cual luego el servidor de dhcp responde tambien por broadcast con la información correspondiente, la mac al equipo al cual va asignar la ip, y los datos correspondientes.

si el equipo cliente no envía la petición no ahí nada que se pueda hacer.

----------

