VPN по-хакерски Докучаев Дмитрий aka Forb Хакер, номер #074, стр. 074-052-3 1. Вписать в /etc/ipnat.rules следующие правила: map fxp0 192.168.0.2/32 -> ВНЕШНИЙ_АДРЕС/32 map fxp0 192.168.0.4/32 -> ВНЕШНИЙ_АДРЕС/32 2. Подгрузить модуль ipl.ko командой kldload ipl.ko. 3. Включить форвард пакетов командой sysctl –w net.inet.ip.forwarding=1. 4. Применить правила ipnat: ipnat –f /etc/ipnat.rules. Если все сделано правильно, пакеты будут успешно транслироваться. Запускаем и наслаждаемся Теперь самое время проверить работу mpd - не зря же мы все настраивали :). Запускай /usr/local/sbin/mpd и увидишь какие-то непонятные строки. Если в них нет ошибок, то можно нажимать ctrl+c и перезапускать mpd с параметром –b. Теперь сервис будет работать в режиме демона, и именно так его следует прописывать в загрузочных сценариях FreeBSD. После этого создай новое VPN-соединение с обязательным использованием шифрования и поддержкой дефолтного шлюза. Соединяйся и пробуй обратиться к какому-нибудь узлу. Получил ответ? Поздравляю! Это означает, что теперь твоя защита стала абсолютной :). Тебе не нужно прятаться за проксики и соксы, ведь у тебя уже есть маскирующий IP-адрес. Умное и нестандартное решение Помимо сервисов, совместимых с продуктами Microsoft, существуют проекты, юзающие собственный протокол передачи данных. Один из таких представителей – OpenVPN. Коренное отличие от других VPN-демонов можно узреть в шифровании. Трафик криптуется с помощью RSA-ключей стойким 1024-битным алгоритмом с возможностью увеличения до 2048 бит. Также есть поддержка сертификатов, как серверных, так и клиентских, и статических ключиков авторизации. Отлично продуман механизм сжатия данных – для этого используется внешняя библиотека lzo. Скорость передачи особенно актуальна для диалапщиков и любителей GPRS, поэтому они в первую очередь оценят прелести OpenVPN. А ты, в свою очередь, позаботишься о правильной установке проекта. Итак, поехали. Скачивай lzo с www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz и инсталлируй эту библиотеку. Иначе у тебя не соберется OpenVPN. Затем убедись, что на твоей машине стоит OpenSSL – это также важно. Если все депендсы удовлетворены, скачивай с http://prdownloads.sourceforge.net/openvpn/openvpn-2.0_rc1.tar.gz сорцы демона и собирай проект. Самое сложное – определиться с методом авторизации пользователей. Я решил, что выдавать каждому юзеру сертификат – занятие геморройное, поэтому ограничился парой «login:password» и доверительным сертификатом сервера. Думаю, это решение тебе также подойдет. Я знаю один VPN-сервис, админы которого выдают своим клиентам постоянные ключи безо всяких паролей. В принципе, это дело вкуса, и я не буду навязывать свое мнение. Но о настройке расскажу :). Переходи в каталог /usr/local/etc/openvpn и создавай папку ssl. Для упорядоченности. Затем передвигайся в этот каталог и сгенерируй сертификат с приватным ключом. Это делается такой командой: openssl req -nodes -new -x509 -keyout vpn.key -out vpn.crt -days 3650 Теперь создаем параметры шифрования: |