Архив рубрики: Публикации

Автоматическая и ручная настройка интернета Tele2

Если вы ещё не пользовались мобильным интернетом от компании Tele2 на своём мобильном устройстве, то вам предстоит выполнить настройку интернета, которая заключается во вводе нескольких значений. Настройку надо выполнять и на Android, и на iOS, и на Windows Phone.

Читать

Можно ли разговаривать с Алисой без «Яндекс.Браузера» или без интернета

Голосовой помощник, разработанный компанией «Яндекс» и названный «Алиса», может выручить во многих ситуациях и упростить работу за компьютером или телефоном. Но у него есть ряд ограничений, связанных с автономностью работы.

Читать

Протокол покрывающего дерева (STP)

STP, что означает протокол связующего дерева, — это протокол сетевого уровня, который помогает в построении логической топологии без петель для сетей Ethernet. Многие улучшенные версии STP продолжали поступать на рынок со временем, внося новые улучшения в этот протокол:

  • STP / 802.1D (оригинальный STP)
  • PVST + (улучшения Cisco для STP, добавление функции для каждой VLAN)
  • RSTP / 802.1W (улучшенный STP с гораздо более быстрой конвергенцией)
  • Быстрый PVST + (улучшение RSTP в Cisco, добавление для каждой функции VLAN)

Вы можете видеть, что Cisco сделала много улучшений в этой области. Давайте вернемся к основам и рассмотрим причину, почему STP был необходим в первую очередь.

Прежде чем мы рассмотрим потребность в STP, давайте кратко рассмотрим, как работает уровень 2, когда ему нужно узнать адрес конкретного хоста.

Когда коммутатор получает пакет, но у него нет MAC-адреса узла назначения в его таблице, он транслирует сообщения на все узлы, кроме тех, от которых он получает. Если вы хотите узнать больше об этом, пожалуйста, обратитесь к этой статье на ARP.

Сценарий 1: широковещательный шторм

Давайте посмотрим на сценарий ниже:

Допустим, в сети есть три коммутатора, как показано выше. Все переключатели связаны друг с другом. Коммутатор B отправляет широковещательную рассылку, а коммутатор A и коммутатор C принимают ее. Они не находят адрес и повторно транслируют сообщение.

Коммутатор B снова получает ретранслируемое сообщение от коммутатора A и коммутатора C. Думая об этой трансляции как о новой трансляции, коммутатор B снова транслирует те же сообщения, которые уже транслировались ранее. Таким образом, широковещательный шторм имеет место. Это продолжается до тех пор, пока порты не выйдут из строя или не произойдет сбой коммутатора.

Сценарий 2: дубликаты пакетов

Рассмотрим ту же архитектуру сети, которая приведена в сценарии выше. Здесь есть небольшой поворот. На этот раз коммутатор C подключен к хосту назначения, который искал коммутатор B. Что теперь?

Переключатель B будет транслироваться снова. Трансляция также достигает коммутатора C и коммутатора A. Коммутатор C просматривает пакет и доставляет пакет на хост назначения.

Однако на другой параллельной стороне коммутатор A также проверил свою таблицу и не смог найти хост назначения. Таким образом, он также транслировал сообщение, и коммутатор C снова получил тот же пакет. Таким образом, он просматривает пакет и снова доставляет его на хост назначения.

В чем здесь проблема? Можете ли вы угадать, не читая дальше?

Самая большая проблема здесь — двойная доставка и потеря пропускной способности.

Теперь давайте выясним решение для сценария 2. Одним из лучших и самых простых решений было бы отключить коммутатор B от коммутатора C, чтобы не было дублирования пакетов. Потому что, в любом случае, коммутатор A будет транслировать пакет на коммутатор C, если хост назначения не найден в списке коммутатора A. Теперь это выглядит примерно так:

Если вы снова посмотрите на определение, теперь вы узнаете, почему STP был изобретен в первую очередь.

Хотя мы нашли решение, мы, тем не менее, не уверены, что блокировка соединения между B и C была более выгодной, или блокирование того же между коммутатором B и A. Давайте рассмотрим все это подробнее.

Какой порт заблокировать в STP?

STP выполняет ряд простых шагов, которые помогают STP решать многие проблемы, в том числе блокировать порт. Но, перед этим, вот некоторые термины, которые могут быть вам полезны:

Корневой мост

Как и «Корень» в древовидной структуре, Корневой мост является основным коммутатором или мостом на графике, где разные узлы представляют все другие мосты. Корневой мост управляет топологией связующего дерева.

Назначенный мост

Назначенный мост — это коммутатор, ближайший к корневому мосту, через который кадры будут перенаправлены на корневой мост.

Альтернативный мост

Это альтернативный путь к корневому коммутатору, но он отличается от пути к корневому мосту.

Резервный мост

Это резервный путь к сегменту, хотя будет другой существующий путь.

Порты, которые отключены.

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

Порт экспедирования

Порт, который полноценно работает.

Порт обучения

Порт, который не пересылает кадры, но изучает MAC-адреса.

Порт прослушивания

Порт, который не пересылает кадры и не изучает MAC-адреса.

Отбрасывание порта

Порт, который не передает никаких данных.

Давайте посмотрим, как работает STP, и решим, какой коммутатор, мост и порт должны находиться в каком состоянии:

  • На первом этапе выбирается корневой мост (способ выбора корневого моста был рассмотрен далее в этой статье).
  • Порты в корневом мосту переводятся в состояние пересылки.
  • Порты в назначенных мостах, соединяющих корневой мост, называются корневыми портами.
  • Оставшиеся ссылки на назначенном мосту выбирают назначенные порты.
  • Остальные порты переведены в состояние блокировки.

Вот очень красивый пример из Википедии.

RP: корневой порт

DP: назначенный порт

BP: заблокированный порт

В целом весь процесс может выглядеть проще, но алгоритм работы за сценой сложен. Чем больше сеть, тем больше времени требуется алгоритму, чтобы расставить все по местам.

Операция протокола связующего дерева

Происходит следующий набор операций.

Определение корневого моста

Давайте подумаем об этом сценарии с самого начала. Предположим, что сеть создана с нуля. Все коммутаторы, которые являются частью сети, при включении все они утверждают, что являются корневым мостом.

Чтобы подтвердить утверждение, все коммутаторы должны транслировать свой идентификатор моста (BID), используя BPDU (блоки данных протокола моста). Общий идентификатор моста составляет 8 байтов, из которых 2 байта зарезервированы для приоритета моста, а остальные 6 байтов зарезервированы для MAC-адреса.

Идентификатор моста представляет собой комбинацию приоритета моста и MAC-адреса. За кулисами BID представляет собой сцепленную версию приоритета моста и MAC-адреса коммутатора / моста. По умолчанию каждый мост будет иметь идентификатор моста 32768, а каждый идентификатор моста будет кратен 4096.

Как определяется корневой мост?

После передачи широковещательного сообщения каждому мосту мост с минимальным значением BID становится корневым мостом. Если в обоих случаях приоритет моста одинаков, победителем будет самый низкий Mac-адрес.

Пример:

Допустим, есть связь между двумя мостами с BID:

Мост A: 32768.df56.6765.7876 и,

Мост B: 32768.df56.6765.7875

Теперь у вас есть вопрос — какой мост станет здесь корневым мостом? Если вы догадались, что это Мост B, значит, вы были правы.

Графический пример:

Давайте посмотрим, как эти отдельные коммутаторы реагируют на BPDU:

В тот момент, когда все коммутаторы включены, все коммутаторы, как упоминалось ранее, объявляют, что они являются корневым мостом, отправляя свой идентификатор моста в пакете приветствия.

Переключатель 1:

Когда коммутатор 1 получает приветственные BPDU от коммутатора 2 и коммутатора 3, он сравнивает значения идентификатора моста. В этой ситуации у коммутатора 1 самый низкий BID. Таким образом, коммутатор 1 отбрасывает пакеты приветствия, полученные от остальных коммутаторов, и продолжает объявлять себя корневым мостом.

Переключатель 2:

Здесь коммутатор 2 получает приветственные BPDU от обоих коммутаторов, то есть от коммутатора 1 и коммутатора 3. Давайте посмотрим, как коммутатор 2 реагирует на оба BPDU.

Когда Коммутатор 2 получает пакет от Коммутатора 1, он сравнивает значения BID и, безусловно, приветственный пакет BPDU от Коммутатора 1 заменяет его BID. Таким образом, коммутатор 2 изменяет свой BID на коммутатор 1. Когда он также получает BPDU от коммутатора 3, он будет сравнивать значения и будет продолжать отбрасывать BPDU из коммутатора 3.

Переключатель 3:

Допустим, коммутатор 3 сначала получает BPDU от коммутатора 2. Таким образом, он меняет свой BID на тот, что у коммутатора 2. Но когда он дополнительно получает BPDU от коммутатора 1, он снова меняет его на коммутатор 1.

В этот момент все коммутаторы получили BPDU друг друга и согласились с тем, что коммутатор 1 имеет самое низкое значение BID и, следовательно, является подходящим кандидатом на роль корневого моста сети.

После определения корневого моста коммутатор 2 и коммутатор 3 начинают организовывать свои соответствующие связи в корневые порты и назначенные порты, как обсуждалось в начале статьи.

Но выбор корневого моста — это не конец игры. Это только начало. И игра следует за: —

Определение маршрута с наименьшей стоимостью до корневого моста

Если вам известно о связующем дереве из теории графов, вы можете объяснить, почему мы говорим о расчете маршрута с наименьшей стоимостью до корневого моста.

В теории графов остовное дерево является подмножеством графа. Остовное дерево позволяет покрыть все вершины графа с минимально возможным числом ребер. Следовательно, остовное дерево не имеет петли, и, кроме того, оно также не может быть отключено.

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

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

В качестве первого шага Root Bridge отправляет поток BPDU всем остальным коммутаторам. Корневая стоимость определяется путем суммирования затрат сегментов на пути, по которому он прошел пакет BPDU для прохождения от корневого моста к узлу.

Стоимость сегмента также зависит от скорости соединения конкретного сегмента. Вот диаграмма того же самого.







Пропускная способностьЗатраты
10 Mbit100
100 Mbit19
1000 Mbit4

Иногда эти затраты на соединение возникают в захватывающих ситуациях, связанных с наименьшей стоимостью пути к корневому мосту. Посмотрите на картинку ниже: —

Можете ли вы угадать корневой порт для коммутатора 3 на рисунке выше?

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

Корневой мост -> Переключатель 2 -> Переключатель 4 -> Переключатель 3

Вы можете догадаться, почему? В соответствии с таблицей выше, вот расходы.

Переключатель 3 на Root Bridge напрямую равен 100 из-за его канала 10 Мбит / с. Но если мы вычислим путь, как сказано выше, он будет (19 + 19 +4 = 42).

Таким образом, в каждом из некорневых мостов порт, который получает BPDU с наименьшей стоимостью, становится корневым портом этого моста.

Далее все ссылки, подключенные напротив корневого порта, помечаются как назначенный порт. Также определяются заблокированные порты. Однажды все помечено и исправлено; сеть будет иметь полностью оптимизированную версию протокола связующего дерева.

Там могут быть другие условия. В случае большой сети в стоимости ссылки будет указана связь. В этом случае стоимость сети рассчитывается как часть Advanced STP. Advanced STP также говорит о том, что происходит в случае сбоя соединения.



2019-01-09T13:08:55
Вопросы читателей

Что такое редактор локальной групповой политики и как его использовать?

Редактор локальной групповой политики — это инструмент Windows, используемый ИТ-администраторами. Это не всегда известно случайным пользователям компьютера. Редактор локальной групповой политики позволяет управлять процессами входа в систему и завершения работы, настройками и приложениями, которые пользователи могут изменять или использовать в Windows. Это может быть полезно, если вы хотите управлять правилами для других пользователей вашего компьютера. Читайте дальше, чтобы узнать, что такое локальная групповая политика и как вы можете работать с редактором локальной групповой политики.

