Перейти к содержимому
Local
Baneff

FreeBSD, isc-dhcp44-relay + isc-dhcp44-server на одном компе

Рекомендованные сообщения

Доброго всем дня.

Стояла себе сетка з раздачей адресов по DHCP c FreeBSD  сервака через isc-dhcp44-server и всё работало. Захотелось раздавать адреса не в соответствии с МАС адресами клиентов, а в соответствии с сетевым интерфейсом, через который клиент подключен независимо от его MAC адреса. Для этого понадобилось установить isc-dhcp44-relay, который умеет снимать имена интерфейсов с входных запросов и передавать их DHCP серверу. И тут вылезла проблема. Если isc-dhcp44-relay и isc-dhcp44-server находятся на физически разных компах, то всё работает без проблем. Однако, держать отдельно специальный комп только под isc-dhcp44-server как-то не хочется, хотелось бы всё это впихнуть на один комп и вот тут - никак. Эти два продукта одной фирмы садятся в сетевой стек очень глубоко, на уровне BPF и пытаются одновременно занять одни и те-же ресурсы. Попытка поместить isc-dhcp44-server в Jail и даже в виртуальную машину тоже успеха не принесла. Попытки заменить на продукты других разработчиков пока не дали работоспособной конфигурации тоже. Кто-то сталкивался с такой задачей? Есть хоть какая-то возможность совместить оба продукта ISC на одном FreeBSD компе? Или, возможно, есть другое рабочее решение для раздачи IP адресов клиентам не по MAC-ам, а по интерфейсам подключения с помощью одного FreeBSD компа?

Спасибо.

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Baneff сказал:

Доброго всем дня.

Стояла себе сетка з раздачей адресов по DHCP c FreeBSD  сервака через isc-dhcp44-server и всё работало. Захотелось раздавать адреса не в соответствии с МАС адресами клиентов, а в соответствии с сетевым интерфейсом, через который клиент подключен независимо от его MAC адреса. Для этого понадобилось установить isc-dhcp44-relay, который умеет снимать имена интерфейсов с входных запросов и передавать их DHCP серверу. И тут вылезла проблема. Если isc-dhcp44-relay и isc-dhcp44-server находятся на физически разных компах, то всё работает без проблем. Однако, держать отдельно специальный комп только под isc-dhcp44-server как-то не хочется, хотелось бы всё это впихнуть на один комп и вот тут - никак. Эти два продукта одной фирмы садятся в сетевой стек очень глубоко, на уровне BPF и пытаются одновременно занять одни и те-же ресурсы. Попытка поместить isc-dhcp44-server в Jail и даже в виртуальную машину тоже успеха не принесла. Попытки заменить на продукты других разработчиков пока не дали работоспособной конфигурации тоже. Кто-то сталкивался с такой задачей? Есть хоть какая-то возможность совместить оба продукта ISC на одном FreeBSD компе? Или, возможно, есть другое рабочее решение для раздачи IP адресов клиентам не по MAC-ам, а по интерфейсам подключения с помощью одного FreeBSD компа?

Спасибо.

 

разнести их по разным интерфейсам же

хз, можно ли дхцп сервер вынести в lo0, но если прокатит - вас ждет успех

либо на пустой бридж посадить

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


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, l1ght сказал:

разнести их по разным интерфейсам же

хз, можно ли дхцп сервер вынести в lo0, но если прокатит - вас ждет успех

либо на пустой бридж посадить

Они оба по интерфейсам не разводятся и чисто на lo0 не садятся, а сразу тупо пытаются сесть на 0.0.0.0/0:67 вне зависимости от настроек. Естественно, сразу у обоих это не получается. Можно посадить сервер на порт, отличный от 67, тогда запускаются оба. Но тогда непонятно, как заставить релей передавать запросы юзеров на нестандартный порт сервера. Ещё идеи есть?

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


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, Baneff сказал:

Они оба по интерфейсам не разводятся и чисто на lo0 не садятся, а сразу тупо пытаются сесть на 0.0.0.0/0:67 вне зависимости от настроек. Естественно, сразу у обоих это не получается. Можно посадить сервер на порт, отличный от 67, тогда запускаются оба. Но тогда непонятно, как заставить релей передавать запросы юзеров на нестандартный порт сервера. Ещё идеи есть?

