vadislaus Posted February 24, 2013 Здравствуйте коллеги, подскажите как правильнее решить небольшую проблему: Есть DHCPd сервер для большого кол-ва абонентов, конфиг следующего вида: include "классы для абонентов сети с opt82"; shared-network{ subnet {}; subnet {}; subnet {}; subnet { host {hardware ethernet; fixed-address}; host {hardware ethernet; fixed-address}; host {hardware ethernet; fixed-address};..... } pool {allow members "класс"; range ;} pool {allow members "класс"; range ;} pool {allow members "класс"; range ;} ....... } Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host. DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Shiva Posted February 24, 2013 А зачем мак учитывать? Просто по opt 82 отдавать и всё. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted February 25, 2013 (edited) Добрый день.. vadislaus можешь помочь с мануалом по настройке с опцией 82? я на centos 6 пытаюсь поставить ни чего не выходит. Edited February 25, 2013 by maga Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted February 25, 2013 Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host. С наскока эту проблему решить не удалось. Похоже, он статически привязанные IP выдает всегда в первую очередь. Лень в сырцы заглядывать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vadislaus Posted February 25, 2013 Добрый день.. vadislaus можешь помочь с мануалом по настройке с опцией 82? я на centos 6 пытаюсь поставить ни чего не выходит. А в чем вопрос? Чаще всего проблема с неправильным разбором данных от коммутатора. Для начала проверь, добавляет ли коммутатор опцию 82 (tcpdump,wireshark). Потом попытайся получить логгирование ( if exists agent.circuit-id { log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", binary-to-ascii (10, 8, "", suffix ( option agent.circuit-id, 1)), ", vlan", binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ", binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6)))); }. Потом выясняй в какой позиции находятся нужные тебе данные (опция 82 у различных коммутаторов отличается). Пиши подробности в личку, помогу чем могу. А зачем мак учитывать? Просто по opt 82 отдавать и всё. Два сегмента сети, работаем с тем, что есть ;) С наскока эту проблему решить не удалось. Похоже, он статически привязанные IP выдает всегда в первую очередь. Лень в сырцы заглядывать. Вот этого я и опасался, надеялся, что subnetами получится разрулить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
d1m0n Posted February 27, 2013 не охота плодить тупую тему, но хочется узнать как в случае такой связки (да и вообще IPoE в целом) узнать сколько абонентов "онлайн", смотреть по lease time или есть более лучшие и правильные варианты? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vadislaus Posted February 27, 2013 не охота плодить тупую тему, но хочется узнать как в случае такой связки (да и вообще IPoE в целом) узнать сколько абонентов "онлайн", смотреть по lease time или есть более лучшие и правильные варианты? Я на брасе смотрю кол-во сессий. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted February 28, 2013 (edited) я установил isc-dhcp apt-get install isc-dhcp-server на ubuntu 21.04, (будет ли работать опция 82 при такой установке&)мне бы настроить dhcp сервера чтоб он раздавал ip по портам нескольких коммутаторов,тоесть будут несколько коммутаторов reley на которых будут подключены клиенты, как это реализовать.. я просто с опцией 82 впервые сталкиваюсь Edited February 28, 2013 by maga Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Shiva Posted February 28, 2013 Осталось дождаться весны 2021 года и проверить... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted March 1, 2013 а почему 2021 ждать? там хорошую жизнь обещали? :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Shiva Posted March 3, 2013 Просто в 2021 только выдет Ваша ОС... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
murzik_one Posted March 3, 2013 Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host. DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay. А поднять 2 DHCP сервера? Один для opt82 (патченый с отвязкой от маков) и второй стандартный без использования опций. Сменили коммутатор в старом сегменте на предмет рееля с опцией, и это пройдет не заметно... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vadislaus Posted March 6, 2013 Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host. DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay. А поднять 2 DHCP сервера? Один для opt82 (патченый с отвязкой от маков) и второй стандартный без использования опций. Сменили коммутатор в старом сегменте на предмет рееля с опцией, и это пройдет не заметно... Сейчас так и есть, хочу уйти от 4-ех DHCP серверов (по два на сегменты). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 7, 2013 Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host. DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay. А поднять 2 DHCP сервера? Один для opt82 (патченый с отвязкой от маков) и второй стандартный без использования опций. Сменили коммутатор в старом сегменте на предмет рееля с опцией, и это пройдет не заметно... Сейчас так и есть, хочу уйти от 4-ех DHCP серверов (по два на сегменты). не используйте hosts используйте конструкцию class "match_vlan__3041__port__1__MAC__d4:3d:7e:1:26:8d__switch__0:12:cf:dd:76:c5" { match if ( binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 2, 2)) = "3041" and binary-to-ascii(10, 8, "", substring(option agent.circuit-id, 5, 1)) = "1" and binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)) = "d4:3d:7e:1:26:8d" and binary-to-ascii(16, 8, ":", substring(option agent.remote-id, 2, 15)) = "0:12:cf:dd:76:c5" ); } Естественно, вырезав то что не надо. Ничто не мешает писать классы с привязкой к маку. Думаю в моем примере выше все понятно - задействованы все идентификаторы. но никто не запрещает использовать только мак. Или порт. Дальше pool { range 127.0.0.1; allow members of "match_vlan__3041__port__1__MAC__d4:3d:7e:1:26:8d__switch__0:12:cf:dd:76:c5"; default-lease-time 300; max-lease-time 300; } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted March 7, 2013 А зачем remote_id использовать? проще ip свича ИМХО. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 9, 2013 А зачем remote_id использовать? проще ip свича ИМХО. Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой ip" аотому для совместимости с ними сделал так. что именно использоват на самом делел дело десятое ... все равно все меняется из базы Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted March 9, 2013 Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой ip" аотому для совместимости с ними сделал так. А и не надо. вот как то так: # вместо MAC-а из agent.remote-id, берем IP_adress свича из пакетаclass "00:19:5b:ed:91:81:5" { match if binary-to-ascii(10, 8, ".", packet(24, 4)) ="172.31.255.6" and binary-to-ascii(10, 8, "", suffix(option agent.circuit-id, 1)) = "5"; } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 9, 2013 (edited) Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой ip" аотому для совместимости с ними сделал так. А и не надо. вот как то так: # вместо MAC-а из agent.remote-id, берем IP_adress свича из пакетаclass "00:19:5b:ed:91:81:5" { match if binary-to-ascii(10, 8, ".", packet(24, 4)) ="172.31.255.6" and binary-to-ascii(10, 8, "", suffix(option agent.circuit-id, 1)) = "5"; } Уточняю - в пакете ВСЕГДА есть адрес того кто вписал "опт 82"? В моей схеме свитч не является релем, он добавляет опцию 82 но не пересылает на сервер (сеть малая, сервер светится во всех клиентских вланах) Ага, проверил - так и есть Lease for 91.XX.XX.XX is connected to interface VLAN = 2020 Module = 0 Port= 21 MAC = 90:f6:52:XX:XX:XX Switch ID = 0:22:b0:d:XX:XX Switch IP = 0.0.0.0 log (info, concat ( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", " VLAN = ", binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 2, 2)), " Module = ", binary-to-ascii(10, 8, "", substring(option agent.circuit-id, 4, 1)), " Port= ", binary-to-ascii(10, 8, "", substring(option agent.circuit-id, 5, 1)), " MAC = ",binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)), " Switch ID = ", binary-to-ascii(16, 8, ":", substring(option agent.remote-id, 2, 15)), " Switch IP = ", binary-to-ascii(10, 8, ".", packet(24, 4)) Edited March 9, 2013 by sirmax Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted March 11, 2013 Добрый день.. vadislaus можешь помочь с мануалом по настройке с опцией 82? я на centos 6 пытаюсь поставить ни чего не выходит. А в чем вопрос? Чаще всего проблема с неправильным разбором данных от коммутатора. Для начала проверь, добавляет ли коммутатор опцию 82 (tcpdump,wireshark). Потом попытайся получить логгирование ( if exists agent.circuit-id { log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", binary-to-ascii (10, 8, "", suffix ( option agent.circuit-id, 1)), ", vlan", binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ", binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6)))); }. Потом выясняй в какой позиции находятся нужные тебе данные (опция 82 у различных коммутаторов отличается). Пиши подробности в личку, помогу чем могу. А зачем мак учитывать? Просто по opt 82 отдавать и всё. Два сегмента сети, работаем с тем, что есть ;) С наскока эту проблему решить не удалось. Похоже, он статически привязанные IP выдает всегда в первую очередь. Лень в сырцы заглядывать. Вот этого я и опасался, надеялся, что subnetами получится разрулить. Я не знаю как правильно настроить dhcp.conf файл.. вернее как ее правильно подправить.. мне уже дали настроенный коммутатор с подержкой опции 82, адрес ее 192.168.0.5 b и есть сервер c ip 192.168.0.3, установил на ubuntu 12.04 isc-dhcp-server, мне нужно было подправить сам файл dhcp.conf, как ее правильно заполнить с подершкой 82 опции, обычным способом чтоб работал я ее настроил, а вот чтоб с этой опцией ни как не получается Просто в 2021 только выдет Ваша ОС... ой я промахнулся с ос 12.04 :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 12, 2013 Добрый день.. vadislaus можешь помочь с мануалом по настройке с опцией 82? я на centos 6 пытаюсь поставить ни чего не выходит. А в чем вопрос? Чаще всего проблема с неправильным разбором данных от коммутатора. Для начала проверь, добавляет ли коммутатор опцию 82 (tcpdump,wireshark). Потом попытайся получить логгирование ( if exists agent.circuit-id { log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", binary-to-ascii (10, 8, "", suffix ( option agent.circuit-id, 1)), ", vlan", binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ", binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6)))); }. Потом выясняй в какой позиции находятся нужные тебе данные (опция 82 у различных коммутаторов отличается). Пиши подробности в личку, помогу чем могу. А зачем мак учитывать? Просто по opt 82 отдавать и всё. Два сегмента сети, работаем с тем, что есть ;) С наскока эту проблему решить не удалось. Похоже, он статически привязанные IP выдает всегда в первую очередь. Лень в сырцы заглядывать. Вот этого я и опасался, надеялся, что subnetами получится разрулить. Я не знаю как правильно настроить dhcp.conf файл.. вернее как ее правильно подправить.. мне уже дали настроенный коммутатор с подержкой опции 82, адрес ее 192.168.0.5 b и есть сервер c ip 192.168.0.3, установил на ubuntu 12.04 isc-dhcp-server, мне нужно было подправить сам файл dhcp.conf, как ее правильно заполнить с подершкой 82 опции, обычным способом чтоб работал я ее настроил, а вот чтоб с этой опцией ни как не получается Просто в 2021 только выдет Ваша ОС... ой я промахнулся с ос 12.04 :) Судя по вопросу вы хотите что бы вам кто то настроил? За деньги тут люди найдуться, безплатно вряди, тут прямо в этой теме ВСЕ расписано, если что не понятно - гуглите .... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted March 12, 2013 в принципе да.. можно и за оплату.. но если он заработает.. или мне кажется что установленная система isc-dhcp установлен без этой опции.. надо будет еще раз пересобрать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 12, 2013 мне кажется что установленная система isc-dhcp установлен без этой опции.. надо будет еще раз пересобрать Я такого не встречал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted March 13, 2013 Ребята еще один вопрос.. если коммутатор SNR-S2940-8G-v2 настройки в конфиге тоже будут отличаться от dlink-а? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sirmax Posted March 13, 2013 Ребята еще один вопрос.. если коммутатор SNR-S2940-8G-v2 настройки в конфиге тоже будут отличаться от dlink-а? Тебе что, на гугле забанили? Не хочешь сам работать - найми админа. У длинков куча свитчей с разным CLI, телепатов нет, все в отпуске, на Марсе. Включи наконец мозги. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
maga Posted March 13, 2013 sirmax не хочешь помочь так не пиши.. а зачем тогда создали тему? если тут вопрос нельзя задать? почувствовал себя супер админом ненадо так отшивать.. если такие как ты будут отшивать на гугл так откуда там информации взяться? и я тебя не заставляю помочь? и вообще я тебя просил чтоб помог? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...