Что такое локальная групповая политика?

По определению, групповая политика — это функция Windows, которая предлагает вам централизованный способ управления и настройки операционной системы Windows, программ и пользовательских настроек с компьютеров, подключенных к одному домену. Групповые политики наиболее полезны, если вы являетесь сетевым администратором и вам необходимо применять определенные правила или параметры на компьютерах или пользователях, находящихся в сети, которой вы управляете.

Локальная групповая политика — это вариант групповой политики, который также позволяет управлять отдельными компьютерами, в отличие от всех компьютеров, зарегистрированных в домене. Хорошим примером является ваш домашний компьютер с Windows 10, Windows 8.1 или Windows . Это означает, что этот инструмент может быть полезен как для домашних пользователей, так и для сетевых администраторов. Проще говоря, вы должны думать о локальной групповой политике как о наборе правил, управляющих работой Windows на вашем компьютере или устройстве.

Могу ли я использовать редактор локальной групповой политики?

Поскольку редактор локальной групповой политики является довольно продвинутым инструментом, вы должны знать, что он недоступен в выпусках Windows для дома или для начинающих . Вы можете получить к нему доступ и использовать его только в:

  • Windows 10 Pro и Windows 10 Enterprise
  • Windows 7 Профессиональная, Windows 7 Максимальная и Windows 7 Корпоративная
  • Windows 8.1 Профессиональная и Windows 8.1 Корпоративная

Несколько примеров того, что вы можете сделать с помощью редактора локальной групповой политики

Давайте перечислим несколько примеров того, что вы можете сделать с помощью редактора локальной групповой политики. Вы можете настроить параметры Windows и применить их так, чтобы пользователи на вашем компьютере не могли изменить их впоследствии. Вот несколько примеров:

  1. Разрешить пользователям доступ только к некоторым приложениям, найденным на вашем компьютере.
  2. Запретить пользователям использование на компьютере съемных устройств (например, USB-накопителей).
  3. Заблокируйте доступ пользователей к Панели управления и приложению Настройки.
  4. Скрыть определенные элементы из панели управления.
  5. Укажите обои, используемые на рабочем столе, и запретите пользователям изменять их.
  6. Запретить пользователям включение/отключение подключений к локальной сети или запретить им изменять свойства подключений компьютера (локальной сети).
  7. Запретить пользователям читать и/или записывать данные с CD, DVD, съемных дисков и т. д.
  8. Отключите все сочетания клавиш, которые начинаются с клавиши Windows. Например, Windows + R (который открывает окна «Выполнить») и Windows + X (который открывает меню опытного пользователя) перестают работать.

Это всего лишь несколько примеров. Редактор локальной групповой политики из Windows позволяет настраивать многие другие параметры.

Как открыть редактор локальной групповой политики в Windows

В Windows простой способ открыть редактор локальной групповой политики — использовать поиск. Введите «gpedit.msc» в качестве текста для поиска, а затем щелкните результат поиска «gpedit».

ПРИМЕЧАНИЕ. Редактор локальной групповой политики выглядит и предлагает одинаковые параметры, настройки и функции независимо от того, используете ли вы Windows 7, Windows 8.1 или Windows 10. Поэтому для простоты отныне мы используем только снимки экрана, сделанные в Windows 10.

Как работать с редактором локальной групповой политики

Редактор локальной групповой политики разделен на две панели: левая панель содержит параметры локальной групповой политики , отображаемые в категориях, а правая панель — содержимое активной категории. Политики локальных групп подразделяются на два больших раздела:

  • Конфигурация компьютера — содержит параметры локальной групповой политики , которые управляют политиками, которые применяются ко всему компьютеру, независимо от того, вошли ли пользователи или пользователи.
  • Конфигурация пользователя — содержит параметры локальной групповой политики , которые контролируют пользовательские политики. Эти политики применяются к пользователям, а не ко всему компьютеру. Хотя это выходит за рамки данного руководства, вы должны знать, что пользовательские политики применяются для пользователей независимо от того, с какого компьютера из вашей сети они входят в систему.