Запросы передавать на другой порт с помощью фаервола

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


Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, joker85 сказал:

Запросы передавать на другой порт с помощью фаервола

Интересная мысль, спасибо, попробую с помощью ipfw fwd перенаправить запросы на нестандартный порт.

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Baneff сказал:

Интересная мысль, спасибо, попробую с помощью ipfw fwd перенаправить запросы на нестандартный порт.

ipfw_or_pf

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


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, joker85 сказал:

ipfw_or_pf

Да, но на этом компе только ipfw используется в даннй момент, не хочется плодить сущности. Как раз сейчас проверяю, о результатах доложусь.

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


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

Пишите, инстересно узнать

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


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Baneff сказал:

Они оба по интерфейсам не разводятся и чисто на lo0 не садятся, а сразу тупо пытаются сесть на 0.0.0.0/0:67 вне зависимости от настроек. Естественно, сразу у обоих это не получается. Можно посадить сервер на порт, отличный от 67, тогда запускаются оба. Но тогда непонятно, как заставить релей передавать запросы юзеров на нестандартный порт сервера. Ещё идеи есть?

Да херня же, не должно так быть.

Вот правда isc-dhcp4 я в глаза не видел. Но тройка то точно умела на нужный интерфейс падать.

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


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, l1ght сказал:

Да херня же, не должно так быть.

Вот правда isc-dhcp4 я в глаза не видел. Но тройка то точно умела на нужный интерфейс падать.

Полностью согласен - херня и так не должно быть. Однако факт налицо:

> sockstat -l
USER     COMMAND    PID     FD PROTO  LOCAL ADDRESS    FOREIGN ADDRESS

dhcpd    dhcpd            60531 8    udp4      *:67                           *:*

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, joker85 сказал:

Пишите, инстересно узнать

Не, не получается. Пытался завернуть запросы на нестандарный порт по всякому, но дхцп сервер не отвечает на такие попытки.

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


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

accel-ppp вам в помощь

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


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, fet4 сказал:

accel-ppp вам в помощь

Ага, щаз. Под фрёй оно не живёт.

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


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

Поверьте это лучшее что я видел для ipoe из open source.

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

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, fet4 сказал:

Поверьте это лучшее что я видел для ipoe.

Верю, но смена оси не обсуждается, не от меня зависит.

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Baneff сказал:

Полностью согласен - херня и так не должно быть. Однако факт налицо:

> sockstat -l
USER     COMMAND    PID     FD PROTO  LOCAL ADDRESS    FOREIGN ADDRESS

dhcpd    dhcpd            60531 8    udp4      *:67                           *:*

А конфиг под него как выглядит?

Раньше опция была dhcpd_ifaces

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


Ссылка на сообщение
Поделиться на других сайтах
34 минуты назад, l1ght сказал:

А конфиг под него как выглядит?

Раньше опция была dhcpd_ifaces

Опция есть, говорит на каких интерфейсах слушать. Но тулза всё равно садится на *:67 без разговоров и это не отключается. В код лезть как-то лениво, видно придётся таки доставить второй комп, может заодно ещё для чего пригодится. Больше идей пока нет.

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


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

понизьте версию по, или стороннее установите с нага возьмете

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


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

Чем плох релей на коммутаторе? В крайнем случае, микротик?

2 поеделки ISC одновременно на одной машине работать не будут.

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


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

Если уж очень хочется запустить всё на одной системе, то пользовать релей от ISC на radius или на Perl

Честно говоря, у меня подобная проблема, и я, к сожалению, ещё не решил её оптимальным, кмк, образом.

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, joker85 сказал:

понизьте версию по, или стороннее установите с нага возьмете

Пробовал 3-ю версию - аналогично, да и безопасность пострадает, там дыры.С нага и прочее стороннее брал и пробовал, но проблема в том, что всё это потустороннее - это всё DHCP сервера, а рабочий DHCP релей с нужным функционалом по сути наличествует только один, вот этот самый ISC DHCP Relay. Это очень странно, но правильно работать с виланами, а не только с МАС-ами клиентов почему-то может только вот эта поделка. Значит, если мы ставим перед собой задачу все это запустить на одно компе, то первая половина задачи не обсуждается - сначала ставим ISC DHCP Relay. На а дальше всё, тупик. Как я уже говорил этот релей хоть и обеспечивает необходимый функционал, но при запуске сразу и без вариантов биндится на *:67, а после этого уже невозможно на этот комп поставить никакой DHCP сервер, поскольку ему тоже нужно биндиться на 67 порт хотя-бы на один IP адрес, но всё уже тупо занято релеем. Попытки привязать DHCP сервер к другому порту и потом мапить/перенаправлять порты к успеху не привели, возможно я что-то не так делал. Вывод я для себя сделал такой - не хочешь использовать релеи на свичах - ставь второйкомп и разноси физически релей и сервер, всё работает без проблем. Не хочешь ставить второй комп - только схема с релеями на свичах и сервером на компе, тоже работает. А вот первоначальная задача - обойтись одним компом без использования релеев свичей похоже решения не имеет, что обидно конечно.

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, andryas сказал:

Чем плох релей на коммутаторе? В крайнем случае, микротик?

2 поеделки ISC одновременно на одной машине работать не будут.

Похоже, что так, тоже пришёл к такому выводу. Хотелось простоты и однообразия, а релеи на свичах как бы лишние сущности если удалось бы запустит требуемую связку. Свичи разные, с разными системами команд, сегодня одни, а завтра другие и всё это напрягает. Кроме того свич с релеем предполагает определённую ценовую категорию, на дешёвые свичи релеи не ставят, нет функционала. Но делать нечего - не получилось по простому - пойдём по сложному пути. Опять же, если у кого и так есть второй комп под контролем и не нужно доставлять ещё один, то всё прекрасно решается без релеев на свичах. И, если уж на то пошло, таки можно и доставить второй комп, может заодно ещё для чего пригодится.

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, andryas сказал:

Если уж очень хочется запустить всё на одной системе, то пользовать релей от ISC на radius или на Perl

Честно говоря, у меня подобная проблема, и я, к сожалению, ещё не решил её оптимальным, кмк, образом.

Увы, связка на одном компе не выходит никак. После установки релея уже ничто в пару к нему не становится ибо 67 порт занят полностью релеем. По крайней мере у меня так. У кого есть в системе второй физический комп, то проблем нет, разносим и работаем. В моём случае там нет второго физического компа, а значит либо доставляем его специально под эту задачу либо используем релеи свичей, ничего другого я не вижу. Как по мне, доставить второй комп проще. Если решите, то, плиз, дайте знать, интересно всё таки.

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


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

Кстати, попробовал сейчас такую связку: релей на локальном компе, а сервер на виртуальном серваке, арендованом где-то в облаках за 3.5 евры в мес. Работает. Это, конечно, экстрим, на как вариант на крайняк... Между релеем и сервером идёт простой юникастовый обмен по udp с порта 67 на порт 67 и обратно, никакой магии. Попутно выяснилось, что продукты ISC действительно работают с клиентами через BPF на очень глубоком уровне стека, еще перед всякими файерволами и тому подобным. Запретить там что-то или перенаправить куда-то правилами файервола невозможно, обмен происходит ниже. Говорят так исторически сложилось, слишком древний и слмшком многоплатформенный продукт, получилось как смогли. Но вот с нелокальными ресурсами эта байда работает стандартно, потому физическое разнесение и помогает. Где-то так.

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


Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Baneff сказал:

Говорят так исторически сложилось, слишком древний и слмшком многоплатформенный продукт, получилось как смогли. Но вот с нелокальными ресурсами эта байда работает стандартно

 

