База знаний: Linux Server
Установка и настройка OpenVPN
Автор Алексей | HiTex.BY на 20 мая 2011 8:16

OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами находящимися за NAT-firewall без необходимости изменения его настроек.

Сперва потребуется подключить дополнительный репозиторий для yum:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Далее установим сам OpenVPN:

yum -y install openvpn

После этого нужно сгенерировать ключи (Внимание! Версия в пути к директории может быть другой.):

cd /usr/share/doc/openvpn-2.0.9/easy-rsa
mkdir keys
chmod 755 build-*

Отредактируйте файл vars согласно Вашим требованиям, изменив переменные KEY_COUNTRY, KEY_PROVINCE и т.д.

Далее:

. vars
./build-dh
./build-ca
touch keys/index.txt
echo "01" > keys/serial
./build-key-server server

Следуйте указаниям генератора, и вводите нужные данные.

./build-key client
mv keys /etc/openvpn
chmod 600 /etc/openvpn/keys -R

С помощью любого текстового редактора создайте файл /etc/openvpn/vpn.conf , и внесите в него следующие строки:

port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
dh /etc/openvpn/keys/dh1024.pem
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
server 10.8.0.0 255.255.255.0
push "redirect-gateway"
push "dhcp-option DNS 94.103.80.23"
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 4
log-append /var/log/openvpn.log

Если Вы используете физически выделенный (dedicated) сервер, потребуется также загрузить дополнительные модули ядра:

modprobe tun
modprobe iptable_nat

Создайте файл /etc/sysconfig/modules/tun.modules следующего содержания:

#!/bin/bash
modprobe tun
modprobe iptable_nat

И выставьте для него права запуска:

chmod 755 /etc/sysconfig/modules/tun.modules

Если же Вы используете виртуальный сервер (VPS) с операционной системой CentOS, либо Fedora, полность пропустите предыдущий шаг.

В случае, если Вы используете VPS на базе Debian/Ubuntu, потребуется выполнить следующие команды:

mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

Запустите OpenVPN:

service openvpn start
chkconfig openvpn on

Добавьте в файервол правило:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o yyy -j SNAT --to-source xx.xx.xx.xx

где xx.xx.xx.xx - IP Вашего сервера, а yyy - имя интерфейса, на котором расположен IP (для VPS имя интерфейса всегда venet0, а для физических серверов, как правило, eth0) Отредактируйте файл /etc/sysctl.conf , и установите для параметра net.ipv4.ip_forward значение 1, и после примените значение в реальном времени с помощью команды:

sysctl -p

Установите VPN клиент на Ваш компьютер. Например, для Windows мы рекомендуем OpenvpnGUI: http://openvpn.se/

После установки скопируйте в директорию config (например, C:\Program Files\OpenVPN\config) файлы ключей с Вашего сервера: ca.crt, client.crt, client.key и dh1024.pem В этой же директории создайте файл vpn.ovpn следующего содержания:

client
proto tcp
remote xx.xx.xx.xx
port 1194
dev tun
redirect-gateway
persist-tun
persist-key
dh dh1024.pem
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3

и замените xx.xx.xx.xx на IP Вашего сервера. После этого в меню OpenVPN GUI появится возможность подключения.

(1066 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)