Категории «Конфигурация компьютера» и «Конфигурация пользователя» разделены на три раздела:

  • Настройки программного обеспечения — содержит политики программного обеспечения и, по умолчанию, оно должно быть пустым.
  • Настройки Windows — содержит настройки безопасности Windows. Это также место, где вы можете найти или добавить сценарии, которые должны запускаться при запуске или завершении работы Windows.
  • Административные шаблоны — имеет множество настроек, которые управляют многими аспектами работы вашего компьютера. Это место, где вы можете видеть, изменять и даже применять всевозможные настройки и правила. Чтобы дать вам несколько примеров, вы можете управлять работой панели управления, сети, меню «Пуск» и панели задач, а также тем, что пользователи могут изменять при их использовании.

Как редактировать политики Windows с помощью редактора локальной групповой политики

Чтобы вы могли легко понять процесс, связанный с редактированием политик, мы будем использовать пример. Допустим, вы хотите установить конкретные обои по умолчанию для вашего рабочего стола, которые будут установлены для всех существующих или новых пользователей на вашем компьютере с Windows.

Чтобы перейти к настройкам рабочего стола, вам нужно будет просмотреть категорию «Конфигурация пользователя» на левой панели. Затем перейдите к административным шаблонам, разверните Рабочий стол и выберите параметры внутреннего рабочего стола. На правой панели вы увидите все параметры, которые вы можете настроить для выбранного в настоящий момент административного шаблона. Обратите внимание, что для каждого доступного параметра у вас есть два столбца с правой стороны:

  • В столбце «Состояние» указано, какие параметры не настроены, а какие включены или отключены.
  • В столбце «Комментарии» отображаются комментарии, сделанные вами или другим администратором для этого параметра.

В левой части этой панели также отображается подробная информация о том, что делает конкретный параметр и как он влияет на Windows. Эта информация отображается в левой части панели всякий раз, когда вы выбираете определенную настройку. Например, если вы выберете Обои для рабочего стола, слева вы увидите, что их можно применять к версиям Windows, начиная с Windows 2000, и вы можете прочитать их Описание , которое говорит вам, что вы можете указать «фон рабочего стола отображается на всех рабочих столах пользователей» . Если вы хотите отредактировать настройку, в нашем случае обои рабочего стола, дважды щелкните/нажмите на эту настройку или щелкните правой кнопкой мыши/нажмите и удерживайте ее, а затем выберите «Изменить» в контекстном меню.

Откроется новое окно с названием выбранного вами параметра. В этом окне вы можете включить или отключить настройку или оставить «Не настроено». Если вы хотите включить настройку, сначала выберите ее как Включено. Затем прочитайте раздел справки и, если есть раздел «Опции», убедитесь, что вы заполняете запрашиваемую информацию. Обратите внимание, что это окно может включать в себя различные параметры, в зависимости от настройки, которую вы выбираете для редактирования. Например, в нашем примере об указании обоев для рабочего стола мы должны указать путь к файлу изображения, который мы хотим установить в качестве обоев, и мы должны выбрать, как мы хотим, чтобы он располагался. Затем мы можем добавить комментарий (если мы хотим — это совершенно необязательно) и, наконец, мы должны нажать кнопку Применить или кнопку ОК , чтобы активировать нашу настройку.

Отключение параметра или изменение его статуса на «Не настроен» предполагает простой выбор одного из этих параметров. Как мы упоминали ранее, разные настройки имеют разные параметры. Например, сценарии, которые вы можете настроить для запуска Windows при запуске или выключении, могут выглядеть совершенно иначе.

Нажмите или коснитесь «Конфигурация компьютера», затем «Параметры и сценарии Windows» («Запуск / выключение»). Выберите «Запуск» или «Выключение» на правой панели и нажмите на ссылку «Свойства» на правой панели. Или дважды щелкните Запуск или Завершение работы.

Нажмите «Добавить…», чтобы добавить новые сценарии в выбранный процесс.

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

Когда вы закончите, нажмите или нажмите OK .

