Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #59, НОЯБРЬ 2003 г.

Шифрани свою сеть!

Докучаев Дмитрий aka Forb

Xakep, номер #059, стр. 059-082-4


В web-среде разобраться довольно просто, но и в ней частенько возникают различные проблемы. Вначале необходимо задать тариф (это делается на первой странице). Там указывается номинальная стоимость трафика или минуты соединения.

После добавления тарифа можно создавать новых юзеров. Все они привязываются к этому тарифу и имеют ряд опций, которые также можно изменить. Например, ты можешь выставить кому-нибудь халявный доступ, прописать статический IP-адрес и т.д.

Поехали!

Теперь протестируем полученную сеть. Запускай радиус в режиме откладки (radiusd -X). Затем попробуй достучаться до него клиентом. Для этого есть фича radtest, помогающая определить нормальную работоспособность сети. Допустим, ты создал пользователя guest с паролем guest, а на адрес localhost у нас прописан пароль password. Вот как нам надо запустить radtest:

radtest guest guest 127.0.0.1 0 password

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

Если авторизация прошла успешно, юзеру вернется информационное сообщение об аккаунте (протокол, IP-адрес и прочее). В противном случае придет reject-пакет. Причину ошибки можно найти в двух местах:

1. В сообщениях радиуса (ты помнишь, что он был запущен в режиме откладки?). Все error-сообщения будут видны на экране.

2. В папке PREFIX/var/log/radius/radius.log ты найдешь подробную инфу об аутентификации.

Если все заработало, осталось лишь проверить работоспособность связки pptpd-pppd-portslave-radius. Для этой цели создадим обычное vpn-соединение и начнем тестирование (не забудь включить два параметра демона: debug и logfd 2). Как правило, ошибки бывают в опциях pppd. Информацию о них можно посмотреть в /var/log/messages.

Все работает? Замечательно! Теперь убери логирование паролей и запусти радиус в режиме демона. Не забудь прописать все сервисы в автозапуск и именно в том порядке, как я показал выше. После этого можешь с гордостью сказать, что поднял полноценный VPN-шлюз ;).

Клиент всегда прав!

Год назад я задал в свой саппорт вопрос: как установить VPN-клиент под Linux? В ответ я услышал что-то типа: "Поставьте винду и не парьте нам мозги". Остался неприятный осадок. В итоге пришлось додумываться самому, как же поднять этот pptp.

Единственной серьезной проблемой при настройке pptp является отсутствие модуля ppp_mppe в старых ядрах. Этот модуль осуществляет криптование трафика по стандарту Microsoft Point-to-Point Encryption. Модуль идет со всеми дистрибутивами, начиная с ядра 2.4.19. Если ты его все-таки не нашел в своей системе, то скачай и заинсталь его самостоятельно.

pppd - на старт!

Сначала подгружаем модуль командой "insmod ppp_mppe" и прописываем его в /etc/modules, чтобы активизировать mppe при старте системы. Также подправим файл /etc/modules.conf, чтобы ppp знал обо всех системных модулях. Вот фрагмент, который тебе надо поставить в modules.conf:

alias ppp0 ppp_generic

alias tty-ldisc-3 ppp_async

alias ppp-compress-18 mppe

Все, pppd готов к работе. Теперь устанавливай пакет pptp-linux, который будет связываться с VPN-шлюзом. Установил? Тогда создавай файл /etc/ppp/peers. В нем мы пропишем информацию о сервере. В моем примере конф носит название "vpn" и имеет следующее содержимое:

Назад на стр. 059-082-3  Содержание  Вперед на стр. 059-082-5
<<< НАЗАД ||| ГЛАВНАЯ