Шифрани свою сеть! Докучаев Дмитрий aka Forb Xakep, номер #059, стр. 059-082-5 name LOGIN remotename VPN # Информация для файла chap-secrets. lock # Лочим девайс, устанавливающий соединение. debug logfd 2 # Отладочные параметры. +chapms +chapms-v2 mppe-40 mppe-128 mppe-stateless # Осуществляется mppe-шифрование каждого пакета. noauth # Не требуем авторизации со стороны сервера. И последний штрих - запишем в /etc/ppp/chap-secrets следующие строки: LOGIN VPN "password" где LOGIN и password - аккаунт для соединения. Вот, собственно, и все. Можно тестировать соединение. Делаем это через консоль, используя псевдотерминальную опцию pty демона pppd. Поток будет передаваться pptp-клиентом: # pppd pty 'pptp vpn.server.ru --nolaunchpppd' call vpn nodetach Параметр nodetach не позволит демону уйти в бэкграунд. Так ты сможешь убедиться в правильности соединения. Когда появится надпись: "MPPE 128 Compression enabled", то считай, что соединение прошло удачно. Можешь давить ctrl+c и убирать опцию nodetach. В противном случае, перечитывай заново этот раздел и исправляй ошибку ;). Вроде все готово. Осталось добавить дефолтовую маршрутизацию в инет через VPN-шлюз. Откроем файл /etc/ppp/ip-up.local (если такого нет - создаем) и пишем в него две строки: /sbin/route del default /sbin/route add default gw $IPREMOTE Аналогично оформляется файл /etc/ppp/ip-up.down, после исполнения которого будет возвращен старый дефолтовый маршрут. Если все работает, остается добавить запуск pppd в загрузочный скрипт и радоваться жизни - соединение будет активизироваться при каждом старте машины. Еще раз напомню - не забудь добавить подгрузку ppp_mppe в /etc/modules, иначе pppd не поймет алгоритма шифрования. Всем спасибо, все свободны В этом материале я постарался дать максимум инфы о поднятии VPN-сети (как серверной, так и клиентской части). Разумеется, всего я сказать не мог, так что если у тебя что-то не получится, не отчаивайся, а исправляй ошибки. В конце концов, VPN взлетит ;). И помни - истина где-то в логах! Restricted Area Чтобы простые юзеры не смогли сделать себе халявный доступ, позаботься о защите паролем web-скриптов. Для этого допиши в .htaccess следующие строки: AuthType Basic AuthName "Admin zone" AuthUserFile "/path/to/.htpasswd" Require valid-user А затем в .htpasswd занести пару login:password. Файл /etc/raddb/users Я не рассказал об одном интересном файле под названием users. В нем хранятся предустановленные опции для каждого пользователя, а именно протокол, тип шифрования и т.д. Весьма интересной опцией является Idle-timeout, которая сбрасывает юзера после определенного время молчания (задается в секундах). Обязательно посмотри этот файл. Там полно понятных примеров. Кстати, freenibs содержит целую таблицу аналогичных параметров, так что совсем не обязательно указывать их в файле users. Проверка VPN-соединения Бывает, что VPN-шлюз перезагружают. Естественно, что соединение при этом пропадает. Восстановить его поможет небольшой скрипт, который запускается в определенное время и проверяет наличие pppd-процесса: |