Jump to content

Recommended Posts

Posted (edited)

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

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

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

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

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

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

Edited by cosmic
Posted

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

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

Posted (edited)

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

на 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
Posted
реализовать такую схему - я знаю, что в данном порту коммутатора я делаю такой то вилан

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

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

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

Posted

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

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

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

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

 

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

 

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

Posted (edited)

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

Edited by BudushiyISP
Posted (edited)

собрал тестовый стенд. Роутер 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
  • 2 weeks later...
Posted

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

  • 4 weeks later...
Posted (edited)

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

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

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

Edited by cosmic
Posted

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

 

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

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

 

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

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

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

Posted
я не понимаю, что такое несуществующие абоненты в сети с 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 не отвечает на запросы абонента.

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

Posted

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

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.