Перейдите к редактору локальной групповой политики и проверьте, какие настройки он предлагает, потому что их много. Считайте это своей игровой площадкой на время, так как есть много вещей, которые вы можете проверить.



2019-01-09T11:52:44
Вопросы читателей

Как перехватить данные по сети👨⚕️

Как использовать сетевой перехватчик трафика для дальнейшего анализа?

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

В работе представлены примеры по поиску Cookies, соединений SSH, DNS и FTP -трафика, а также самое вкусное – переданные текстовые пароли.

Все эти действия автор проделывает в tcpdump, демонстрируя  многочисленные практические примеры использования захвата трафика (50 примеров) .

Скажем спасибо Даниэлю и делимся ссылкой:

https://danielmiessler.com/study/tcpdump/

 



2019-01-08T16:49:37
Аудит ИБ

FreeRADIUS User Group Management with MySQL

FreeRADIUS is a high performance RADIUS Server. A number of network devices can be used with freeRADIUS Server as a RADIUS Client including MikroTik Router. As a modular RADIUS suite, freeRADIUS accepts MySQL module to query user authentication and authorization and to store accounting data. In my previous article, I discussed how to install and configure FreeRADIUS MySQL module. I also discussed how to authenticate MikroTik Login with freeRADIUS MySQL user. In this article, we will talk about how to configure user group in MySQL module to categorize freeRADIUS user’s reply attributes.




FreeRADIUS User Group




Group is used to categorize some attributes those will be applied on some users. In freeRADIUS, these attribute are referred to as AVP. So, before going to configure user group, we should have clear concept on freeRADIUS AVP.




Attribute Value Pair (AVP)




AVP is the workhorse of the RADIUS Protocol. Communication between a RADIUS Server and RADIUS Client is done based on AVPs. AVP can be categorized either check or reply attributes. Check attributes are sent from the client to the server. Reply attributes are sent from the server to the client.




Attributes serve as carriers of information between the RADIUS Client and Server. The RADIUS Client supplies information about itself as well as the user connecting through it using AVP. The RADIUS Server also uses AVP to respond to the client. The Client can then use this response to control the user’s connection based on the AVPs received in the server’s response.




Each RADIUS client device (NAS) such as MikroTik Router has its own attributes known as Vendor-Specific Attributes (VSAs) that are used in Access-Request and Access-Accept packets. For example, when a MikroTik Router wants to authenticate a user from freeRADIUS Server, it sends Access-Request packets with User-Name and User-Password AVPs. If freeRADIUS is able to authenticate this user, it replies with defined reply attributes (such as MikroTik-Group) for this user. The mapping between Server and Client attributes communication is done by Dictionary. The Dictionary for the different vendors is loaded from /usr/share/freeradius directory when freeRADIUS starts.






The freeRADIUS Server also has its own attributes which are known as freeRADIUS internal Dictionary. These attributes are used to perform internal process of freeRADIUS Server and cannot be used by the RADIUS client. For example, Cleartext-Password AVP is used to assign user password and User-Profile is used to create user profile in freeRADIUS and these both attributes are freeRADIUS internal attribute.




FreeRADIUS Group Management with MySQL Database




The SQL database allows defining check and reply attributes for groups. The check attributes are stored in radgroupcheck table and the reply attributes are stored in radgroupreply table.




A Radius user can be assigned to zero or more groups. Groups are assigned through radusergroup table. An entry into this table specifies a priority of a certain group to a user. This allows certain item values in groups with higher priorities (smaller values) to override item values in groups with lower priorities (larger values).




With this in mind, we will do a simple practical example for MikroTik Router. We will create groups for MikroTik Router’s login users. We know that there are there permission levels (full, write and read) for MikroTik login user. So, we will create there groups (fullaccess, writeaccess and readaccess) in our SQL database and assign users to these groups. When a user will be authenticated to login MikroTik Router, he/she will get his permission from radgroupreply table.




How to configure MySQL (MariaDB) database with freeRADIUS was discussed in previous article. If you are new in freeRADIUS with MySQL database, spend time to configure freeRADIUS with MySQL and then follow the below section to configure freeRADIUS user group.




Insert Group Reply AVP in radgroupreply Table




