Установка, настройка и использование OpenVPN сервера Centos 6.6

Четверг, 05 марта 2015 15:06

Существует множество причин для использования VPN сервера для работы в интернете. Это и скрытие вашего расположения, и доступ к ресурсам, недоступным из вашей страны, и анонимность, и доступ к заблокированным сайтам, но главная причина - это безопасность.

При использовании VPN создается шифрованный туннель от вашего компьютера до нашего VPN-сервера и обратно. Это позволяет защитить любые передаваемые данные от перехвата на любых ключевых узлах, будь то публичный Wi-Fi роутер или провайдер вашего интернета.

Проще всего организовать собственный VPN сервер, используя OpenVPN. Его установку, настройку и использование мы рассмотрим ниже.

Установка производится на виртуальный сервер с 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$ в месяц.


Подключается, но в интернет не выходит, в чем может быть проблема?

Дмитрий Дмитрий | Пятница, 16 октября 2015 22:19


Спасибо за пост. Еще интересует настройка мобильных клиентов, типа как здесь - http://sysadm.pp.ua/linux/shifrovanie/openvpn-client-server.html . Посоветуйте, пожалуйста, хорошый и удобный мобильный OpenVPN клиент ?

aprog aprog | Суббота, 16 января 2016 16:47


Оставить комментарий

  • Способы
    Оплаты:
  • visa
  • mastercard
  • qiwi
  • webmoney
  • yandex money
  • sberbank
  • mts bank
  • zpayment
  • liqpay
  • alfabank white
  • paxum e1411320249623
Copyright © 2012 - 2024 WebPatron Ltd. All rights reserved.