Установка OpenVPN на CentOS

Я долго искал рабочий туториал про установку OpenVPN, поэтому опубликую свой, надеюсь кому-то поможет раз и навсегда забыть об этом нелегком :-)) деле.

Я использую VPS на базе OpenVZ, 32-битную ОС CentOS 5.5, 128Мб оперативки. Насчет памяти: не волнуйтесь, OpenVPN кушает не более 25МБ, при активных 20 клиентах.


Для начала нужно проверить, работает ли tun/tap. Вводим :

cat /dev/net/tun

cat: /dev/net/tun: File descriptor in bad state

Обратите внимание на статус : «File descriptor in bad state» значит, что все чики-пуки, то есть хорошо. Если нет, напишите хостеру об активации tun/tap.

Установим необходимые модули

yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel

Скачаем исходникиOpenVPN

wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

Для 32-битных систем:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

Для 64-битных систем:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Компилируем менеджеры пакетов

rpmbuild —rebuild lzo-1.08-4.rf.src.rpm

rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm

rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm

*не забудьте изменить i386 на x86_64 если у вас 64-битная система.

Установка OPENVPN

yum install openvpn

Скопируем папку easy-rsa в /etc/openvpn/

cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/

Теперь создадим сертификат

cd /etc/openvpn/easy-rsa/2.0

chmod 755 *

source ./vars

./vars

./clean-all

./build-ca

Можете написать что угодно, можете пропустить все, кроме

Common Name: Ваш hostname

Создадим сертификат сервера

./build-key-server server

Common Name: server

A challenge password: пропустить

Optional company name: по желанию

sign the certificate: y

1 out of 1 certificate requests: y

Построим Diffie Hellman (придется немного подождать. У меня на одном ядре Intel i7 процесс занимает меньше 5 секунд)

./build-dh

Сейчас я создам соединение на UDP порту 1194 конфига для OPENVPN, используйте любой редактор

nano /etc/openvpn/1194.conf

local 123.123.123.123 #- IP сервера

port 1194 #- порт

proto udp #- протокол

dev tun

tun-mtu 1500

tun-mtu-extra 32

mssfix 1450

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt

cert /etc/openvpn/easy-rsa/2.0/keys/server.crt

key /etc/openvpn/easy-rsa/2.0/keys/server.key

dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem

plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login

client-cert-not-required

username-as-common-name

server 1.2.3.0 255.255.255.0

push «redirect-gateway def1»

push «dhcp-option DNS 8.8.8.8»

push «dhcp-option DNS 8.8.4.4»

keepalive 5 30

comp-lzo

persist-key

persist-tun

status 1194.log

verb 3

Обратите внимание, «plugin /usr/share/.. /pam.d/login» — это одна строка

Включим ipv4 переадресацию

echo 1 > /proc/sys/net/ipv4/ip_forward

IPTABLES Маршрут

iptables -t nat -A POSTROUTING -s 1.2.3.0/24 -j SNAT —to IP СЕРВЕРА

Создадим пользователя

useradd alex -s /bin/false

passwd alex

Скачайте файл ca.crt из /etc/openvpn/easy-rsa/2.0/keys/

Скачайте, установите OpenVPN-клиент для Windows, скачайте последнюю версию отсюда.

Скопируйте файл ca.crt, который вы скачали из /etc/openvpn/easy-rsa/2.0/keys/ в OpenVPN-папку конфигурационных файлов (С:\Program Files\OpenVPN\config\).

Там же создайе файл

client

dev tun

proto udp #- протокол

remote 123.123.123.123 1194 #- IP сервера и порт

resolv-retry infinite

nobind

tun-mtu 1500

tun-mtu-extra 32

mssfix 1450

persist-key

persist-tun

ca ca.crt

auth-user-pass

comp-lzo

verb 3

и сохраните его, назвав 1194.ovpn.

Запустите клиент, соединяйтесь, вбивайте логин и пароль.

Проверяйте свой IP! 🙂

 

Метки:
Хотите прочитать больше про Сети?
Отзывов нет.

Ваш отзыв

Пожалуйста, заполните поля снизу и добавьте отзыв!.
Имя *
E-mail *
Сайт
Сообщение *