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

DHCP: máquinas que consumen dos ips



Un saludo a la lista:

Tengo un pequeño problema, del que creía haber hallado la solución, pero
que no me acaba de funcionar.

Resulta que hay una serie de máquinas que he metido en un rango de ips,
de manera que hay el mismo número de ips que de máquinas. Mientras cada
máquina sólo consuma una ip no hay problema.

Sin embargo, el servidor DHCP usa como criterio para decidir sin un
cliente es el mismo o no, no la MAC, sino preferentemente un
identificador que el cliente le envía. Resulta que linux de modo
predeterminado o el arranque por red no envían ningún identificador,
mientras que windows sí lo hace. La consecuencia es que estos
ordenadores pueden consumir más de una ip y se me fastidia el invento,
porque las ips se acaban.

Estuve leyendo y llegué a esto:

$ man 5 dhcpd.conf

[...]

       The duplicates keyword

        allow duplicates;
        deny duplicates;

       Host declarations can match client messages based on the DHCP
       Client Identifier option or based on the client's network
       hardware type and MAC address. If the MAC address is used, the
       host declaration will match any client with that MAC address -
       even clients with different client identifiers. This doesn't
       normally happen, but is possible when one computer has more than
       one operating system installed on it - for example, Microsoft
       Windows and NetBSD or Linux.

       The duplicates flag tells the DHCP server that if a request is
       received from a client that matches the MAC address of a host
       declaration, any other leases matching that MAC address should be
       discarded by the server, even if the UID is not the same.   This
       is a violation of the DHCP protocol,  but  can  prevent clients
       whose client identifiers change regularly from holding many
       leases at the same time. By default, duplicates are allowed.

[...]

Y creí llegar a la solución: incluyo "deny duplicates" en el fichero de
configuración y, si las máquinas están declaradas (que lo están),
recibirán siempre una ip, aunque envíen distinto uid.

Pero no me funciona. No sé si es que no he entendido algo o si me falla
algo.

La configuración pertinente para el caso la tengo así:

#v+
deny duplicates;

[...]

subnet 192.168.129.0 netmask 255.255.255.0 {
   option routers               192.168.129.1;
   option domain-name-servers   192.168.129.1;
   option domain-name           "smr2.dominio.com";
   option domain-search         "smr2.dominio.com", "dominio.com";
   option ntp-servers           time.smr2.dominio.com;
   ddns-domainname              "smr2.dominio.com";
   ddns-rev-domainname          "in-addr.arpa";
   option broadcast-address     192.168.129.255;
   option aula                 "smr2";

   zone smr2.dominio.com {
      primary 127.0.0.1;
      key "rndc-key";
   }

   zone 129.168.192.in-addr.arpa {
      primary 127.0.0.1;
      key "rndc-key";
   }

   pool {
      allow   known-clients;
      range   192.168.129.66 192.168.129.66;
   }

   pool {
      deny    known-clients;
      range   192.168.129.67 192.168.129.254;
   }

   group {
      use-host-decl-names   on;
      update-static-leases  on;

      host pc05-vlan9 {
         hardware ethernet   00:11:22:33:44:55;
         ddns-hostname       "pc05";
      }
   }
}
#v-

Si prueba a fijar un "uid" a dhclient, obtengo la 192.168.129.66, como
es de esperar. Si lo quito y vuelvo a pedir ip, ya no obtengo ninguna,
en vez de obtener la misma; muy a pesar de la cláusula "deny
duplicates". ¿Se me ha pasado algo por alto?

De antemano, gracias.

-- 
   Femmina è cosa mobil per natura.
                  --- Francisco Petrarca ---


Reply to: