Установка и настройка 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