Jump to content
Калькуляторы

ISC DHCP

Всем доброго времени суток!

Собираемся переходить на динамическую выдачу айпишников. Сеть порядка 5 000 абонентов. Имеется оборудование DLink.

Проверяю разные варианты DCHP сервера на тестовом стенде. Делал DHCP сервер с opt 82 - все великолепно работает.

Вычитал, что с помощью

match if (binary-to-ascii(10, 8, ".", packet(24, 4))=" IP свитча")

можно получить айпи свитча, с которого пришел запрос. А можно ли без opt 82 получить как-нибудь, к примеру, номер порта коммутатора, с которого пришел запрос?

Edited by cosmic

Share this post


Link to post
Share on other sites

А можно ли позвонить с мобилы, если нет аккумулятора?

Ну пойди пролукапь таблички на всех свитчах, пока не найдешь нужное. Но оно вам надо?

Share this post


Link to post
Share on other sites

А вот такая ситуация:

на 3612 созданы интерфейсы и виланы:

dhcp2 - 10.11.11.254/24

dhcp3 - 10.12.12.254/24

main - 10.1.2.254/24

3612 - IP 10.1.2.254

3526 - IP 10.1.2.253

Все оборудование DLink.

В 9 порт коммутатора 3612 воткнут DHCP сервер. В 12 порт коммутатора 3612 воткнут свитч 3526.

Виланы прокинуты на 3526. Порты 1-5 - vlan dhcp2, порты 6-10 - vlan dhcp3.

Я втыкаю абонента в соответствующий порт. В dhcpd.conf пишу

match if binary-to-ascii(10, 8, ".", packet(24, 4))="10.1.2.253"

 

то получаю айпишник в зависимости от порта, в который воткнут абонент (либо 10.11.11.0/24 либо 10.12.12.0/24 соответственно).

Вопрос: можно ли БЕЗ opt 82 реализовать такую схему - я знаю, что в данном порту коммутатора я делаю такой то вилан. Втыкаю туда абонента и он послывает DHCP - запрос. Этот запрос идет по вилану dhcp2, например. Могу ли я в в dhcpd.conf анализировать этот запрос по IP интерфейса вилана dhcp2, а не по IP свитча??

Edited by cosmic

Share this post


Link to post
Share on other sites

Который из свичей DHCP-relay?

И почему не хотите использваоть Opt-82?

Edited by skor78

Share this post


Link to post
Share on other sites
реализовать такую схему - я знаю, что в данном порту коммутатора я делаю такой то вилан

Настраивайте опт 82 там, где вы терминируете вланы (3612, я так понимаю), а dhcpd нужно настроить так, что бы он выдавал адрес в соответствии с номеров вилана ...

буквально пару чисел в match if изменится... при этом настраивать что нибуть на свичах доступа, кроме как влан на порт необязательно .. зависит от тупизны свича ))

Свич на доступе может не иметь опт 82 ... на нем вообще ничего может не быть, кроме вланов ...

Share this post


Link to post
Share on other sites

Добрый день. Подскажите пожалуйста решение одной проблемки, или хотя бы где начать копать..

Вобщем суть в следующем: имеется сеть; настроен ISC DHCP, настроена локальная OSPF маршрутизация; клиенты получают интернет через PPPoE.

При подключении pppoe на виндовом клиенте основной шлюз перекидывается на pppoe тунель и локальная маршрутизация пропадает. Впринципе я знаю, что проблема решается через опции в настройках DHCP.

НО если очень много всяких разных маршрутов в OSPF, их просто не реально все запихнуть в конфиг dhcp, к тому же все время изменяются/дополняются роутры.

 

Можно как-нибудь сделать, чтобы dhcp сам получал роуты из OSPF и передавал их клиенту при выдаче ip адреса?

 

PS: левыми скриптами что то не хочется это делать :)

Share this post


Link to post
Share on other sites

запустить в клиентских вланах rip, по dhcp раздать только гарантированно свои сети.

RIP слушатель в винде включается 2 кликами, iprip.dll разместить на сайте с инструкцией.

Share this post


Link to post
Share on other sites

Перечитайте внимательно эту тему http://forum.nag.ru/forum/index.php?showto...p;hl=PPPOE+VLAN , там обсуждалось как обойтись без опции 82, правда это очень неудобно... по моему мнению.

Edited by BudushiyISP

Share this post


Link to post
Share on other sites

