Saturday, March 2, 2013

Установка и настройка openvpn на виртуалку (OpenVZ)


На родительском хосте виртуалки делаем следующее:
VEID меняем на ID виртуалки!!

vzctl set VEID --devices c:10:200:rw --save 
vzctl set VEID --capability net_admin:on --save 
vzctl exec VEID mkdir -p /dev/net 
vzctl exec VEID mknod /dev/net/tun c 10 200 
vzctl exec VEID chmod 600 /dev/net/tun
vzctl set VEID --iptables "p_tables ip_conntrack iptable_nat iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ipt_MASQUERADE" --save

vzctl restart VEID

На самой виртуалке (где будет стоять OpenVPN сервер) делаем:

apt-get install openvpn 
openvpn --genkey --secret /etc/openvpn/openvpn-key.txt


Правим файл /etc/openvpn/openvpn.conf

port 1194 
proto udp 
dev tun 
secret openvpn-key.txt 
ifconfig 10.0.2.1 10.0.2.2 
keepalive 10 120 
comp-lzo 
persist-key 
persist-tun 
status server-tcp.log 
verb 3 


Правим /etc/sysconfig/iptables

nat
:POSTROUTING ACCEPT [0:0] 
:PREROUTING ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -o eth0 -j MASQUERADE 
COMMIT


На убунте iptables -t nat -A POSTROUTING -s 192.168.2.1/2 -o eth0 -j MASQUERADE

В файл /etc/sysctl.conf добавить строчку
net.ipv4.ip_forward=1
а потом применяем командой
sysctl -p

Перезапускаем и прописывам сервисы

service iptables restart 
chkconfig iptables on
service openvpn start 
chkconfig openvpn on 


На клиентской машине (где будет работать OpenVPN клиент)

apt-get install openvpn

копируем с сервака файл /etc/openvpn/openvpn-key.txt и помещаем тудаже на клиентской машине

Правим файл /etc/openvpn/openvpn.conf

dev tun 
proto udp 
remote ТУТ_ПИШЕМ_АДРЕС_ВИРТУАЛКИ_ГДЕ_СТОИТ_СЕРВЕР 1194 
resolv-retry infinite 
nobind 
secret openvpn-key.txt 
ifconfig 10.0.2.2 10.0.2.1 
comp-lzo 
verb 3 
dhcp-option DNS 95.66.188.11 
redirect-gateway def1 
run /etc/openvpn/up.sh when the connection is set up
up /etc/openvpn/up.sh 


Добавляем содержимое /etc/openvpn/up.sh на стороне клиента

#!/bin/sh
route add default gw 10.0.2.1 tun0 

после чего


/etc/init.d/openvpn start 

тестируем!



добавить роут в винде 
route add 0.0.0.0 mask 0.0.0.0 w.x.y.z

No comments:

Post a Comment