Я долго искал рабочий туториал про установку 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! 🙂
Ваш отзыв