Установка Freeradius 3 на FreeBSD

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

Рано или поздно приходит понимание, что один пароль для авторизации на Wi-Fi точке это не совсем правильно, исключение домашний Wi-Fi роутер, да и то не всегда.
Люди приходят и уходят, вместе с ними уходят пароли, что кране нехорошо для безопасности.
Можно конечно менять пароль с увольнением сотрудника и заново всем его раздавать, но согласитесь, если клиентов больше 10…. так себе занятие.
Решил поделиться с вами рабочим рецептом авторизации пользователей через Radius сервер т.е. каждый пользователь в такой схеме будет иметь свой логин и пароль.
Статья будет в двух частях, в этой статье рассмотрим установку и первоначальную настройку Freeradius3 с хранением клиентов в текстовом файле.
Во второй части прикрутим хранение в MySQL + WebGUI для администрирования.
Дано:

  • FreeBSD 11.2
  • IP адрес 10.200.6.20
  • Asus rt16-n с ip адресом 10.200.6.16 

Ставить будем из портов.
Первом делом обновляем порты:

# portsnap fetch update

Далее:

# /usr/ports/net/freeradius3
# make config

В config установки отмечаем использование MySQL
([X] MYSQL MySQL database support)

# make install clean

Переходим к настройке:

cd /usr/local/etc/raddb/

В рамках этой статьи нас интересуют всего два конфигурационных файла:

  1. clients.conf — файл в котором мы будем описывать откуда можно подключаться к нашему серверу
  2. users — в этом файле мы будем хранить самих пользователей

Разрешим нашему роутеру подключаться к Radius серверу, допишем в конце clients.conf

# vi /usr/local/etc/raddb/clients.conf
client asus {
        ipaddr = 10.200.6.16
        secret = 12345678
}

Если в вашей сети несколько устройств, чтобы каждое не описывать, то сеть можно указать с маской как ipaddr = 10.200.6.0/24

Заведем для теста пользователя:

# vi /usr/local/etc/raddb/users
vladimir   Cleartext-Password := "12345678"
           Service-Type = Login-User,
            Login-IP-Host = 0.0.0.0

Для теста запустим в консоли:

# radiusd -X

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

[shell]echo User-Name='vladimir',User-Password='12345678' | radclient -c '1' -n '3' -r '3' -t '3' -x 'localhost:1812' 'auth' 'testing123'[/shell]

Пароль на подключение указываем не тот который указали в clients.conf, а используем тестовый пароль(testing123), который есть в clients.conf по умолчанию у клиента localhost

Должны получить вывод:
<pre class="lang:sh decode:true">Sent Access-Request Id 141 from 0.0.0.0:38791 to 127.0.0.1:1812 length 44
User-Name = "vladimir"
User-Password = "12345678"
Cleartext-Password = "12345678"
Received Access-Accept Id 141 from 127.0.0.1:1812 to 127.0.0.1:38791 length 32
Service-Type = Login-User
Login-IP-Host = 0.0.0.0

Из него видно, что мы послали запрос и получили ответ.

Гасим наш экземпляр freeradius (в консоли где он запущен Ctrl+c)

Разрешаем запуск :

echo radiusd_enable=\"YES\" >> /etc/rc.conf

Запускаем:

# /usr/local/etc/rc.d/radiusd start

Настраиваем Wi-Fi роутер

В Asus это:
Беспроводная сеть > Настройка RADIUS где указываем:

Установка Freeradius 3 на FreeBSD

Беспроводная сеть > Общие:
Метод проверки подлинности — WPA2-Enerprise

Жмем ПРИМЕНИТЬ и пробуем подсоединиться к wi-fi точке с именем и паролем, который указали в файле users.

Должно все получится, если не получается — прочитайте пожалуйста еще раз внимательно.

P.S.

Для дебага гасите экземпляр FreeRADIUS

# /usr/local/etc/rc.d/radiusd stop

И запускайте в консоли и читайте вывод

# radiusd -X

При написании этой статьи параллельно устанавливал и настраивал FreeRADIUS 3 и смог авторизоваться на wi-fi роутере с моей парой логин-пароля.

Для любителей Linux (Ubuntu, Debian….) можно так же воспользоваться этой статью, разница только в установке и местоположения конфигов, так же проверял установку — работает

  • Установка apt-get install freeradius freeradius-utils freeradius-mysql 
  • Путь до конфигов /etc/freeradius/3.0
  • Старт-Стоп service freeradius start (stop)
  • Debug freeradius -X 

Вторая часть статьи здесь

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.