Colobridge WIKI

Установка и настройка openvpn-сервера в os centos

Установка и настройка OPENVPN сервера в OS CentOS

Для начала проверим возможность настройки openvpn сервера, проверив наличие tun устройства на сервере, выполнив команду в консоли:

 ls -l /dev/net/tun 
Если tun устройство отобразилось в выводе, продолжаем настройки дальше. Установим openvpn сервер выполнив в консоли сервера следующую команду:
 yum install openvpn openssl 
Далее необходимо сгенерировать ключи необходимые для работы vpn-сервера. Для начала создадим директорию в которой будут храниться конфигурационные файлы и ключи:
 mkdir /etc/openvpn/easy-rsa/ 
Установим easy-rsa пакет и скопируем необходимые ключи и конфигурационные файлы для настройки vpn сервера:
yum install easy-rsa
cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
Далее переходим в ранее созданную нами директорию и настроим параметры для ключей:
cd /etc/openvpn/easy-rsa/
nano vars

Заменяем стандартные значения на необходимы нам. Для вступления настроек в силу выполняем следующую команду:

 source ./vars 
Далее очищаем папку keys/server от старых ненужных ключей и конфигурационных файлов:
 ./clean-all 
Создадим сертификат:
 ./build-ca 
По умолчанию будут использованы значения указанные ранее в файле vars. Для генерации ключа openvpn сервера выполним следующую команду:
 ./build-key-server server 
При генерации ключа можно указать пароль для повышения безопасности. Далее сгенерируем ключ для клиента:
 ./build-key user 
Важно, при генерировании ключей поле Common Name для сервера и клиента должны различаться. Так же для каждого клиента можно сгенерировать отдельный ключ, либо использовать один для всех. Для повышения безопасности генерируем ключ Диффи — Хеллмана:
 ./build-dh 
Далее сгенерируем ключ для tls-аутификации:
 openvpn --genkey --secret keys/ta.key 
Скопируем ключи vpn сервера в основную директорию:
cd keys
cp server.crt server.key ca.crt dh2048.pem ta.key /etc/openvpn/

Для клиента понадобятся следующие ключи:

 user.crt, user.key, ca.crt, ta.key 

Далее мы приступаем к настройке vpn сервера. Скопируем стандартный конфигурационный файл для vpn сервера:

 cp /usr/share/doc/openvpn-2.3.8/sample/sample-config-files/server.conf /etc/openvpn/ 
Далее изменим настройки конфигурационного файла:
 nano /etc/openvpn/server.conf 
Для того что бы весь трафик клиента проходил через vpn сервер необходимо задать на сервере правило для маршрутизации:
 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
Далее необходимо включить ipv4_forwarding, для этого необходимо задать в файле /etc/sysctl.conf параметр net.ipv4.ip_forward=1 и далее выполнить команду:
 sysctl -p 

После внесения необходимых настроек выполним запуск vpn сервера:

 openvpn /etc/openvpn/server.conf 
Если сервер уже был запущен, выполним его перезапуск:
 /etc/init.d/openvpn restart 
Если запуск vpn сервер прошел успешно в лог файле /var/log/openvpn.log мы найдем подтверждение: Настройка VPN клиента

Установим openvpn сервер выполнив в консоли сервера следующую команду: </code> yum install openvpn openssl </code> Клиенту необходимо передать файлы user.crt, user.key, ca.crt, ta.key Расположить указанные файлы необходимо в директории /etc/openvpn/ Далее необходимо настроить конфигурационный файл клиента. Cкопируем стандартный конфигурационный файл для клиента vpn клиента и внесем в него адрес vpn сервера к которому необходимо подключиться:

cp /usr/share/doc/openvpn-2.3.8/sample/sample-config-files/client.conf /etc/openvpn/
nano /etc/openvpn/client.conf

Проверим корректность запуска vpn клиента выполнив следующие команды:

cd /etc/openvpn
openvpn client.conf
Если запуск vpn клиента прошел успешно в лог файле /var/log/openvpn.log мы найдем подтверждение: После подключения к vpn серверу должен быть доступен адрес 10.8.0.1: На этом настройка vpn сервера закончена.


Актуальность: 2015/12/22 11:08