Что такое RADIUS сервер

(IT инженерам не читать! А то уши в трубочку завернутся)
 

Насколько я понял, после бесконечных попыток пояснить мне, тупому Славику, любимыми: Гуглом и Яндексом, что ЭТО есть такое, я пришел к выводу, что RADIUS сервер (Remote Authentication in Dial-In User Service) - это есть программа работающая с некой базой данных пользователей, где, в этой базе, сидят такие данные, как логин, пароль, тариф и прочие атрибуты пользователя (абонента). Эта программа получает данные пользователя( логин и пароль) от от NAS (Network Access Server), коим могут быть такие вещи, как:

1. Точка Wi Fi доступа
2. VPN сервер (в моем случае это был некий L2TP сервер)
3. IP АТС
4. ...и прочее железо, которое в дальнейшем так и будем называть - "железка".

и затем смотрит по своей базе, можно ли этому пользователю давать добро на подключение к "железке" (NAS-у), или нет.

 

Так как RADIUS сервер практически вряд ли сможет работать с БАЗОЙ пользователей сам по себе, то его еще называют буфером (интерфейсом) между некой Биллинговой программой и "железкой" (NAS-ом) провайдера.  Хотя такая терминология больше путает, чем что-то разъясняет.
 

"Железки" (NAS-ы) провайдера, по сути своей, являются подчиненными, или "клиентами" RADIUS сервера. Они, по научному говоря, являются "сетевыми серверами доступа" - NAS (Network Access Server), которые передают через себя данные пользователя (абонента) - логин, пароль, объем трафика, время подключения RADIUS серверу, а RADIUS сервер смотрит в БАЗУ данных пользователей и уже затем решает, "перекрыть кислород" пользователю на основе этих полученных от "железок" данных, или нет. В моем личном случае в качестве NAS выступал отдельно взятый компьютер под Linux, на котором был запущен L2TP сервер (VPN сервер). Этот L2TP сервер переправлял данные пользователя, (его логин, пароль, количество трафика, время подключения), RADIUS серверу, а тот, посмотрев базе пользователей, может абонент работать в интернете дальше или нет, принимал свое решение. С соответствии с этим решением L2TP сервер, который организовывал клиенту VPN-подключение, либо отключал абонента, либо разрешал ему работать дальше. Так же можно и нужно представить себе для понимания такую, всегда неизменную, связку трех разных служб:
1. VPN-сервер (PPTP, L2TP, PPP, IPIP, IPSec) он же NAS, или наша любая другая "железка"
провайдера.
2. RADIUS сервера (буфер, интерфейс между NAS-ом и Биллингом).
3. Биллинг (от любой фирмы изготовителя).
Далее все то же самое, только несколько иными словами...
 

Итак! Еще раз... Для чего же нужен RADIUS сервер и что это есть такое???
RADIUS сервер используется
ТОЛЬКО И В ОСНОВНОМ для того, чтобы работать с БАЗОЙ данных пользователей и их валидностю. То есть каждому пользователю из Биллинговой программы заранее прописываются те или иные привилегии по использованию той или иной "железки" провайдера. Логин, пароль, тариф, скорость, время, (когда можно, когда нельзя) и так далее. И затем, RADIUS сервер, на основе этих данных из базы данных, выносит свой приговор пользователю, посылая этот приговор "железке" провайдера (NAS-у). И "железка", в моем случае это отдельный комп с установленным на него L2TP сервером (VPN сервером) вырубает пользователя или разрешает ему работать дальше. Авторизует его или отказывает в авторизации. Если эти привилегии пользователя учитывать не нужно, и в мире давно наступил коммунизм, то RADIUS сервер можно смело засунуть в топку и забыть про него, как про страшный сон. Я это сказал к тому, что по своей сути, RADIUS сервер - это мешающее провайдеру и пользователю, устройство. Так же как и Биллинг. Вполне достаточно иметь только VPN-сервер (к примеру, L2TP сервер) со своей личной базой пользователей, где будут только логины и пароли пользователей. И все...
 

Важное замечание - для чего еще может быть полезен RADIUS сервер... Естественно, как очень важный момент, получается, что при использовании RADIUS сервера не нужно каждой "железке" (NAS-у) провайдера, хранить в себе личную базу пользователей, их пароли, атрибуты и прочее, а можно и нужно хранить эту базу пользователей только в одном месте, на RADIUS сервере. Там эту базу провайдер будет админить через Биллинговую программу и ВСЕ "железки" (NAS-ы) провайдера, сразу будут об этом узнавать. Хвала, RADIUS серверу, что не нужно будет бегать к каждой "железке" в отдельности!!! Хоть это и вполне возможно при наличии и у админа здорового тела, времени и желания заниматься такой фигней.
 

Дык, вот! Каждая "железка" (NAS) провайдера, с которой общается пользователь ОБЯЗАНА знать IP-адрес RADIUS сервера и имеет в себе соответствующее поле, куда этот адрес можно прописать. Выходит, что КАЖДАЯ такая "железка" (NAS) умеет общаться не только с пользователем-клиентом, но и с RADIUS сервером, куда она, эта "железка", как шпион, как "стукачка", по тихому, по подлому, передает данные о том, что творит пользователь с ней родной, с бедной "железкой". Как долго подключен к ней пользователь, какой трафик прогнал через нее и прочее. Ну, и как было сказано выше, эта подлая "железка", получив от пользователя его имя и пароль, сначала спросит разрешение на аутентификацию пользователя у своего "начальства", то есть у RADIUS сервера, и уже затем даст пользователю добро на подключение к себе, или пошлет куда подальше. Так же RADIUS сервер, на основе своей, постоянно изменяющейся базы данных, может запросто сказать своей подчиненной "железке", что мол все, баста, лимит трафика или времени, клиент исчерпал. Отключай его, на фиг! И "железка" (NAS), подчинившись приказу RADIUS сервера, безропотно выполнит этот приказ.

 

В инете, в многочисленных описаниях, очень часто звучит терминология подобного вида:
"Клиент авторизуется на RADIUS сервере".
И именно эта дебильная фраза сбивала с толку бедного
тупого Славика и не давала ему понять сущности, что есть такое RADIUS сервер. На кол таких писателей, блин!!! Дык, вот, такая терминология в корне НЕВЕРНА!!! Клиент авторизуется ТОЛЬКО на "железке" (на VPN сервере, на NAS-е) провайдера. И именно к ней он и стучится с мольбой получить доступ в интернет. А вот сама подлая "железка" (NAS), вместо того, чтобы сразу подключить к себе пользователя, ломится к RADIUS серверу за разрешением и сообщает ему о том, что некий клиент к ней авторизуется. RADIUS сервер, с высоты свой НЕОПРАВДАННОЙ значимости, смотрит у себя по БАЗЕ, есть ли такой пользователь или нет, (что там записано за этим пользователем, какие грехи числятся), и говорит "железке" (NAS-у), что такой пользователь есть и ему можно дать добро или нужно послать на фиг. И затем уже "железка" (NAS) дает добро своему пользователю (или посылает его на фиг). Если RADIUS сервер не установлен и не существует в природе, то "железка"(NAS) сама в праве принять решение, авторизовать клиента или нет. То есть, в ней самой может существовать база пользователей для авторизации и она самостоятельно сможет решить, продолжать сессию пользователя или послать его... Посему правильно будет звучать такая фраза:
"Клиент авторизуется на "железке" (на NAS-е) провайдера". Именно к "железке" провайдера обращается клиент. НАПРЯМУЮ!!! А дальше уже подлая "железка" решает, в зависимости, от того, что прописано в ее настройках, обращаться за разрешение к своему хозяину - RADIUS серверу, или нет. А бедный Славик всегда думал иначе. Думал, что обращение идет всегда и исключительно на RADIUS сервер и уже затем, он пропускает клиента дальше, к "железкам", к сервисам провайдера. И потому непонятны были всегда эти картинки с "прямоугольничками" на разных сайтах с мануалами, где RADIUS сервер всегда стоит в сторонке. Как бы самый последний крайний "прямоугольничек". Типа, - "я тут совсем не при делах и знать ничего не знаю". А оно вон, оказывается, как обстоят дела! Вон, оказывается, кто тут на самом деле Главный говнюк!

 
В контексте программ "RADIUS сервера" и некого "Биллинга", можно сказать еще следующее:
"БАЗА пользователей" - общая для этих обеих служб!!! Формат ее может какой угодно. Даже может быть в формате базы "Ms SQL" Главное, чтобы и RADIUS сервер и Биллинговая программа, могли работать с этой базой и понимать ее.
 
RADIUS сервер, основываясь на данных из этой БАЗЫ, дает команду NAS серверу, вырубить того или иного пользователя, или разрешить ему работать дальше. Так же RADIUS сервер пишет в базу статистические данные пользователя, сколько он спалил трафика, как долго уже продолжается его интернет-сессия и так далее.. А Биллинговая программа может считать деньги абонентов по этой базе в реальном времени и так же дает возможность управлять этой базой данных, внося различные атрибуты пользователя. Дает возможность добавлять нового пользователя или удалять его. Так же вносит на счет абонента нулевой денежный остаток, если абонент вовремя не пополнил свой счет. А RADIUS сервер, видя "нолик" у пользователя, даст команду "железке" (NAS-у), отключить пользователя.

 

Немного практики для понимания... Чисто теоретически, допустим, имеем мы три компа: NAS, RADIUS сервер и Биллинг. База стоит на компе c RADIUS сервером. Комп с Биллингом включаем, подцепляемся к Базе, вносим туда новых пользователей, их тарифы и прочее. И вырубаем комп с Биллингом на фиг!!! Комп с RADIUS сервером будет замечательно работать и дальше. Будет работать основываясь на созданной с помощью Биллинга базе. Биллинг RADIUS серверу НЕ НУЖЕН!!! Биллинг нужен, лишь для того, чтобы потом, в дальнейшем, когда база пользователей уже заполнена, в реальном времени, начать уменьшать денежный баланс у абонентов. Но если этого делать не нужно и наступил коммунизм, то Биллинг можно запросто выключить. Повторюсь, RADIUS сервер начнет работать сам по себе, без Биллинга, основываясь лишь на ранее созданной БАЗЕ. Допустим, в базе данных сказано, что некий Вася Пупки, имеет право работать в интернете бесплатно, с нулевым балансом, но только в ночное время и только с определенной скоростью. Все! Начиная с этого момента, RADIUS сервер начнет работать сам по себе, разрешая Васе Пупки подключаться только ночью и только на определенной скорости. И эта запись в БАЗЕ есть неизменная и вечная запись для этого пользователя. Отсюда вопрос. Зачем нам в этом случае нужен комп с Биллингом? Все верно. Не нужен. Комп с Билллингом нужен лишь для того, чтобы что-то изменить в атрибутах и тарифе этого гипотетического Васи Пупкина. Только для этого.

 

Делаем выводы из всего выше сказанного:

RADIUS сервер (вместе с Биллингом) - ЭТО МЕРЗОКОЕ ЗЛО, которое не то, что помогает, оно жутко мешает!!!.. Тормозит работу, и клиента, и провайдера. И для самой телематики провайдера это ЗЛО на фиг не нужно!!! RADIUS сервер приходиться терпеть лишь потому, что пока еще не наступил коммунизм. И только поэтому!!! И если всякие там DHCP серверы, DNS серверы, WWW, FTP, WINS нужны и являются помощниками провайдера и клиента, то RADIUS сервер нужно в будущем гнать поганой метлой. Чтобы и духу его не было в телематике провайдера. И все бы так и было, но есть одно большое НО. Если вы внимательно читали этот опус, я обмолвился об одной вещи, но внимание на ней сильно не акцентировал. Дык вот, повторюсь еще раз про то, что я писал выше. Представим себе ситуацию, когда NAS-ов у провайдера очень много. И что нам делать в этом случае? На каждом NAS-е заводить свою личную базу пользователей с их логинам и паролями?! Нет, конечно! БАЗА должна быть одна. С ней должен работать наш RADIUS сервер, а все NAS-ы провайдера должны обращаться к этому RADIUS серверу. Только в этом случае, админу не придется бегать между разными "железками" (NAS-ами), чтобы подправлять там тариф, логин и пароль у одного и того же Васи Пупкина.

 

Аминь!



Подробно про это написано тут:
http://ru.wikipedia.org/wiki/RADIUS

Ссылочка на халявный RADIUS сервер:
http://ru.wikipedia.org/wiki/FreeRADIUS

Еще описание:
http://www.softpiua.com/en/radius/86-what-is-radius.html
и сам сервер:
http://www.softpiua.com/en/products/softpi/softpi-radius.html
 

Отзыв об этой Эпопее можете оставить в моей Гостевой книге. :)

Или на форуме: http://ntelekom.sytes.net/forum/viewtopic.php?t=254

Последнее обновление странички
Дата:     12 ноября 2013 г.
Время:  11:30