Настройка такой конфигурации происходит в 3 этапа: 1. Настройка VPN с использованием pptpd; 2. Настройка авторизации VPN через FreeRADIUS; 3. Настройка шейпера; 1. Настройка VPN Необходимо установить пакеты ppp и pptpd. Также необходима поддержка PPP в ядре: Device Drivers ---> Network device support ---> PPP (point-to-point protocol) support PPP support for sync tty ports PPP Deflate compression PPP BSD-Compress compression PPP MPPE compression (encryption) (EXPERIMENTAL) PPP over Ethernet (EXPERIMENTAL) В файле /etc/pptpd.conf прописываем файл настроек PPP (параметр option). Также указываем адреса сервера внутри сети VPN (параметр localip) и диапазон адресов клиентов (параметр remoteip). См. пример файла конфигурации. В настройках PPP указываем имя сервера (параметр name), параметры шифрования. Для использования шифрования MPPE необходима его поддержка в ядре. Кроме того, в процессе аутентификации MPPE использует MS-CHAPv2. По этому при использовании шифрования MPPE также необходимо указать необходимость поддержки MS-CHAPv2 клиентом. По желанию указываем proxyarp (для того чтобы клиенты в сети VPN "видели" друг друга) и defaultroute. Прописываем в файле /etc/ppp/chap-secrets тестового пользователя и проверяем работоспособность VPN. 2. Настройка авторизации VPN через FreeRADIUS Необходимо установить пакет freeradius. Настройку сервера (файл radiusd.conf) проводим в соответствии с документацией на модуль rlm_stg.so (см. документацию на систему Stargazer). Настройку Stargazer с плагином для FreeRADIUS проводим в соответствиии с документацией на модуль mod_radius.so (см. документацию на систему Stargazer). В файле clients.conf, расположенном в дирректории с конфигурационными файлами FreeRADIUS, описываем, какие клиенты могут использовать FreeRADIUS. Рекомендуется заменить стандартный пароль, которым шифруется обмен информации с клиентом, "testing123" на что-то более приемлимое с точки зрения безопасности. После этого запускаем FreeRADIUS и удостоверяемся, что он работает строчкой "Mon Mar 31 16:06:17 2008 : Info: Ready to process requests." в журнале (обычно, /var/log/radius/radius.log). Если журнал FreeRADIUS не позволяет определить проблему - можно запустить сервер в отладочном режме с ключем -X. В этом режиме более детальное журналирование проводится в консоль. Если на данном этапе все работает - в файл насттроек PPP прописываем строчку plugin radius.so. После этого VPN должен нормально авторизоваться пользователями системы Stargazer. 3. Настройка шейпера Собственно настройки шейпер не требует. Всё, что нужно прописано в скриптах OnConnect и OnDisconnect. Шейпер предназначен для работы с хранилищем на файлах, однако, переделать скипт под MySQL или Firebird не составит труда. Скорость для пользоватлея задается в поле Userdata0 в kbit/sec. В этом поле должно быть прописано просто число без всяких kbit/sec и т.п. Если в этом поле у пользователя нет данных или стоит некорректное значение, пользователь будет ограничен скоростью определенной в переменной default_speed в скрипте OnConnect.