Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    RouterOS DHCP + Freeradius - Очереди

    RouterOS DHCP + Freeradius - Очереди

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    RouterOS DHCP + Freeradius - Очереди, RouterOS
     
    manson
    Guest
    #1
    0
    16.09.2014 08:45:00
    Привет, у меня на ROS есть DHCP сервер, который получает лизинги и ограничения скорости из базы данных freeradius, всё работает как надо, но есть проблема с изменением ограничений скорости для подключённых пользователей. После истечения срока лизинга клиент получает новый лизинг, но изменённые в базе ограничения скорости не применяются. Есть идеи, как это исправить?
     
     
     
    Begetan
    Guest
    #2
    0
    01.11.2014 19:15:00
    Я пытаюсь сделать шейпинг через DHCP и столкнулся с той же проблемой. Думаю, есть ошибка в обработке DHCP на стороне Mikrotik. Если станция отправляет запрос в первый раз, у Mikrotik нет аренды, и он корректно отправляет запросы на RADIUS. Если станция отключается и повторно отправляет DHCP-запрос или обновляет аренду, Mikrotik пытается проверить свою базу данных на наличие статических аренд. Если он находит любую аренду, то повторно запрос к RADIUS не отправляется. Так нужно делать только для аренд от RADIUS. Какие есть обходные решения? Отправлять Session-Timeout. Mikrotik по умолчанию считает его неограниченным? Регулярно чистить всю базу данных аренд. Скрипт для ручной очистки конкретной аренды, вызванный скриптом аренды. Попросить Mikrotik исправить баг?
     
     
     
    Begetan
    Guest
    #3
    0
    01.11.2014 19:46:00
    Ты уверен, что сообщение DHCP radius accept может содержать атрибут MikroTik-Access-List?
     
     
     
    lambert
    Guest
    #4
    0
    04.11.2014 20:48:00
    Номер 1 работает для моих 2000 клиентов… Я бы сказал, что пункты 2 и 3 не нужны, если выполняется пункт 1. Пункт 4 тоже необязателен, потому что система работает так, как задумано. Аутентификация отделена от авторизации. Если RADIUS не указывает время сессии, DHCP-сервер использует MAC-аутентификацию для идентификации устройства. Если в ответе авторизации от RADIUS нет ограничений, пользователь или устройство не имеют ограничений. У DHCP-сервера есть собственное понятие времени аренды (Lease Time), которое не связано с авторизацией.

    Так что, когда клиент без ограничений пытается продлить аренду, DHCP-сервер смотрит в таблицу ограничений и говорит: «00:11:22:33:44:55» не вышел за пределы разрешённого времени, продли аренду. Если RADIUS возвращает Session-Timeout, DHCP-сервер знает, что этот MAC-адреса аутентифицирован и авторизован на следующие ${Session-Timeout} секунд. Если устройство запрашивает продление аренды, DHCP проверяет свою таблицу и видит: «этот MAC-адрес уже аутентифицирован и авторизован до ${time}». Если новое время аренды позволит устройству получить доступ дольше, чем $time, DHCP должен снова запросить у RADIUS информацию об авторизации устройства.

    С PPP, если не указать Session-Timeout или другие ограничения, пользователь может оставаться подключённым вечно и никогда не проходить повторную аутентификацию. Тут разницы нет. Просто концепция стандартного времени аренды в DHCP вводит людей в заблуждение.
     
     
     
    lambert
    Guest
    #5
    0
    04.11.2014 20:56:00
    Да. Абсолютно верно. Именно это мы и делаем для наших клиентов. DHCP использует аутентификацию по MAC для отправки запроса RADIUS на сервер RADIUS. В ответном пакете RADIUS содержатся Session-Timeout, MikroTik-Access-List и Framed-Pool или Framed-Address. Если наш Session-Timeout равен 3600, клиента можно поместить в другой Access-List с другим пулом IP-адресов или статическим IP. Возможно, вам нужно будет убедиться, что ваш RADIUS-сервер распознаёт атрибут MikroTik-Access-List. http://wiki.mikrotik.com/wiki/Manual:RADIUS_Client/vendor_dictionary
     
     
     
    Begetan
    Guest
    #6
    0
    05.11.2014 21:25:00
    lambert Спасибо за подробности. Мы реализовали Session-Timeout, и, судя по всему, он работает именно так, как нам нужно! Попробуем использовать Mikrotik-Address-List, мы уже делали это для PPP-серверов, так что это довольно просто. Меня немного сбивает с толку, что в официальной документации этот параметр отсутствует: http://wiki.mikrotik.com/wiki/Manual:IP/DHCP_Server
     
     
     
    Begetan
    Guest
    #7
    0
    13.11.2014 20:37:00
    Атрибут Radius Mikrotik-Address-List работает с DHCP, но есть проблема. Как только он получает какое-то значение от Radius, оно остается навсегда и не истекает при обновлении аренды. Очистить address-list можно только при отключенных и полностью истекших арендах. Похоже на поведение стандартного DHCP без атрибута Session-Time.
     
     
     
    lambert
    Guest
    #8
    0
    13.11.2014 21:42:00
    Какие атрибуты ответа вы возвращаете? У нас это работает круглосуточно, без сбоев. Ниже приведены атрибуты, которые мы используем для всех. Клиенты с фиксированными IP-адресами также получают атрибут Framed-IP из таблицы radreply.

    mysql> select * from radgroupreply where groupname = "1MbCustomers";
    +-----+--------------+-----------------------+----+--------------+
    | id  | groupname    | attribute             | op | value        |
    +-----+--------------+-----------------------+----+--------------+
    |  67 | 1MbCustomers | Mikrotik-Address-List | =  | 1MbCustomers |
    |  66 | 1MbCustomers | Framed-Pool           | =  | CustPub      |
    | 107 | 1MbCustomers | Session-Timeout       | =  | 7200         |
    +-----+--------------+-----------------------+----+--------------+

    Если клиент переходит на другой тариф, мы переводим его в другую группу, и связанный список адресов возвращается при следующем обновлении аренды. После получения нового лиза все новые подключения сопоставляются со списком адресов в правилах mangle. Эти новые подключения затем регулируются правилами очередей (queue tree).

    Существующие же длительные подключения не затрагиваются, если только IP не меняется и, соответственно, соединение не прерывается. Проверяете ли вы, находится ли динамическая запись клиента в /ip firewall address-list и изменялась ли она?
     
     
     
    lambert
    Guest
    #9
    0
    13.11.2014 21:56:00
    Может, это баг после версии 6.18? http://forum.mikrotik.com/t/6-22-released/82846/1
     
     
     
    Begetan
    Guest
    #10
    0
    14.11.2014 12:37:00
    Сейчас мы используем версию 6.18. Эта проблема касается обработки атрибута radius. Если мы установим атрибут в какое-то значение, он останется в этом состоянии до тех пор, пока мы не зададим новое значение. Например, мы отправляем из Radius:

    Framed-IP-Address = 172.16.1.1  
    Mikrotik-Address-List = hotline  
    Session-Timeout = 3600

    Этот адрес остаётся в фильтре hotline. Теперь мы удалили пользователя из списка hotline:

    Framed-IP-Address = 172.16.1.1  
    Session-Timeout = 3600

    Но список адресов «hotline» всё ещё держит IP 172.16.1.1, пока не отключишь устройство! Каждое обновление аренды сохраняет его в списке. Единственный способ динамически убрать атрибут — указать новое значение:

    Framed-IP-Address = 172.16.1.1  
    Mikrotik-Address-List = allow  
    Session-Timeout = 3600

    Мне кажется, это неочевидная работа с атрибутами radius. Если мы задаём Session-Timeout, то логично ожидать, что все атрибуты автоматически истекут — так же, как и аренда DHCP. Но на самом деле нужно подать новое значение для какого-то атрибута, чтобы «заменить» старое.

    Mikrotik DHCP + Radius используется многими в мире, думаю. Лучше обновить базу знаний, чем вносить изменения в софт. Если команда Mikrotik даст доступ, я могу написать заметки на вики.
     
     
     
    lambert
    Guest
    #11
    0
    14.11.2014 17:29:00
    Хорошо, это логично и объясняет, почему у нас нет проблемы. В нашей сети каждый пользователь находится в списке адресов. Возможно, стоит отправить в MikroTik запрос на добавление функции использования session-timeout как времени жизни в списке адресов. Но он всё равно будет сохраняться там до истечения таймаута, даже если принудительно заставить устройство получить новый лизинг. Я бы просто назначил всем пользователям список адресов по умолчанию, даже если вы не используете его в конфигурации маршрутизатора.
     
     
     
    Begetan
    Guest
    #12
    0
    26.02.2015 10:46:00
    Интересуюсь списком изменений для ROS версии 6.23. Что нового в 6.23 (2014-12-04 14:46):
    dhcpv4 server – исправлено добавление списков адресов из radius. Это то самое исправление, о котором я упоминал выше, или что-то другое? Планирую обновиться с 6.18 на новую версию и расширить настройку DHCP+Radius.
     
     
     
    lambert
    Guest
    #13
    0
    03.03.2015 00:06:00
    Это исправляет проблему, которая появилась после версии 6.18.
     
     
     
    Begetan
    Guest
    #14
    0
    10.03.2015 21:18:00
    Это действительно грустная история про процесс разработки ПО для ROS. Каждое обновление исправляет баги, которые появились раньше, и при этом создаёт новые. Так что стабильной версии на долгое время пока нет. Кстати, у нас очень хорошо работает связка DHCP + Freeradius + очереди. Сейчас я пытаюсь найти способ мониторинга загрузки очередей. Можно использовать и SNMP, и Tools -> Graphing. Но оба метода работают только в течение срока аренды DHCP. Если абонент переподключается по какой-то причине, система меняет SNMP номер очереди, и счётчики становятся неизвестными. Я заметил, что удаление простой очереди автоматически убирает вручную добавленную команду /tool graphing queue add simple-queue=XXXX. Поэтому локальные графики тоже становятся неизвестными. Вероятно, это ожидаемое поведение для обоих методов. Но есть ли способ мониторить статистику для динамических очередей? Я подумываю о автоматическом создании и поддержании очередей через скрипт лизинга.
     
     
     
    cchance
    Guest
    #15
    0
    20.03.2015 04:11:00
    Должно быть возможно, хотя я понятия не имею как, ха-ха.
     
     
     
    Begetan
    Guest
    #16
    0
    23.03.2015 22:53:00
    Я нашёл обходной путь. Нужно вручную добавить очередь с точно таким же именем. Она останется навсегда. Когда DHCP попытается добавить очередь динамически, у него не получится из-за уже существующего правила. Поэтому оно не сможет удалить это правило. Такой подход подходит для мониторинга отдельных клиентов, но не для полного контроля всех очередей.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры