Очень кратко как настроить минимальный radiusserver и точку для per user авторизации. По сути шпаргалка.

 

С 4.7.7 доступен из коробки и настраивается из webui http://forum.nag.ru/forum/index.php?showtopic=110269&view=findpost&p=1198743

 

Всё происходит на mageia5.

 

Ставим:

[root@server etc]# urpmi freeradius
Для удовлетворения зависимостей будут установлены следующие пакеты:
 Пакет                          Версия       Релиз         Платформа 
(источник «Core Updates»)
 freeradius                     2.2.8        1.1.mga5      i586    
 libfreeradius1                 2.2.8        1.1.mga5      i586    
Будет использовано 6.9МБ дополнительного дискового пространства.
Будет загружено 1.4МБ пакетов.
Установить 2 пакетов? (Y/n) y


   rsync://mirror.yandex.ru/mageia/distrib/5/i586/media/core/updates/freeradius-2.2.8-1.1.mga5.i586.rpm
   rsync://mirror.yandex.ru/mageia/distrib/5/i586/media/core/updates/libfreeradius1-2.2.8-1.1.mga5.i586.rpm                                                               
устанавливается libfreeradius1-2.2.8-1.1.mga5.i586.rpm freeradius-2.2.8-1.1.mga5.i586.rpm из /var/cache/urpmi/rpms                                                         
Подготовка...                    #########################################################################################################################################
     1/2: libfreeradius1        #########################################################################################################################################
     2/2: freeradius            #########################################################################################################################################
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
....................................................+.................................................+.............................................................+...........+.......................................................................+.......................++*++*++*
10+0 записей получено
10+0 записей отправлено
скопировано 5120 байт (5,1 kB), 0,0040012 c, 1,3 MB/c

 

Конфигурим согласно дифу:

--- raddb/clients.conf  2015-10-16 23:00:54.000000000 +0600
+++ raddb-/clients.conf 2015-11-12 09:28:32.744306460 +0600
@@ -233,3 +233,9 @@
#              secret = testing123
#        }
#}
+
+client test-wifi {
+        ipaddr = 192.168.254.151 #IP адрес точки, которая будет обращаться к радиусу
+        secret = testkey #Секретный ключик. Такой же надо будет поставить на Wi-Fi точке.
+        require_message_authenticator = no  #Лучше так, с каким-то D-Linkом у меня не получилось иначе
+}
diff -uNrwB raddb/eap.conf raddb-/eap.conf
--- raddb/eap.conf      2015-10-16 23:00:54.000000000 +0600
+++ raddb-/eap.conf     2015-11-12 10:02:35.675161250 +0600
@@ -27,7 +27,7 @@
               #  then that EAP type takes precedence over the
               #  default type configured here.
               #
-               default_eap_type = md5
+               default_eap_type = mschapv2

               #  A list is maintained to correlate EAP-Response
               #  packets with EAP-Request packets.  After a
@@ -301,7 +301,7 @@
                       # for the server to print out an error message,
                       # and refuse to start.
                       #
-                       make_cert_command = "${certdir}/bootstrap"
+                       #make_cert_command = "${certdir}/bootstrap"

                       #
                       #  Elliptical cryptography configuration
diff -uNrwB raddb/modules/dhcp_sqlippool raddb-/modules/dhcp_sqlippool
--- raddb/modules/dhcp_sqlippool        2015-10-16 23:00:55.000000000 +0600
+++ raddb-/modules/dhcp_sqlippool       2015-11-12 09:14:37.384390909 +0600
@@ -15,7 +15,7 @@
       pool-key = "%{Calling-Station-Id}"

       # For now, it only works with MySQL.
-       $INCLUDE ${confdir}/sql/mysql/ippool-dhcp.conf
+       #$INCLUDE ${confdir}/sql/mysql/ippool-dhcp.conf

       sqlippool_log_exists = "DHCP: Existing IP: %{reply:Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})"

diff -uNrwB raddb/modules/mschap raddb-/modules/mschap
--- raddb/modules/mschap        2015-10-16 23:00:55.000000000 +0600
+++ raddb-/modules/mschap       2015-11-12 10:01:45.652027637 +0600
@@ -16,24 +16,24 @@
       # add MS-CHAP-MPPE-Keys for MS-CHAPv1 and
       # MS-MPPE-Recv-Key/MS-MPPE-Send-Key for MS-CHAPv2
       #
-#      use_mppe = no
+       use_mppe = yes

       # if mppe is enabled require_encryption makes
       # encryption moderate
       #
-#      require_encryption = yes
+       require_encryption = yes

       # require_strong always requires 128 bit key
       # encryption
       #
-#      require_strong = yes
+       require_strong = yes

       # Windows sends us a username in the form of
       # DOMAIN\user, but sends the challenge response
       # based on only the user portion.  This hack
       # corrects for that incorrect behavior.
       #
-#      with_ntdomain_hack = no
+       with_ntdomain_hack = yes

       # The module can perform authentication itself, OR
       # use a Windows Domain Controller.  This configuration
diff -uNrwB raddb/proxy.conf raddb-/proxy.conf
--- raddb/proxy.conf    2015-10-16 23:00:55.000000000 +0600
+++ raddb-/proxy.conf   2015-11-12 09:18:25.323031416 +0600
@@ -665,6 +665,12 @@
       #  requests are not proxied to it.
}

+realm DEFAULT {
+        type = radius
+        authhost = LOCAL
+        acchost = LOCAL
+}
+
#
#  This realm is for requests which don't have an explicit realm
#  prefix or suffix.  User names like "bob" will match this one.
diff -uNrwB raddb/users raddb-/users
--- raddb/users 2015-10-16 23:00:55.000000000 +0600
+++ raddb-/users        2015-11-12 09:18:52.446107632 +0600
@@ -201,3 +201,5 @@
#      Service-Type = Administrative-User

# On no match, the user is denied access.
+
+user1 Cleartext-Password := "password1" # собсно имя юзера/пароль с которыми будем логиниться

 

Включаем запуск при загрузке и перезапускаем:

[root@server etc]# systemctl enable radiusd
[root@server etc]# service radiusd restart
Redirecting to /bin/systemctl restart radiusd.service

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


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

Настраиваем точку как показано на скриншоте.

 

Ессно все ключи и пароли заменить на что-нить человеческое. Собсно так же никто не запрещает привернуть это дело к вашему любимому биллингу.

radius1.jpg

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


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

Начиная с версии 4.7.7 в прошивку добавлен радиус сервер (использован free radius). Это позволяет без особых усилий развернуть сеть с централизованной аутентификацией на базе 802.1x EAP-TTLS-PEAP-MSCHAPv2 с прозрачным роумингом внутри сети и индивидуальными парами логин/пароль для каждого пользователя.

 

Конфигурация не нуждается в коментариях (см скриншот). Стоит отметить лишь что Shared Secret в настройках радиус сервера и в настройках Wireless-Security должны совпадать. Настройка AP приведена на скриншоте выше.

 

Одним из примеров использования может являться, разбиравшийся недавно на форуме, пример с гостинницей.

 

При заселении клиента, администратор на ресепшн заводит пользователь учётную запись, например "office_N" с паролем "васяпупкин". После чего Вася Пупкин получает доступ к сети.

 

В момент выписки, администратор удаляет запись или меняет пароль.

 

Тем самым время жизни доступа = времени проживания клиента. Нет открытой сети - нет проблемы с законодательством. И т.д. и т.п.

radius.jpg

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


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

Настройка клиентов...

 

Под андроид всё просто и ясно. Ткнули на сеть, ввели логин и пароль - заработало.

 

Под линукс в нетворк менеджере в свежих версиях так же выбираем сеть, выбираем WPA2 Enterprise, TTLS, MSCHAPv2.

Если система старенькая или по какой-то причине настроить не удаётся, то достаточно будет отредактировать нужную секцию в /etc/wpa_supplicant.conf по аналогии:

 

network={
   mode=0
   scan_ssid=1
   ssid="Wive-NG-MTEAP"
   priority=1
   key_mgmt=WPA-EAP IEEE8021X
   eap=PEAP
   identity="test1"
   password="test1"
   proactive_key_caching=1
}

 

С windows как всегда всё через Ж. Там нужно вручную создать подключение через "центр управления сетями и общим доступом" начиная с ввода SSID руками...

 

Собсно скриншоты по шагам:

1.jpg2.jpg3.jpg4.jpg5.jpg6.jpg7.jpg

 

Как оно в MacOS ХЗ. Но скорее всего как и в андроиде. Просьба попробовать у кого есть под рукой.

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


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

на apple аналогично android'ам, ввести имя пользователя/пароль и принять сертификат от сервера

IMG_3672.PNG

IMG_3673.PNG

IMG_3674.PNG

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


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

Одним из примеров использования может являться, разбиравшийся недавно на форуме, пример с гостиницей.

радиус можно использовать только в роли выключателя? (пользователь может залогиниться/нет)

или возможно иметь какие-то индивидуальные настройки на пользователя?

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


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

О встроенном фрирадиусе речь? Только авторизация. О каких настройках речь-то идёт? Ну в будущем будет время экаунтинг добавлю.

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


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

нет, о стороннем.

 

о каких настройках? ну, скажем, кому-то дать доступ в локальную сеть, а кому-то нет. или зашейпить по-разному. или ещё что.

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


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

Какой шейпинг на уровне простого бриджа? =))) Какое ограничение доступа? =)

 

Я вам подскажу как это правильно сделать:

1) wifi в отдельную подсеть со своим DHCP и т.д.

2) ограничение все абсолютно на уровне шлюза из wifi сети во всё остальное включая шейперы и прочее

 

Не надо пытаться на АП навешивать подобный функционал. Во первых дорого с точки зрения CPU, во вторых бессмысленно, ибо один фиг надо отделять мух от котлет (провод/беспровод) на L3. И там уже можно лимитировать кого и как удобно. Ну и радису развернуть.

 

В точку радиус встроен исключительно что бы быстро развернуть доступ к сети с индивидуальными парами логин/пароль.

 

Нет ну с дури и на АП нагородить можно. Вот только цена вам сильно не понравиться. Как и предсказуемость решения в разы упадёт вместе с гибкостью (в целом). =)

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


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

2) ограничение все абсолютно на уровне шлюза из wifi сети во всё остальное включая шейперы и прочее

разумеется

 

вопрос был: может ли шлюз как-то идентифировать клиента? скажем, выдавать разным клиентам ip из разных диапазонов. или вообще в отдельные vlan разных клиентов.

или дёргать скрипты по подключению/отключению клиентов, которые будут правила iptables править. или ешё что.

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


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

По MAC, источнику репорта и паре логин/пароль. На L2 других данных нет. А там уже как настроите шлюз и взаимодействия радиуса и прочего на нём. Т.е. мы на уровне радиуса чётко можем видеть с какой АП и какой клиент пришёл. Остальное вопрос автоматизации на шлюзе (я ж не в курсе что вы в качестве оного юзаете). Там может вообще биллинг какой навороченный. Или может самонастроенный *nix с freeradius и самописной обвязкой.

 

От логики на АП это уже никак не зависит.

 

Можно накрутить хотспот в виде chillispot там данных и возможностей несколько больше. Но и ресурсов он жрёт в разы больше на AP. Тут вопрос скорее надо ставить как "а что требуется реализовать?" и исходя из этого уже решать что использовать.

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


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

в общем понятно, надо копать в сторону freeraduis, его интеграции с dhcp и т.п.

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


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

или вообще в отдельные vlan разных клиентов.

 

Такого варианта нет и точно не предвидиться. Слишком дофига архитектурно менять придётся, ради кейза который нужен в 99% только WISP куда мы даже не планируем метить. У нас indoor однако. И если и будет outdoor то до массового прихода 802.11ax мы не будем планировать лезть в WISP.

 

в общем понятно, надо копать в сторону freeraduis, его интеграции с dhcp и т.п.

 

Да не обязательно FreeRadius. Просто это одна из самых навороченных реализаций при этом открытая. А так да. Свзяка радиус dhcp возможно управление оттуда же свитчами если уж сильно наворочено хочется. Тут всё от полёта фантазии админа зависит.

 

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

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


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

11 удалённо эксплуатируемых уязвимостей free radius http://www.opennet.ru/opennews/art.shtml?num=46870 .... Некоторые касаются и нас. Всем кто ипользует радиус встроенный в прошивку, при этом не лимитирует доступ к нему - обновляемся до 6.2.9 без раздумья.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
Подписчики 0