Установка OpenVPN

Материал из wiki.p3.ru

Это Howto может быть использовано как на Linux VPS так и на выделенных серверах. Перед установкой на VPS создайте запрос в службу поддержки на подключение tun модуля.

Скачиваем последний дистрибутив версии OpenVPN с сайта http://www.openvpn.net . Это может быть архив source в формате .tar.gz или src.rpm . Если дистрибутив установленной OS имеет уже готовый rpm, то лучше установить его. Например, для fedora core 4 выполняем:

yum install openvpn

Для Debian-based дистрибутивов:

apt-get install openvpn

Теперь нужно создать папку /etc/openvpn (если она еще не создана) и скопировать туда папку с сертификатами и конфигами. Примеры того и другого лежат с корне архива .tar.gz, если была установка из source, иначе они будут разбросаны по всей системы на усмотрение того, кто делал rpm. Вот некоторые варианты, где можно найти эти папки:

/etc/share/openvpn
/usr/share/doc/openvpn
/usr/share/doc/packages/openvpn

Итак, надо скопировать папки easy-rsa и sample-config-files. На самом деле, примеры конфигов можно не копировать, а скопировать оттуда только файл server.conf.

Идем в /etc/openvpn/easy-rsa и выполняем следующим команды:

. ./vars
./clean-all
./build-ca

Будут спрашивать данные для сертификата, лучше отвечать ближе к правде, хотя и не обязательно. Важно обязательно что-то писать в поле, не оставлять пустыми.

./build-key-server server

Аналогично, отвечать нужно на все вопросы. Common name должно быть server. На 2 вопроса отвечать y

./build-dh

Теперь делаем сертификат для клиента. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента.

./build-key client1

Если Вы хотите защитить сертификат паролей то используйте

./build-key-pass client1

Важно с поле Common Name писать соответствующее имя, например client1

Настраиваем конфиг для сервера. Он должен находится в /etc/openvpn и называтся server.conf. Все что нам нужно изменить в примера конфига:

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option WINS 10.8.0.1"
user nobody
group nobody

Сохраняем файл.

Выполняем

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Запускаем OpenVPN:

service openvpn start

Для Debian:

/etc/init.d/openvpn start

Теперь ставим OpenVPN клиент для Windows. Его можно скачать здесь: http://openvpn.se. После установки заходим в папку установки программы, например: C:\Program and Files\OpenVPN\sample-config. Открываем текстовым редактором (блокнотом) файл client.ovpn и пишем в строке

remote my-server-1 1194

IP своего сервера вместо my-server-1. Больше ничего не трогаем, сохраняем и закрываем файл.

Последнее что надо сделать, это скачать с сервера 3 файла сертификатов в эту же папку, где только что редактировали файл. Итак, скачать нужно следующие файлы:

/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client1.crt
/etc/openvpn/easy-rsa/keys/client1.key

client1 соответственно нужно заменить на нужный номер клиента. После этого переименовываем файлы, убирая цифры номера клиент, т.е. из client1.crt делаем client.crt и т.д.

Все готово для подключения и проверки.

Нажимаем правой кнопкой на файл client.ovpn и выбираем Start OpenVPN on this config file. Убеждаемся, что соединение установлено правильно. Делаем пинг до сервера 10.8.0.1. Сейчас весь трафик ходит через VPN в зашифрованном виде.

Смотрите также