Прочитал тему, но все равно не совсем понятно как делать dhcpd.conf(

Кто-нибдуь может поделиться кусочком конфига?

Share this post


Link to post
Share on other sites

собрал тестовый стенд. Роутер 3612, на нем создал ipif и соответствующие им виланы:

main - 10.1.2.254/24

dhcp2 - 10.11.11.254/24

dhcp3 - 10.12.12.254/24

dhcp4 - 10.13.13.254/24

dhcp5 - 10.14.14.254/24

В 9-й порт роутера 3612 воткнул DHCP сервер с IP 10.1.2.30. Из 12 порта роутера 3612 уходит кабель в свитч 3526 в 25 порт. На свитче 3526 созданы виланы dchp2, dhcp3, dhcp4 в соответствующих портах. IP свитча 3526 - 10.1.2.253. Из 26 порта свитча 3526 уходит линк в 28 порт свитча 3028. На этом свитче прокинут вилан dhcp5.

IP 3612 - 10.1.2.254

IP 3526 - 10.1.2.253

IP 3028 - 10.1.2.252

Известно, на каком порту какой вилан (собственно vlan per user).

Должно быть так (на примере одного абонента): в 1-м порту коммутатора 3526 вилан dhcp2 (10.11.11.0/24). Я втыкаю абонента в этот порт, и он отрпавляет dhcp-запрос. Этот dhcp-запрос попадает на роутер, а с него на DHCP - сервер.

Получается, что запрос пришел на роутер из сегмента 10.11.11.0/24=> я в dhcpd.conf анализирую

  match if binary-to-ascii (10, 8, ".", packet (24, 4))="10.11.11.254"

 

и выдаю адрес. Это в теории. На практике пока не получилось реализовать(( Подскажите dhcpd.conf? На длинке сказали, что в запрос подставляется IP того интерфейса, на который запрос етот и пришел... но как написать конфиг DCHP - пока не понял..сделал так:

hcpd.conf         [----]  8 L:[  1+ 2   3/133] *(23  /3132b)=    32 0x20
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "vltele.com";
option domain-name-servers 80.244.224.250;

default-lease-time 600;
max-lease-time 10200;
# local address
local-address 10.1.2.30;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# ad-hoc DNS update scheme - set to "none" to disable dynamic DNS updates
ddns-update-style none;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection)
log-facility local7;

class "dhcp2"
{
  match if binary-to-ascii (10, 8, ".", packet (24, 4))="10.11.11.254";
}
pool {
  range 10.11.11.21;
  option routers 10.11.11.254;
  option subnet-mask 255.255.255.0;
  allow members of "dhcp2";
}
}

но адрес не получаю.

Жду комментариев! Спасибо

Edited by cosmic

Share this post


Link to post
Share on other sites
Все. Разобрался.

А что сделал то ? Отпишись если не трудно.

Share this post


Link to post
Share on other sites

Конфиг DHCP верный. Нужно было только на коммутаторе DGS-3612 настроить dhcp_relay и DHCP - запросы со всех интерфейсов направить на сервер DHCP. На DES-3526 никаких настроек не нужно делать.

Share this post


Link to post
Share on other sites

Добрый вечер!

Возник такой вопрос - в сети для отказоустойчивости поднято 2 DHCP сервера. В настройках свитча указал в какой очередности обращаться. Можно ли обучить ISC DHCP сервер тому, что если при обращении клиента у него нету адреса, который нужно выдать, отправить клиента на следующий сервер??

Схема такая: на свитче настроено, что DHCP Сервер 1 - 192.168.1.234 и Сервер 2 -192.168.1.235. Сначала идет обращение к Серверу 1. Если он недоступен, клиент обращается к Серверу 2. Но если Сервер 1 доступен, но у него нету адреса для клиента, то он об этом скажет..а хотелось бы чтобы он ничего не говорил? Такое возможно?

Edited by cosmic

Share this post


Link to post
Share on other sites

а как это нету адреса???

например, абонента только создали, а в конфиг сервера он ещё не попал

Share this post


Link to post
Share on other sites

и что? он в таком состоянии еще полгода проведет?

 

У меня есть гостевой диапазон - в нем выдаются адреса всему незарегистрированному, и после регистрации абонента в течении 5 минут обновляются конфиги dhcp и он получает свой адрес...

Share this post


Link to post
Share on other sites
и что? он в таком состоянии еще полгода проведет?

 

У меня есть гостевой диапазон - в нем выдаются адреса всему незарегистрированному, и после регистрации абонента в течении 5 минут обновляются конфиги dhcp и он получает свой адрес...

Очень здорово, что вы для себя эту проблему решили.

Насколько я понял, вопрос был предельно конкретный - можно или нет молчать в ответ на запрос от еще несуществующих абонентов.

Share this post


Link to post
Share on other sites

я не понимаю, что такое несуществующие абоненты в сети с dhcp.... Выдать адрес можно всегда.

Share this post


Link to post
Share on other sites
я не понимаю, что такое несуществующие абоненты в сети с dhcp.... Выдать адрес можно всегда.
Приходит абонент, заключает договор на подключение. ТП в базе создает ему реквизиты. Есть скрипт, который дергает базу и создает dhcpd.conf. В сети для отказоустойчивости подняты 2 DHCP сервера.

Скрипт работает на каждом из двух серверов. Предположим, что на Сервере 1 скрипт выполняется каждые 30 минут, а на Сервере 2 - каждые 40 мин. В настройках свитчей настроен порядок обращения к DHCP серверам: Сервер 1, Сервер 2.

30 мин

|----------------| # Сервер 1

30 мин + 10 мин

|----------------|-------| # Сервер 2

В момент времени t= (30 + x) и 30 < t < 40 ТП создали абонента, монтажники подключили его. Ловим сеть. Сначала абонент обращается к Серверу 1, но на нем нету IP для этого абонента (а на втором уже есть, т.к. скрипт сработал). Поэтому Сервер 1 ответит, что "нету для тебя адреса". Получается, что 20 минут абонент может сидеть без сети. Ведь абонент обращается к Серверу 2 только если Сервер 1 не отвечает на запросы абонента.

Вот такая картина.

Share this post


Link to post
Share on other sites

на обоих серверах должен быть диапазон гостевых ип для такого случая. И желательно failover настроить...

Share this post


Link to post
Share on other sites

на обоих серверах должен быть диапазон гостевых ип для такого случая. И желательно failover настроить...

Я выдаю IP по опции 82. Честно говоря не вижу смысла настраивать failover... зачем мне при опт82 синхронизировать выданные адреса? Ведь абоненту с одного и того же порта я выдам тот же адрес с обоих серверов

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this