Материал из Wiki.VDSPlanet.ru.
Пошаговая установка производится на пакет установки системы - Debian 5.0.4 минимальный (debian-5.0.4-i386-minimal) от VDSPlanet.ru.
Перед установкой и настройкой, необходимо добавить запрос в поддержку с просьбой активации tun/tap устройств для вашего VDS.
Перед установкой и запуском OpenVPN ознакомьтесь с пунктом 4.1.6. нашей публичной оферты, который запрещает использование OpenVPN на площадке в Германии.
Редактируем /etc/rc.local
Первым делом стоит начать с того, чтобы отредактировать файл /etc/rc.local
Данный файл будет содержать в себе команды, выполнение которых необходимо для восстановления работы OpenVPN после полного перезапуска VDS.
В конечном итоге файл /etc/rc.local должен выглядеть так:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. echo 1 > /proc/sys/net/ipv4/ip_forward mkdir -p /dev/net mknod /dev/net/tun c 10 200 chmod 600 /dev/net/tun # Перезапустить openvpn через час после рестарта vds, на случай если tun устройства "отвалились" sleep 3600 /etc/init.d/openvpn stop sleep 10 /etc/init.d/openvpn start exit 0
Установка OpenVPN
1. Создать файлик и назвать его как угодно. Скажем vpn-install.sh.
2. Внести в него нижепреведенный скрипт.
3. Найти строку: iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 204.1.1.1
4. Сменить 204.1.1.1 на IP вашего VDS.
5. Дать права файлу на запуск: chmod +x vpn-install.sh и запустить скрипт: sh vpn-install.sh
6. Следовать инструкциям по генерации ключей. Совет: Когда вам будет предложено установить пароли на ключи, просто нажмите Enter и не устанавливайте пароли.
7. Войдите на vds в папку /root использую данный метод WinSCP
8. Скачайте оттуда файл с названием keys.tgz. Положите его в папку на своем компьютере C:\Program Files\OpenVPN\config\ и распакуйте его в туже самую папку.
9. Затем в трее на иконке openvpn нажмите Connect и вуаля, все работает.
#!/bin/bash
# Quick and dirty OpenVPN install script
# Tested on debian 5.0 32bit, openvz minimal debian OS template
# and Ubuntu 9.04 32 bit minimal, should work on 64bit images as well
# Please submit feedback and questions at support@vpsnoc.com
#
ip=`grep address /etc/network/interfaces | grep -v 127.0.0.1 | awk '{print $2}'`
apt-get update
apt-get install openvpn libssl-dev openssl
cd /etc/openvpn/
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
chmod +rwx *
. ./vars
./clean-all
source ./vars
#
echo -e "\n\n\n\n\n\n\n" | ./build-ca
clear
echo "####################################"
echo "Feel free to accept default values"
echo "Wouldn't recommend setting a password here"
echo "Then you'd have to type in the password each time openVPN starts/restarts"
echo "####################################"
./build-key-server server
./build-dh
cp keys/{ca.crt,ca.key,server.crt,server.key,dh1024.pem} /etc/openvpn/
#
clear
echo "####################################"
echo "Feel free to accept default values"
echo "This is your client key, you may set a password here but it's not required"
echo "####################################"
./build-key client1
cd keys/
#
client="
client
remote $ip 1194
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
dhcp-option DNS 10.8.0.1
verb 3"
#
echo "$client" > $HOSTNAME.ovpn
#
tar czf keys.tgz ca.crt ca.key client1.crt client1.csr client1.key $HOSTNAME.ovpn
mv keys.tgz /root
#
opvpn='
dev tun
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "dhcp-option DNS 4.2.2.2"
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway"
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
group daemon
daemon'
#
echo "$opvpn" > /etc/openvpn/openvpn.conf
#
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 204.1.1.1
iptables-save > /etc/iptables.conf
echo "#!/bin/sh" > /etc/network/if-up.d/iptables
echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables
chmod +x /etc/network/if-up.d/iptables
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
#
/etc/init.d/openvpn start
clear
#
echo "OpenVPN has been installed
Download /root/keys.tgz using winscp or other sftp/scp client such as filezilla
Create a directory named vpn at C:\Program Files\OpenVPN\config\ and untar the content of keys.tgz there
Start openvpn-gui, right click the tray icon go to vpn and click connect"

