[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DHCP: máquinas que consumen dos ips



El Sun, 12 Oct 2014 21:04:33 +0200, José Miguel (sio2) escribió:

> El Sun, 12 de Oct de 2014, a las 11:45:06AM +0000, Camaleón dijo:
> 
>> En ese caso quizá te convenga repartir las IP de manera estática
>> ("fixed-
>> address") usando DHCP para evitar que haya duplicados y así te olvidas
>> del problema.
> 
> Sé que esa es una solución posible, pero me gustaría no tener que
> utilizarla.

¿Por algún motivo en particular? Dadas las restricciones que tienes con 
la asignación de las IP sería lo más lógico ¿no? :-?

>> Si los clientes Windows envían el ID ¿has pensando en configurar los
>> clientes linux para que hagan lo mismo? En "man dhclient.conf" hablan
>> de "dhcp-client-identifier", quizá te pueda servir.
> 
> Sé que puedo hacer eso. De hecho, en el mensaje al que respondes creo
> que conté que las pruebas las había hecho exclusivamente con clientes
> linux. La forma de hacer las pruebas consistió en comentar y descomentar
> la línea que hace a dhclient enviar el uid. Sin embargo, esa solución no
> vale cuando se arranca por red.

(...)

¿Tampoco vale en los clientes Windows que arrancan por red o es que sólo 
los clientes Linux tiran de PXE? Si es esto último entonces entendido :-)

>> El manual dice que la opción "deny duplicates" evita que un cliente
>> reciba leases adicionales cuando la MAC que está declarada en el host
>> es la misma. Bien, pero quizá eso no implica que mantenga o se le
>> vuelva a asignar el lease anterior, simplemente evita que reciba otro.
>> Y quizá lo haga porque primero da prioridad al ID y luego a la
>> dirección MAC cuando únicamente debería utilizar la dirección MAC para
>> evaluar quién es el cliente que solicita una nueva IP.
> 
> Tiene sentido lo que dices y es una posible explicación de por qué no
> funcionan las cosas. Para confirmarla he hecho la siguiente prueba:
> 
> 1. El rango de ips posibles, en vez de ser de una ip, es de dos:
>    la 192.168.129.66 y la .67.
> 
> 2. Primero pide el cliente con un uid (el típico de
>    1:MAC:DE:LA:TARJETA) y luego, sin que envíe al servidor noticia de
>    que ya no quiere la ip concedida, con otro distinto uid
>    (1:1:1:1:1:1:1)
> 
> Si fuera cierto lo que supones y estuviera bien configurado el servidor:
> 
> + con "allow duplicates" (o sea, sin nada) en la primera ocasión se
>   recibiría una ip (la .66, por ejemplo) y en la segunda ocasión la
>   segunda (la .67). Y ya no habría más ips disponibles.
> 
> + con "deny duplicates" en la primera ocasión se recibiría una ip (la
>   .66, por ejemplo) y en la segunda ocasión, aunque haya una ip
>   disponible no se recibiría ninguna, porque el ordenador se negaría a
>   entregar una segunda ip ya que hay vigente una concesión para la MAC
>   que está requiriendo otra (aunque el uid sea distinto).
> 
> Pues he probado, y no ocurre lo previsto: con "deny duplicates" recibo
> primero una ip (la .66) y luego la otra (la .67).
> 
> No entiendo nada.

¿Y con "deny duplicates" sigue la .66 ocupada o el servidor la ha 
liberado?

Es posible que estemos interpretando mal lo que hace esa variable o que 
nos estemos saltando algo básico, como que demos por hecho que el 
servidor esté evaluando la petición del cliente recibiendo la información 
correcta (MAC duplicadas → no más leases) cuando realmente no es así de 
ahí la importancia de los registros para que qué datos son los que le 
llegan al servidor.

>> De todas formas, revisa en registro para ver qué es lo que hace
>> exactamente
> 
> Estoy mirando /var/lib/dhcp/dhcpd.leases para comprobar todo lo que
> ocurre.

Y también en el cliente podrás obtener información jugosa (creo que esto 
va a parar al /var/log/syslog).

>> consulta también la opción "one-lease-per-client", es posible que
>> tengas que combinar ambas para que funcione.
> 
> La conocía también probé y no me funcionó. Después de leer tu mensaje,
> me releí el manual:

(...)

> No me pareció que aquí dijera nada acerca de que al cliente sólo lo
> identifique por su MAC (con lo cual es de suponer que lo identifica con
> UID), pero igualemente  hice una nueva prueba.
> 
> La otra vez que había probado lo había hecho con sólo una ip disponible
> y pensé que a lo mejor el servidor liberaba el resto de concesiones una
> vez que concedía la nueva ip. Así que me decidí a probarlo de nuevo, con
> dos ips disponibles: quizás primero concede la .66, luego la .67, pero
> libera la .66 y así sucesivamente.
> 
> Pero tampoco: se concede la .66 y luego, con uid distinto, la .67 sin
> liberar la .66. Pero esto sí tiene explicación: el uid no coincide, así
> que es otro cliente. De hecho, después de recibir la 67, pare el cliente
> sin que se coscase el servidor, me metí en la caché de concesiones,
> cambié el .67 por el .66 para que el cliente al enviar si nueva petición
> le diga al servidor que quiere la .66 y... funcionó: el servidor le dió
> la 66 e revocó la concesión de la 67.
> 
> Así que esta segunda opción no sirve en absoluto.
> 
> Quizás es que, simplemente, no se puede hacer lo que quiero. Lo que me
> tiene escamado es que el comportamiento con "deny duplicates": o no
> tengo algo bien configurado o no le veo el sentido.

Sí, está rarito.

Y buscando en Google parece que la duda es generalizada :-):

https://forums.novell.com/showthread.php/353997-DHCP-double-leases
https://forums.novell.com/showthread.php/220615-PXE-and-Windows-eating-up-
DHCP-leases

Saludos,

-- 
Camaleón


Reply to: