LINUX.ORG.RU
решено ФорумAdmin

некорректная работа dhcp сервера

 , ,


0

1

Помогите разобраться!

Имеется машина на Centos 5.11. На нем поднят dhcp сервер с таким конфигом:

authoritative; ddns-update-style ad-hoc;

shared-network DOM {

default-lease-time 600;

max-lease-time 1440;

subnet 10.12.212.0 netmask 255.255.255.240 { option routers 10.12.212.1; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.15; range 10.12.212.3 10.12.212.14; }

subnet 10.12.212.16 netmask 255.255.255.240 { option routers 10.12.212.17; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.31; range 10.12.212.18 10.12.212.30; }

subnet 10.12.212.32 netmask 255.255.255.240 { option routers 10.12.212.33; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.47; range 10.12.212.34 10.12.212.46; }

subnet 10.12.212.48 netmask 255.255.255.240 { option routers 10.12.212.49; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.63; range 10.12.212.50 10.12.212.62; }

subnet 10.12.212.64 netmask 255.255.255.240 { option routers 10.12.212.65; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.79; range 10.12.212.66 10.12.212.78; }

subnet 10.12.212.80 netmask 255.255.255.240 { option routers 10.12.212.81; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.95; range 10.12.212.82 10.12.212.94; }

subnet 10.12.212.96 netmask 255.255.255.240 { option routers 10.12.212.97; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.111; range 10.12.212.98 10.12.212.110; }

subnet 10.12.212.112 netmask 255.255.255.240 { option routers 10.12.212.113; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.127; range 10.12.212.114 10.12.212.126; }

subnet 10.12.212.128 netmask 255.255.255.240 { option routers 10.12.212.129; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.143; range 10.12.212.130 10.12.212.142; }

subnet 10.12.212.144 netmask 255.255.255.240 { option routers 10.12.212.145; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.159; range 10.12.212.146 10.12.212.158; }

subnet 10.12.212.160 netmask 255.255.255.240 { option routers 10.12.212.161; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.175; range 10.12.212.162 10.12.212.174; }

subnet 10.12.212.176 netmask 255.255.255.240 { option routers 10.12.212.177; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.191; range 10.12.212.178 10.12.212.190; }

subnet 10.12.212.192 netmask 255.255.255.240 { option routers 10.12.212.193; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.207; range 10.12.212.194 10.12.212.206; }

subnet 10.12.212.208 netmask 255.255.255.240 { option routers 10.12.212.209; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.223; range 10.12.212.210 10.12.212.222; }

subnet 10.12.212.224 netmask 255.255.255.240 { option routers 10.12.212.225; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.239; range 10.12.212.226 10.12.212.238; }

subnet 10.12.212.240 netmask 255.255.255.240 { option routers 10.12.212.241; option subnet-mask 255.255.255.240; option broadcast-address 10.12.212.255; range 10.12.212.242 10.12.212.254; } }

На интерфейсе адрес 10.12.212.2/28. Он же смотрит в сеть и слушает дхцп запросы.

24 сеть разбита на кучу 28. На каждом сегменте прописан шлюз и на нем указан ip-helper 10.12.212.2 для того, чтобы слать все запросы на сервер.

Запросы приходят, но сервер выдает адрес не из той подсети, откуда пришел запрос.

Например, я подключаюсь ноутбуком в сегмент, где шлюзом является 10.12.212.17. На сервер приходит дхцп запрос от 10.12.212.17 о том, что требуется для машины с мак ааа.аааа.аааа назначить ip адрес. Сервер выдает ему ip адрес 10.12.212.3/28!!!!

Где зарыта кошка? Подскажите в какую сторону копать?

ИМХО, для вашего случая нужно использовать dhcp option 82, иначе dhcp-сервер не узнает с какой подсети пришёл запрос.

mky ★★★★★ ()

Недонастроенный DHCP relay? На сервер DHCP должны приходить запросы с дополнительной информацией, которую конечные клиенты не указывают.

Elyas ★★★★★ ()
Ответ на: комментарий от mky

я так понимаю, эти параметры должны быть указаны на шлюзах каждого сегмента? а что необходимо указать?

GalarG ()

ip-helper - это bootprelay/dhcprelay ?

Если да, то shared-network тут лишний.

vel ★★★★★ ()

Плюсую про ненужность shared network. Опции в секции shared network в данном конфиге можно вынести в глобальное пространство.

Читаем руководство:

Все подсети, находящиеся в одной физической сети, должны быть описаны в объявлении shared-network

Ты упоминаешь «ip-helper», то есть DHCP-релей. То есть у тебя подсети находятся в РАЗНЫХ физических сетях(например в разных VLAN-ах). Значит shared network тут не нужен, даже вреден, так как ты сам даёшь DHCP-серверу некорректную установку что он может выдавать ЛЮБОЙ адрес из всех перечисленных subnet-ов общей сети.

TL;DR: Option 82, как советовали выше, тебе в принципе не нужна, просто выкоси shared network и живи счастливо.

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Спасибо за ответ. Пришел к этому же в результате опытов. Без share-network все прекрасно работает.

GalarG ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.