На родительском хосте виртуалки делаем следующее:
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