Group reply AVP is stored in radgroupreply table. We will insert MikroTik-Group AVP that controls MikroTik Login user group in this table. We know that MikroTik Router has three  permission levels for login user. So, we will create three groups in radgroupreply table and assign group permission with MikroTik-Group AVP. The following steps will show how to insert group reply AVP in radgroupreply table.






  • Login to your freeRADIUS server with root user.
  • Now login to your MariaDB server and select radius database.

    [root@freeradius ~]# mysql -uroot -pPasskey85 radius

    Reading table information for completion of table and column names

    You can turn off this feature to get a quicker startup with -A

    Welcome to the MariaDB monitor.  Commands end with ; or g.

    Your MariaDB connection id is 24

    Server version: 5.5.60-MariaDB MariaDB Server

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

    MariaDB [radius]>

  • To show available columns in radgroupreply table, issue the following command.

    MariaDB [radius]> show columns from radgroupreply;
    +———–+——————+——+—–+———+—————-+

    | Field     | Type             | Null | Key | Default | Extra          |

    +———–+——————+——+—–+———+—————-+

    | id        | int(11) unsigned | NO   | PRI | NULL    | auto_increment |

    | groupname | varchar(64)      | NO   | MUL |         |                |

    | attribute | varchar(64)      | NO   |     |         |                |

    | op        | char(2)          | NO   |     | =       |                |

    | value     | varchar(253)     | NO   |     |         |                |

    +———–+——————+——+—–+———+—————-+

  • To create full permission group, issue the below command.
    MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values (“fullaccess”,”Mikrotik-Group”,”:=”,”full”);

  • To create write permission group, issue the following command.
    MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values (“writeaccess”,”Mikrotik-Group”,”:=”,”write”);

  • To create read permission group, issue the following command.
    MariaDB [radius]> insert into radgroupreply (groupname,attribute,op,value) values (“readaccess”,”Mikrotik-Group”,”:=”,”read”);

  • To show all entries in radgroupreply table, issue the follow command.

    MariaDB [radius]> select * from radgroupreply;
    +—-+————-+—————-+—-+——-+

    | id | groupname   | attribute      | op | value |

    +—-+————-+—————-+—-+——-+

    |  2 | fullaccess  | Mikrotik-Group | := | full  |

    |  3 | writeaccess | Mikrotik-Group | := | write |

    |  4 | readaccess  | Mikrotik-Group | := | read  |

    +—-+————-+—————-+—-+——-+




Three groups with reply attribute have been created successfully. Now we will create three users in freeRADIUS MySQL database.




Insert freeRADIUS User in radcheck Table




FreeRADIUS user login information is stored in radcheck table. So, we will now insert three user entries (bob, alice and tom) who will login to MikroTik Router in this table. The following steps will show how to insert user information in radcheck table.




  • To show available columns in radcheck table, issue the following command.

    MariaDB [radius]> show columns from radcheck;
    +———–+——————+——+—–+———+—————-+

    | Field     | Type             | Null | Key | Default | Extra          |

    +———–+——————+——+—–+———+—————-+

    | id        | int(11) unsigned | NO   | PRI | NULL    | auto_increment |

    | username  | varchar(64)      | NO   | MUL |         |                |

    | attribute | varchar(64)      | NO   |     |         |                |

    | op        | char(2)          | NO   |     | ==      |                |

    | value     | varchar(253)     | NO   |     |         |                |

    +———–+——————+——+—–+———+—————-+

  • To insert bob user, issue the following command.
    MariaDB [radius]> insert into radcheck (username,attribute,op,value) values (“bob”,”Cleartext-Password”,”:=”,”passme”);

     

  • To insert alice user, issue the following command.

    MariaDB [radius]> insert into radcheck (username,attribute,op,value) values (“alice”,”Cleartext-Password”,”:=”,”passme”);

  • To insert tom user, issue the following command.
    MariaDB [radius]> insert into radcheck (username,attribute,op,value) values (“tom”,”Cleartext-Password”,”:=”,”passme”);

  • To show all entries in radcheck table, issue the following command.

    MariaDB [radius]> select * from radcheck;
    +—-+———-+——————–+—-+——–+

    | id | username | attribute          | op | value  |

    +—-+———-+——————–+—-+——–+

    |  2 | bob      | Cleartext-Password | := | passme |

    |  3 | alice    | Cleartext-Password | := | passme |

    |  4 | tom      | Cleartext-Password | := | passme |

    +—-+———-+——————–+—-+——–+




