Установка производится на виртуальный сервер с Centos 6.6, виртуализация OpenVZ.
OpenVPN есть в репозитории EPEL. Если он у вас не подключён, первоначально нужно его установить:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6*.rpm
Устанавливаем OpenVPN:
yum -y install openvpn easy-rsa
Переходим в папку /etc/openvpn и создаём там файл конфигурации server.conf, со следующим содержанием, можно ничего не менять:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 comp-lzo max-clients 100 user nobody group nobody persist-key persist-tun status /var/log/openvpn-status.log log-append /var/log/openvpn.log verb 3
Теперь необходимо создать сертификаты сервера.
mkdir -p /etc/openvpn/easy-rsa/keys cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa source ./vars ./clean-all ./build-ca ./build-key-server server ./build-dh
Всё можно оставлять по умолчанию, на вопросы [y/n] отвечаем y.
Далее создаём сертификаты клиентов:
./build-key client1
Всё аналогично. Если необходимо несколько клиентов, то операцию повторяем несколько раз, меняя client1 на client2, client3 и так далее.
Копируем ключи:
cd keys/ cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
Настраиваем IP Forwarding. В файле etc/sysctl.conf
net.ipv4.ip_forward = 0
меняем на
net.ipv4.ip_forward = 1
Загружаем настройки:
sysctl -p
Настраиваем Iptables, SERVER-IP меняем на реальный IP адрес нашего сервера.
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to SERVER-IP iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
Выше были настройки для VPS на OpenVZ, для выделенного сервера немного иначе:
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Сохраняем настройки и перезапускаем iptables:
service iptables save service iptables restart
Запускаем сервер OpenVPN и помещаем его в автозагрузку:
service openvpn start chkconfig openvpn on
На этом установка сервера завершена, можно приступать к настройкам клиента на вашем компьютере.
Скачиваем и устанавливаем клиента с официального сайта, затем в папку C:\Program Files\OpenVPN\config копируем файл ca.crt из папки /etc/openvpn на сервере и ключи клиента из папки /etc/openvpn/keys - client1.crt и client1.key.
В этой же папке создаём файл client.ovpn со следующим содержанием, SERVER-IP меняем на IP адрес вашего сервера.
client dev tun proto udp remote SERVER-IP 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key ns-cert-type server comp-lzo verb 3 sndbuf 0 rcvbuf 0
Запускаем программу и подключаемся к вашему серверу. С этого момента IP адрес вашего компьютера - это IP вашего сервера, и весь ваш трафик шифруется и проходит по защищённому каналу.
Если вам необходима помощь в настройке OpenVPN, можно обратиться в нашу службу поддержки. Также мы можем предоставить в аренду виртуальные сервера с уже настроенным OpenVPN по цене 5$ в месяц.