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.

 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"
 push "dhcp-option DNS"
 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_CITY="New York"
 export KEY_ORG="Organization Name"
 export KEY_EMAIL="[email protected]"
 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

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

./build-key-server server

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

 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 -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 сервер запущен и готов к подключению внешних клиентов. Процедура подключения в разных операционных системах может незначительно отличаться. Но, в общем и целом, она сводится к тому, чтобы программе клиенту подключить конфигурационный файл(без кавычек)

dev tun
proto udp
remote x.x.x.x 1194
resolv-retry infinite
verb 3
Contents of ca.crt
Contents of client.crt
Contents of client.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!

32 комментария к “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!

  8. After checking out a handful of the articles
    on your web site, I truly like your way of blogging.
    I saved it to my bookmark site list and will be checking back soon. Please visit my web site as well and let me know how
    you feel.

  9. This is the right blog site for any person that intends to find out about this topic. You recognize so much its virtually difficult to argue with you (not that I actually would want?HaHa). You certainly put a new spin on a topic thats been discussed for many years. Wonderful things, just wonderful!

  10. I found your blog site on google as well as examine a few of your very early articles. Remain to maintain the great run. I just extra up your RSS feed to my MSN Information Reader. Looking for onward to finding out more from you later on!?

Оставить ответ к cheap flights Отменить ответ

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