FreeRADIUS user creation in database table has been completed. Now we will assign these users to group.






Assigning User to Group




User and group mapping is stored in radusergroup table. So, to assign user to a group, we have to put entry in this table. The following steps will show how to map user to group with radusergroup table.




  • To show available columns in radusergroup table, issue the following command.

    MariaDB [radius]> show columns from radusergroup;
    +———–+————-+——+—–+———+——-+

    | Field     | Type        | Null | Key | Default | Extra |

    +———–+————-+——+—–+———+——-+

    | username  | varchar(64) | NO   | MUL |         |       |

    | groupname | varchar(64) | NO   |     |         |       |

    | priority  | int(11)     | NO   |     | 1       |       |

    +———–+————-+——+—–+———+——-+

  • To map bob user to fullaccess group, issue the following command.
    MariaDB [radius]> insert into radusergroup (username,groupname,priority) values (“bob”,”fullaccess”,10);

  • To map alice user to writeaccess group, issue the following group.
    MariaDB [radius]> insert into radusergroup (username,groupname,priority) values (“alice”,”writeaccess”,10);

  • To map tom user to read group, issue the following command.
    MariaDB [radius]> insert into radusergroup (username,groupname,priority) values (“tom”,”readaccess”,10);

  • To view all entries, issue the following command.

    MariaDB [radius]> select * from radusergroup;
    +———-+————-+———-+

    | username | groupname   | priority |

    +———-+————-+———-+

    | bob      | fullaccess  |       10 |

    | alice    | writeaccess |       10 |

    | tom      | readaccess  |       10 |

    +———-+————-+———-+




Assigning user to group has been completed. Now we will first test user group reply with radtest program and then MikroTik login user with Winbox.




Testing User Group with radtest Program




After user group configuration in freeRADIUS MySQL database, we will now test user group reply with radtest program. So, issue the following command to check bob user login with reply AVP.




[root@freeradius ~]# radtest bob  passme 127.0.0.1 100 testing123
Sent Access-Request Id 74 from 0.0.0.0:47585 to 127.0.0.1:1812 length 73

User-Name = “bob”

User-Password = “passme”

NAS-IP-Address = 192.168.40.10

NAS-Port = 100

Message-Authenticator = 0x00

Cleartext-Password = “passme”

Received Access-Accept Id 74 from 127.0.0.1:1812 to 0.0.0.0:0 length 32

Mikrotik-Group = “full”

 




If everything is OK, the radtest program will show the above output. That means, bob user is able to login with username and password and after successful login he will get full permission in MikroTik Router.




Testing User Group with MikroTik Router




Now we will test freeRADIUS user group with our desired MikroTik Router. How to configure MikroTik Radius to connect with freeRADIUS was discussed in my previous article. If you are new in MikroTik Radius with freeRADIUS server, follow that article to configure your MikroTik Router with freeRADIUS server and then issue the following steps to test freeRADIUS user group with MikroTik Router.






  • Open Winbox software and put your MikroTik Router IP in Connect To input field and put bob username in Login input filed and then put bob password (passme) in Password input field. Now click on Connect button and if everything is OK, you will be able to login to MikroTik Router.




Winbox login with freeRADIUS user
Winbox login with freeRADIUS user




  • Go to System > Users menu and click on Active Users tab. You will find bob is a RADIUS user and his permission level is full.



  • MikroTik Login with freeRADIUS database user
    MikroTik Login with freeRADIUS database user




    Similarly you can login with alice and tom and find their permission level provided in freeRADIUS group configuration.




    If you face any confusion to follow above steps properly, watch the below video about freeRADIUS user group management. I hope it will reduce your any confusion.