How to Setup and Configure an OpenVPN Server on CentOS 6Установка и настройка OpenVPN Server на CentOS 6

openvpnЭта статья поможет вам установить и настроить OpenVPN Server на CentOS 6 x64. А также подключить к серверу Windows, OS X и Linux клиентов. Но перед тем как начать, – вам необходимо подключить EPEL-репозиторий. Именно этом репозитории хранятся пакеты для OpenVPN Server.

 wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
 rpm -Uvh epel-release-6-8.noarch.rpm

Первоначальное конфигурация

Для начала произведем установку OpenVPN из EPEL

yum install openvpn -y

Вместе с пакетом OpenVPN-сервера идут примеры конфигурации, которые мы скопируем в каталог /etc/openvpn

cp /usr/share/doc/openvpn-2.*/sample/sample-config-files/server.conf /etc/openvpn

После того, как у нас в нужном каталоге появился основной файл конфигурации OpenVPN, приведем базовые настройки к виду

 push "redirect-gateway def1 bypass-dhcp"
 push "dhcp-option DNS 8.8.8.8"
 push "dhcp-option DNS 8.8.4.4"
 user nobody
 group nobody

Генерация ключей и сертификатов

Только что мы закончили конфигурирование OpenVPN, и теперь нам необходимо сгенерировать ключи и сертификаты. Как и файл server.conf, скопируем необходимые скрипты в каталог /etc/openvpn. Только важно не забыть перед этим установить пакет easy-rsa.

 yum install easy-rsa
 mkdir -p /etc/openvpn/easy-rsa/keys
 cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

После чего необходимо открыть файл /etc/openvpn/easy-rsa/vars любимым редактором и привести заполнить некоторые поля

export KEY_COUNTRY="US"
 export KEY_PROVINCE="NY"
 export KEY_CITY="New York"
 export KEY_ORG="Organization Name"
 export KEY_EMAIL="[email protected]"
 export KEY_CN=droplet.example.com
 export KEY_NAME=server
 export KEY_OU=server

OpenVPN может неверно определить версию OpenSSL на CentOS 6 и не запуститься. Чтобы исключить это скопируем openssl-1.0.0.cnf с именем openssl.cnf

cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

Изменим рабочий каталог на /etc/openvpn/easy-rsa и сгенерируем CA-сертификат

 cd /etc/openvpn/easy-rsa
 source ./vars
 ./clean-all
 ./build-ca

После этого мы можем создать сертификат для нашего OpenVPN-сервера. В конце напишите yes

./build-key-server server

Также нам необходимо сгенерировать Diffie Hellman ключ, используя скрипт build-dh и скопировать все файлы в каталог /etc/openvpn

 ./build-dh
 cd /etc/openvpn/easy-rsa/keys
 cp dh1024.pem ca.crt server.crt server.key /etc/openvpn

И на последок, чтобы позволить клиентам подключаться, – нужно создать клиентские сертификаты. Вы можете проделать генерацию клиентских сертификатов и ключей любое количество раз

 cd /etc/openvpn/easy-rsa
 ./build-key client

Маршрутизация и запуск OpenVPN

Создадим в iptables правило, позволяющее ходить пакетам за пределы подсетей OpenVPN

 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
 service iptables save

И разрешим IP Forwarding в sysctl. Открываем /etc/sysctl.conf и определяем параметр

net.ipv4.ip_forward = 1

Ну и в завершение сохраним настройки sysctl и включим OpenVPN в автозагрузку и запустим его

 sysctl -p
 chkconfig openvpn on
 service openvpn start

Конфигурация OpenVPN клиентов

Итак, ваш OpenVPN сервер запущен и готов к подключению внешних клиентов. Процедура подключения в разных операционных системах может незначительно отличаться. Но, в общем и целом, она сводится к тому, чтобы программе клиенту подключить конфигурационный файл(без кавычек)

client
dev tun
proto udp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
<ca>
Contents of ca.crt
</ca>
<cert>
Contents of client.crt
</cert>
<key>
Contents of client.key
</key>

Вместо x.x.x.x вам необходимо прописать IP-адрес OpenVPN-сервера. А в блоки ca, cert и key содержимое файлов /etc/openvpn/easy-rsa/keys/ca.crt, /etc/openvpn/easy-rsa/keys/client.crt и /etc/openvpn/easy-rsa/keys/client.key соответственно.

Сохраните файл конфигурации клиента с расширением .ovpn по следующей таблице

Операционная система Программа Путь к файлу конфигурации
Windows OpenVPN Community Edition binaries C:\Program Files\OpenVPN\config
Mac OS X Tunnelblick ~/Library/Application Support/Tunnelblick/Configurations
Linux openvpn any

В Linux подключение происходит следующей командой

sudo openvpn --config ~/path/to/client.ovpn

Примите мои поздравления – мы закончили установку, настройку и конфигурирование OpenVPN сервера на ОС CentOS 6!

28 комментариев к “How to Setup and Configure an OpenVPN Server on CentOS 6Установка и настройка OpenVPN Server на CentOS 6

  1. A fascinating conversation is worth remark. I think that you ought to create much more on this topic, it could not be a taboo subject yet normally individuals are not nearly enough to speak on such subjects. To the following. Cheers

  2. This is the right blog for anybody who wants to find out about this topic. You recognize a lot its practically difficult to say with you (not that I actually would want?HaHa). You absolutely put a brand-new spin on a subject thats been blogged about for years. Fantastic things, just terrific!

  3. I was really delighted to discover this web-site. I wanted to thanks for your time for this remarkable read!! I definitely appreciating every little of it as well as I have you bookmarked to take a look at new stuff you blog post.

  4. After research a few of the blog posts on your internet site currently, as well as I absolutely like your way of blog writing. I bookmarked it to my book mark internet site list and also will be checking back soon. Pls check out my website as well and let me understand what you believe.

  5. This may be the appropriate weblog for anybody who hopes to discover this topic. You realize so much its virtually challenging to argue to you (not too I actually would want…HaHa). You actually put a new spin with a topic thats been discussing for a long time. Wonderful stuff, just fantastic!

  6. There are certain posts out there near this, I’m sure taking there reference could experience made this spot or article really informative. I’m not expression this post is unhealthy. Simply I must pronounce which the info provided here was unique, merely to make it more in close proximity to complete, supporting for some other former information will get been actually good. The points you obtain touched allow me to share really important, thus I most certainly will spot a few of the information here to make this actually great for entirely the newbie’s here. Many thanks these records. Actually helpful!

  7. Youre so great! I don’t intend Ive read anything like this prior to. So nice to locate somebody with some original ideas on this subject. realy thank you for beginning this up. this site is something that is needed online, somebody with a little originality. valuable task for bringing something brand-new to the net!

Оставить ответ к dose of sildenafil Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *