skoltogyan писал(а):Михаил, если есть возможность = подробнее РАССКАЖИТЕ про это
Да ту вроде все итак понятно:
Есть FreeBSD 5.2.1 (5.3), на ней стоят Squid, FreeRADIUS, PostgreSQL, MPD и еще мелочь всякая.
Вкраце по MPD (на нем реализован VPN сервер), MPD обращается к FreeRADIUS (есть 2 вида запросов: authentication и accounting) На запрос authentication MPD отдаёт FreeRADIUS'у определённые данные (логин, пароль и т.д.), RADIUS отвечает да или нет и еще отдает MPD некоторые данные (например Framed-IP-Address), на основании чего MPD либо разрешает конект либо нет. На запрос accounting RADIUS'у отдается инфа, какая читаем доку.
Далее... данные от радиуса перд-ся MPD, а тот отдает их клиенту (это IP адрес, маска и т.д.)
Примечание: пароли от клиента к MPD летят в виде NTHash и RADIUS в зависимости от настроек сравнивает их с анологичными (из LDAP например)
После установки VPN тунеля по нему гоняем что нам нужно.
Пример сетки:
ИНЕТ<---->ADSL<----->FreeBSD <----->SWITCH<---->PC1......PCn
На Free стоит естественно DHCP, DNS, реальные данные такие:
SubNet: 192.168.100.0/24
GW: 192.168.100.1
DNS: 192.168.100.1
VPN Server: 192.168.100.1
VPN SubNet: 192.168.201.0/24
VPN Server: 192.168.201.1
На FreeBSD настроен соответствующим образом маскарад.
Сквид принимает запросы только из сетки 192.168.201.0/24
Radius берёт данные из OpenLDAP, так же как и Samba
Локальных пользователей нет, на FreeBSD стоит PAM_LDAP и NSS_LDAP, все юзера живут в OpenLDAP
RADIUS настроен так что выдаёт конкретному юзеро конкретный и постоянный IP из диапозона 192.168.201.10/24-192.168.201.100/24
Потому как этот IP светится в логах Squid и по нему можно сопоставить какой юзер сколько накачал и откуда.
Есть 2 вида статистики, по VPN, она ведётся RADIUS'ом и кладется в базу PostgreSQL и статистика по прокси-серверу Squid, она тоже в PostgreSQL сливается, почтовая статистика нас особо не интересует.
RADIUS считает все, абсолютно, и http трафик и почтовый и пинги наружу, все, абсолютно. Если нужно считать все виды трафика берём ipcad и вперёд.
Что еще то сказать, вроде все, есть куча мелочей и подводных камней, многие пытались такую связку сделать, получилось у немногих.
Мы потратили на сиё дело больше полугода и до сих пор накручиваем функционал, сейчас например делаем квоты на трафик. А то некоторые юзера по гигу качают а средст автоматического отключения при привышении порога нет, а ох как нужно.
Пишем веб-интерфейс для рулением OpenLDAP (добавл. редактиров. удаление юзеров, админья самбы и т.д.)
Вобщем вкраце вот и все.... Если решение кого то заинтересовало и вы решите его использовать то мы срадостью этим займемся
Настроим, покажем и расскажем всё и вся....