Jeżeli podsieci nie są podzielone VLANami, to wynik jest prawidłowy.
W wielkim uogólnieniu:
Parametr "shared-network" informuje serwer, że klienci obsługiwani przez daną kartę mogą być w dowolnej podsieci należącej do tej grupy. Więc jak przychodzi pakiet zapytania od klienta, to na samym początku serwer rzuca monetą. Jak wypadnie orzeł, to przydziela subnet 1.0, jak reszka to 2.0 a jak cthulu to 3.0.
Potem skanuje reguły host i przydziela właściwy adres z właściwej podsieci docelowej.
Wysyła odpowiedź w właściwymi danymi ale z adresem nadawcy właściwym dla rzutu monetą. Nie ma to wpływu na poprawne działanie ani DHCP ani sieci IP jako takiej.
Konkluzja:
Poprawne rozwiązanie problemu to odpalenie VLANów na switchu, podpięcie serwera trunkiem i skonfigurowanie DHCPd bez shared-network.
Dodatek #1 do konkuzji:
Kiedy masz wątpliwości, obejrzyj ruch WireSharkiem.