Перейти к содержимому
Калькуляторы

Здравствуйте коллеги, подскажите как правильнее решить небольшую проблему:

Есть 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем мак учитывать? Просто по opt 82 отдавать и всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день.. vadislaus можешь помочь с мануалом по настройке с опцией 82? я на centos 6 пытаюсь поставить ни чего не выходит.

Изменено пользователем maga

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host.

 

С наскока эту проблему решить не удалось. Похоже, он статически привязанные IP выдает всегда в первую очередь. Лень в сырцы заглядывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день.. 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ами получится разрулить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не охота плодить тупую тему, но хочется узнать как в случае такой связки (да и вообще IPoE в целом) узнать сколько абонентов "онлайн", смотреть по lease time или есть более лучшие и правильные варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не охота плодить тупую тему, но хочется узнать как в случае такой связки (да и вообще IPoE в целом) узнать сколько абонентов "онлайн", смотреть по lease time или есть более лучшие и правильные варианты?

 

Я на брасе смотрю кол-во сессий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я установил isc-dhcp apt-get install isc-dhcp-server на ubuntu 21.04, (будет ли работать опция 82 при такой установке&)мне бы настроить dhcp сервера чтоб он раздавал ip по портам нескольких коммутаторов,тоесть будут несколько коммутаторов reley на которых будут подключены клиенты, как это реализовать.. я просто с опцией 82 впервые сталкиваюсь

Изменено пользователем maga

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Осталось дождаться весны 2021 года и проверить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а почему 2021 ждать? там хорошую жизнь обещали? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Просто в 2021 только выдет Ваша ОС...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host.

DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay.

А поднять 2 DHCP сервера? Один для opt82 (патченый с отвязкой от маков) и второй стандартный без использования опций. Сменили коммутатор в старом сегменте на предмет рееля с опцией, и это пройдет не заметно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема появляется если на сегменте сети, где используется option 82 появляется абонент с таким же маком, что и прописанным в subnet со статической привязкой, ему выдается адрес прописанный в host.

DHCP сервер смотрит в сторону маршрутизатора с прописанными dhcp-relay.

А поднять 2 DHCP сервера? Один для opt82 (патченый с отвязкой от маков) и второй стандартный без использования опций. Сменили коммутатор в старом сегменте на предмет рееля с опцией, и это пройдет не заметно...

 

Сейчас так и есть, хочу уйти от 4-ех DHCP серверов (по два на сегменты).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема появляется если на сегменте сети, где используется 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; }

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем remote_id использовать?

проще ip свича ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем remote_id использовать?

проще ip свича ИМХО.

Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой ip" аотому для совместимости с ними сделал так.

что именно использоват на самом делел дело десятое ... все равно все меняется из базы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой 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";

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вопрос мне то у меня были свитчи которым нельзя указать "отдавай свой 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))

Изменено пользователем sirmax

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день.. 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 :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день.. 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 :)

Судя по вопросу вы хотите что бы вам кто то настроил? За деньги тут люди найдуться, безплатно вряди, тут прямо в этой теме ВСЕ расписано, если что не понятно - гуглите ....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в принципе да.. можно и за оплату.. но если он заработает.. или мне кажется что установленная система isc-dhcp установлен без этой опции.. надо будет еще раз пересобрать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

мне кажется что установленная система isc-dhcp установлен без этой опции.. надо будет еще раз пересобрать

 

Я такого не встречал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ребята еще один вопрос.. если коммутатор SNR-S2940-8G-v2 настройки в конфиге тоже будут отличаться от dlink-а?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ребята еще один вопрос.. если коммутатор SNR-S2940-8G-v2 настройки в конфиге тоже будут отличаться от dlink-а?

 

Тебе что, на гугле забанили?

Не хочешь сам работать - найми админа. У длинков куча свитчей с разным CLI, телепатов нет, все в отпуске, на Марсе.

Включи наконец мозги.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax не хочешь помочь так не пиши.. а зачем тогда создали тему? если тут вопрос нельзя задать? почувствовал себя супер админом ненадо так отшивать.. если такие как ты будут отшивать на гугл так откуда там информации взяться? и я тебя не заставляю помочь? и вообще я тебя просил чтоб помог?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.