Предыстория:

До этой недели с успехом пользовался pptpd для VPN соединения, однако после того как провайдер поставил у себя новый коммутатор, VPN соединения перестали работать. Путем долгих поисков, выяснил что на этом коммутаторе был запрещен GRE трафик. Можно было конечно попытаться пободатся с провайдером, чтоб разрешили доступ, но здраво подумал, что лучше сделать так, чтоб подобных вопросов просто не возникало. Посему назрела необходимость поднять OpenVPN, который не использует GRE пакеты. Да и гораздо безопаснее сам по себе в конечном итоге.

Итак имеем: сервер Ubuntu 8.04 с двумя сетевыми картами. eth0 смотрит в локаль, eth1 смотрит в интернет. Настроен маскарадинг и форвардинг. В iptables разрешено все что не запрещено.

1. Установка

sudo apt-get install openvpn

Создаем папки: /etc/openvpn; /etc/openvpn/keys; /etc/openvpn/easy-rsa

Идем в /usr/share/doc/openvpn/examples/easy-rsa/2.0 и копируем всю папку куда-нибудь поближе. Например в /etc/openvpn/easy-rsa

редактируем: /etc/openvpn/easy-rsa/vars

export KEY_DIR="/etc/openvpn/keys"
export KEY_COUNTRY="RU"
export KEY_PROVINCE="VO"
export KEY_CITY="Vologda"
export KEY_ORG="pvtuning"
export KEY_EMAIL="admin@pvtuning.ru"

2. Создание ключей:

из папки /etc/openvpn/easy-rsa/ выполняем

sourse ./vars. && ./clean-all && ./build-ca && ./build-key -server имя_сервера

имя_сервера — имя вашего сервера

openvpn —genkey —secret /etc/openvpn/keys/ta.key

source ./vars && ./build-dh

Генерация сертификатов для конечных пользователей (клиентов):

source ./vars && ./build-key имя_компьютера

4. Создание файла настроек сервера

touch /etc/openvpn/openvpn.conf

dev tun
proto tcp
port 1194
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
user nobody
group nogroup
server 10.10.10.0 255.255.255.0 # виртуальная сеть соединения - можно даж не трогать
persist-key
persist-tun
client-to-client
push "redirect-gateway def1"

5. Клиентский файл настроек Windows:

Для каждого клиента необходимо сформировать сертификаты

source ./vars && ./build-key имя_компьютера

Скопировать файлы : ca.key имя_компьютера.key имя_компьютера.crt имя_компьютера.csr на клиентский компьютер. Например в папку c:\key

создайте файл с расширением ovpn и скопируйте туда:

dev tun
client
proto tcp
remote ip_сервера 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca c:/key/ca.crt
cert c:/key/имя_компьютера.crt
key c:/key/имя_компьютера.key
comp-lzo

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.