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

Re: DHCP: máquinas que consumen dos ips



El Thu, 16 Oct 2014 21:35:26 +0200, José Miguel (sio2) escribió:

> El Thu, 16 de Oct de 2014, a las 06:07:37PM +0000, Camaleón dijo:
> 
>> Sí, eso está claro, pero estamos hablando de tu caso donde además
>> necesitas una configuración muy concreta y donde sí controlas los
>> clientes y puedes elegir enviar el valor que prefieras (UID o MAC). Y
>> además, puedes configurar los clientes para que envíen como UID la
>> dirección MAC.
> 
> No, no puedo, aunque controle los clientes; porque, aun habiendo en
> principio dos soluciones:
> 
> a) Hacer que todos los sistemas enviaran el mismo UID.
> b) Hacer que ningún sistema enviara el UID.
> 
> La a) no puedo hacerla porque no puedo manipular el arranque por red.
> La b) no puedo hacerla porque el cliente de windows siempre envía un UID
> y no hay forma de que no lo envíe: lo más que deja es cambiarlo, pero
> siempre envía uno.

Con la opción b) puedes decirle que envíe como UID la dirección MAC 
editando manualmente el campo desde los clientes lo que a todos los 
efectos sería como si sólo se le enviara un dato,o al menos als ervidor 
sólo le llegaría el mismo dato (UID → dirección MAC o MAC → dirección 
MAC).

>> ¿Dices que el cliente mantiene una base de datos local con la última
>> dirección que se le ha asignado y solicita esa dirección cuando tiene
>> que renovar la IP?i
> 
> 
> Sí, en /var/lib/dhcp/dhclient.nombre_interfaz.conf. El cliente le
> sugiere al servidor una ip (la última que se le concedió)

¿Seguro? Si fuerzo una petición de IP desde el cliente (dhclient -r) me 
da una IP distinta de la que aparece en el archivo "/var/lib/dhcp/
dhclient.leases" :-?

>> Pensaba que eso no dependía del cliente sino del servidor.
> 
> La concesión de la IP depende en última instancia del servidor, pero el
> cliente puede sugerirle una ip (opción 50), cuando hace la petición. Si
> no hay ningún impedimento, el servidor le hace caso, y se la entrega.

No sé qué decirte... ¿es posible que esa opción sea aplicable sólo a 
clientes que usan BOOTP?

>> Bueno, ahí estás manipulando la configuración y además sin reiniciar
>> los demonios, no es una prueba fiable.
> 
> Da igual que reinicie el demonio: la caché está en un fichero. Si lo
> reinicio, el servidor sigue recordando qué ips entregó, porque las lee
> del fichero. Para limpiar la caché del servidor DHCP hay que vaciar por
> completo ese fichero (/var/lib/dhcp/dhcpd.conf).

Pero ese archivo de leases no parece una base de datos sino un archivo de 
información que le ha enviado el servidor.

>> ¿Y no crees que si los clientes no solicitaran la renovación el
>> servidor mantendría una única IP (la primera que les ha dado) para cada
>> uno de ellos?
> 
> No creo que sea un problema de renovaciones: más bien es un problema de
> revocaciones. Me he dado cuenta de que cuando en linux se baja la
> interfaz, dhclient le dice al servidor DHCP que libere la ip, y éste lo
> hace, aunque la concesión pudiera haberse alargado más. Con los windows
> en cambio no parece que pase eso: aunque el sistema se apague, la
> concesión sigue vigente, así que si luego arranco linux la ip que se
> concedió en windows, sigue ocupada. Si windows obrara como linux, no
> habría ningún problema, salvo en el caso de que se apagara windows de
> improviso (por un corte de luz) y la petición de revocación no se
> efectura.

No sé... yo sigo pensando que si el cliente no pide otra IP al servidor 
no volverías a tener problemas porque mantendría la misma durante toda la 
sesión, salvo, efectivamente que el equipo reiniciara o recargara el 
demonio de la red y no tuviera información alguna de los leases que como 
dices más arriba, debería usar los datos de la última configuración que 
ha recibido del servidor.

>>> No sé, o hay un error en la programación o un error en la
>>> documentación.
>> Yo apuesto más por el fallo humano, que nos gustaría que se tratara de
>> un parámetro que haga lo que queremos pero que sirve para otra cosa
>> O:-)
> 
> Bueno, en ese caso es un error de documentación: se interpreta una cosa
> que no es. Además, no hay nadie (o yo no lo he visto) que diga por qué
> no funciona y cuál es la verdadera interpretación.
> 
>> Porque entonces el cliente podría estar pidiendo direcciones IP
>> distintas continuamente, primero una (192.168.0.1), luego otra
>> (192.168.0.2) y reserva la anterior, luego pide otra (192.168.0.n) y
>> aunque sigue con la primera reservada no la usa, luego pide otra y se
>> le da la reservada (192.168.0.1) y así...
> 
> No, cada vez que pidiera una ip distinta y se le concediera, se
> liberarían todas las ips que se hubieran asignado anteriormente a esa
> MAC (eso es lo que yo y muchos entendemos al leer el manual). Por tanto,
> un cliente podría haber tenido muchas ips, pero sólo habría ocupado una
> en cada momento.

Pero eso no ataca el problema de fondo que es evitar que los clientes 
pidan (u obtengan)  direcciones distintas cada vez.

Saludos,

-- 
Camaleón


Reply to: