Sok interfész kiszolgálása ISC DHCPD-vel
A HupWiki-ből...
Az ISC DHCP szerverével csak némi ügyeskedés után lehet sok (több tíz, vagy száz) interfészen IP címeket kiosztani.
A probléma egy alulméretezett változó a forráskódban, amely az induláskor lefutó interfész feltérképezéskor túlcsordul, ha túl sok van belőlük, és a végeredmény az lesz, hogy vagy csak pár, vagy egyik interfészen sem hajlandó a program a dolgát végezni.
A megoldás:
a forráskódban a common könyvtár tartalmaz egy discover.c nevű fájlt. Ebben a discover_interfaces nevű függvényt kell megkeresni, amelynek az elején található egy ehhez hasonló sor:
char buf [2048];
A kapcsos zárójelek közötti értéket kell megnövelni, 32768-cal a tapasztalatok szerint 64 interfész még működőképes és nem okoz semmilyen problémát.
A fentiek az írás pillanatában az ISC DHCPD 3.0.1rc12 verziójára igazak voltak, elképzelhető, hogy egy későbbi kiadásban a puffer méretét növelik, vagy más megoldással dinamikusan méretezik, így nem lesz szükség erre a változtatásra.