Структура взаимодействия основных частей модуля DialUp изображена на рисунке.

(Network Access Server) - сервер, через который происходит выход клиента в интернет.
В роли NAS может выступать как специализированное оборудование (Cisco, Huawey), так и обычные компьютеры с модемами, либо с программой поддержки VPN.
Основное назначение NAS - осуществлять доступ пользователей к внешней сети, при этом может происходить туннелирование трафика пользователя (VPN), преобразование протокола канального уровня (PPP -> Ethernet) и другие преобразования.
NAS посылает на RADIUS-сервер два типа запросов: авторизационные (запросы с просьбой установки соединения, содержащие логин и пароль) и запросы аккаунта (уведомительные, содержат информацию о начале - Start - или окончании - Stop - соединения, а также о протекании хода соединения - Update).
Базовые сведения о протоколе RADIUS и конфигурировании атрибутов.
Протокол RADIUS основан на UDP, представляет из себя пакет определённого типа с набором атрибутов. Рассмотрим ход типового соединения по логу RADIUS запросов (radius.log):
INFO 17.01.2008 05:37:49 AUTH:
Type=AUTHENTICATION_REQUEST
Attributes:
User-Name=1579
NAS-Identifier=drs1.igs.ufanet.ru
CHAP-Password=^ï.Â.ÆÉ .î麪
«Ó^
NAS-IP-Address=89.189.150.67
NAS-Port=1
Service-Type=2
Framed-Protocol=1
Calling-Station-Id=10.47.33.2
NAS-Port-Type=5
CHAP-Challenge=»^hÃãs&{{2Êi ñÓÕ½åH°vÛÝc^bô..é`¬¯¸o.+.^§
INFO 17.01.2008 05:37:49 RESPONSE:
Type=AUTHENTICATION_ACCEPT
Process time:113
Attributes:
Service-Type=2
Framed-Protocol=1
Framed-IP-Address=89.189.151.3
mpd-limit=out#1=all shape 128000 pass
mpd-limit=in#1=all rate-limit 10000000 pass
mpd-limit=in#1=all rate-limit 10000000 pass
INFO 17.01.2008 05:37:49 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=1579
NAS-Identifier=drs1.igs.ufanet.ru
NAS-IP-Address=89.189.150.67
NAS-Port=1
Service-Type=2
Framed-Protocol=1
Framed-IP-Address=89.189.151.3
Acct-Status-Type=1
Acct-Session-Id=530269-p0001
Acct-Authentic=1
Acct-Link-Count=1
Acct-Multi-Session-Id=530269-p0001
NAS-Port-Type=5
Calling-Station-Id=10.47.33.2
INFO 17.01.2008 05:37:49 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:
INFO 17.01.2008 05:47:49 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=1579
NAS-Identifier=drs1.igs.ufanet.ru
NAS-IP-Address=89.189.150.67
NAS-Port=1
Service-Type=2
Framed-Protocol=1
Acct-Input-Octets=1250
Framed-IP-Address=89.189.151.3
Acct-Output-Octets=1327
Acct-Status-Type=3
Acct-Session-Time=600
Acct-Input-Packets=56
Acct-Session-Id=530269-p0001
Acct-Authentic=1
Acct-Link-Count=1
Acct-Multi-Session-Id=530269-p0001
Acct-Output-Packets=56
Acct-Output-Gigawords=0
Acct-Input-Gigawords=0
NAS-Port-Type=5
Calling-Station-Id=10.47.33.2
INFO 17.01.2008 05:47:49 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:
...
INFO 17.01.2008 18:22:16 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=1579
NAS-Identifier=drs1.igs.ufanet.ru
NAS-IP-Address=89.189.150.67
NAS-Port=1
Service-Type=2
Framed-Protocol=1
Acct-Input-Octets=59455380
Framed-IP-Address=89.189.151.194
Acct-Output-Octets=75469553
Acct-Status-Type=2
Acct-Session-Time=39570
Acct-Input-Packets=159904
Acct-Session-Id=536566-p0001
Acct-Authentic=1
Acct-Link-Count=1
Acct-Multi-Session-Id=536566-p0001
Acct-Terminate-Cause=6
Acct-Output-Packets=140465
Acct-Output-Gigawords=0
Acct-Input-Gigawords=0
NAS-Port-Type=5
Calling-Station-Id=10.47.33.2
INFO 17.01.2008 18:22:16 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:Каждый пакет содержит информацию о NASе ( и/или ), на основании которой RADIUS-сервер сопоставляет пришедший пакет NASу в модуле. При сопоставлении сначала производится поиск NASа с названием, идентичным атрибуту пакета, затем, если результат отрицательный, идёт поиск NASа c IP-адресом, равным . Если пришедшему пакету NAS не сопоставлен в , выводится ошибка .
Обмен сообщениями с каждым NASом шифруется определённым кодовым словом - секретом. Секрет должен совпадать для NASа в биллинге и для конфигурации самого NASа. При несовпадении секретов проверка пароля будет все время выдавать неверный результат, т.к. секрет используется при шифровании пароля.
Идентификатором соединения в пределах NASа для RADIUS-сервера выступает атрибут . Обратите внимание, что он идентичен для всех пакетов в пределах сессии. NAS должен контролировать, чтобы в один момент времени одинаковый не проставлялся в RADIUS пакетах, относящихся к разным сессиям.
Далее рассмотрим попакетно обмен данными между NASом и RADIUS-сервером по ходу соединения.
1.
Запрос авторизации отправляется NASом RADIUS-серверу и содержит помимо идентификационной информации соединения, указанной выше, информацию о логине и пароле пользователя. Логин передаётся в открытом виде, пароль шифруется. Поддерживаются протоколы шифрования PAP, CHAP, MS-CHAP v.2 с генерацией 128 битных MPPE ключей. Протокол авторизации определяется RADIUS-сервером автоматически на основании набора атрибутов.
Протокол PAP является самым ненадёжным, пароль шифруется обратимым способом с помощью секрета. RADIUS-сервер дешифрует его и сравнивает с паролем, указанным для логина в базе данных. Данный режим авторизации можно использовать для проверки секретов. При некорректном секрете пароль в PAP режиме не расшифровывается и отображается в и в мониторе ошибок не в том виде, в котором был введён пользователем.
Протоколы CHAP, MS-CHAP v.2 поддерживают необратимое шифрование, когда RADIUS-сервер сравнивает не открытый пароль, а результаты криптопреобразований открытого пароля, выполненного им самим и NASом.
MPPE ключи, передаваемые в пакете в режиме MS-CHAP v.2 авторизации, могут использоваться NASом для шифрования VPN-туннеля пользователя.
Порядок обработки авторизационного пакета следующий: запрос -> скрипт предобработки -> антиспам (блокировка) -> биллинг (проверка наличия логина/пароля, баланса и т.д.) -> штатный Reject-To-Accept -> обработка события "RADIUS-аутентификация" -> антиспам (сбор статистики) -> ответ.
2.
Отказ в авторизации, данный пакет не содержит атрибутов. Детальную причину отказа в авторизации пользователя можно посмотреть в в режиме ошибок.
3.
Пользователь авторизован. В данном пакете могут содержатся атрибуты, устанавливающие характеристики соединения пользователя (IP адрес, скорость, максимальную длину сессии, частоту UPDATE пактов и т.п.).
4.
Запросы аккаунтинга могут быть трёх типов: , , . Различаются они атрибутом , который равен 1, 2 или 3 соответственно. Данный тип запросов передаёт на RADIUS-сервер информацию о ходе соединения (соединение началось, завершилось или текущее состояние соединения).
5.
Ответ RADIUS сервера о том, что он получил запрос аккаунтинга. Ответ не содержит никаких атрибутов. Исключение составляет ответ MPD серверу, который может содержать атрибут, информирующий NAS о необходимости разрыва соединения.