Иначе на BSD системах никак не принять широковещалку, насколько я понимаю предмет.

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: used_servers
      В наличии: 
       
      Сервер HP DL360 G7 SFF 4  bays*2.5"/ 2*E5620/ 4 GB/ HP P410i + 256 Mb BBWC/ 2*460W - 5062 грн.
       
      Сервер HP ProLiant DL580 G7 8 bays*2.5"/ 4*E7-4850/ 64 GB/ HP P410i + 512 Mb FBWC/ 4*1200W - 40450 грн.
       
      Сервер HP ProLiant DL360е Gen8 SFF Promo 8 bays*2.5"/ 2*E5-2430L V2/ 16 GB/ HP P420 + 1 Gb FBWC/ 2*460W - 14875 грн.
       
      Сервер HP ProLiant DL360e Gen8 LFF 4 bays*3.5"/ 2*E5-2420/ 8 GB/ HP P222 + 512 Mb FBWC/ 2*460W - 12892 грн.
       
      Сервер HP ProLiant DL360e Gen8 SFF 8 bays*2.5"/ 2*E5-2420/ 8 GB/ HP P420 + 1 Gb FBWC/ 2*460W - 12434 грн.
       
      Сервер HP ProLiant DL380p Gen8 SFF 8 bays * 2.5"/ 2*E5-2603/ 8 GB/ HP P420i + 1 Gb FBWC/ 2*460W - 21350 грн.
       
      Сервер HP ProLiant DL560 Gen8 5 bays*2.5"/ 4*E5-4640/ 16 GB/ HP P420i + 1 Gb FBWC/ 2*1200W - 39 542 грн.
       
      Гарантия: 12 месяцев
       
      Можно изменить конфигурацию под Ваш запрос
       
      Любая форма оплаты. Возможна доставка в другой город наложенным платежом. Качественная упаковка.

      Есть в наличии. Цена актуальная. Манибек 7 дней.
      На больших объемах и для постоянных клиентов действуют скидки.
       
      Phone: +38 (067) 440-02-41 
      Skype: used_servers
      Telegram: Servakcomua
      Сергей
       
       
       
    • Автор: Skywriter
      Продам сервера Dell Poweredge R420 1U
      8 HDD bays * 2.5" SATA/SAS/SSD
      В отличном рабочем состоянии в полной и топовой комплектации
       
      Цена 14000 грн
       
      Конфигурация:
      2 x 6-Core Xeon E5-2430 2.2GHZ
      2 x 8GB ddr3 ecc reg (12 slots for memory)
      8 x 2.5" sas/sata bay version
      Broadcom 5720 2-port Ethernet
      2 x Redundant PSU 350W
      iDRAC7 REMOTE CARD (2827M)
       
      front bezel - в наличии при необходимости
      rails - в наличии при необходимости
       
       
       
       



    • Автор: Baneff
      Всем привет.
      Давно использую freebsd + ipfw + dummynet + kernel nat + ещё куча всякого разного и всё на одном серваке. Менять платформу не хочу - старый я уже для этого. Так вот. Нагрузка постепенно растёт, пора как-бы железо менять в очередной раз, но есть проблема. Всё в этой схеме прекрасно параллелится на мультиядерной системе. Всё, кроме старичка DUMMYNET. В очередной раз смотрю на процесс kernel{dummynet} и в очередной раз вижу конкретное узкое место во всй системе. Обойти невозможно, работает только в один поток и когда загрузка превышает 80-90% начинаются естественные проблемы. Все остальное работает с большим запасом по нагрузке. Вот и вопрос: как-то эту проблему удаётся решать? Чем шейпить юзеров, если не дамминетом? Или может появилась возможность как-то его параллелить? Или, возможно, какие-то новые методы позволяют как-то снизить нагрузку на дамминет? В документации появились некие новые варианты настроек CoDel, PIE, FQ-CoDel и FQ-PIE в дополнение к старым, может они помогут? Кто-то пробовал?
      Спасибо.
    • Автор: eugenekotlyarov
      Продам supermicro SYS-1027GR-TRF. 1U.
      Board Part Num: X9DRG-HF
      https://www.supermicro.com/products/system/1u/1027/sys-1027gr-trf.cfm
      3 лотка под PCI
      4 лотка sata drive
      1800$
       
      1.with CPU: xeon E5-2660 2 штуки. + 100$
      2.with RAM 8x2GB + 100$ 
      3.with RAM 6x4GB + 100$
      4.with SCSI 7200 rpm 2x500GB + 200$
      5.with SCSI 7200 rpm 2x300GB + 100$
      5.with 2 x NVIDIA quaro k2200 + 600$
      6.with NVIDIA Tesla M40 + 800$
       
      номер для связи 0958053958
    • Автор: FosterUA
      Сегодня на появилось
      cam status uncorrectable parity/crc error
      Reatrying command
      Write fpdma queued
       
      Подскажите что это ? Спасибо
×