Установка OpenVPN сервера в Ubuntu 18

Материал из m6a
Перейти к: навигация, поиск

Задача

  • Установить и настроить сервер OpenVPN
  • Подговить настройки для клиента OpenVPN

Окружение

Требования

Квалификация

Последовательность действий

Установка сервера

  • Обновим систему
 apt-get -y update && apt-get -y upgrade
  • Установим необходимые пакеты
 apt-get -y install openvpn easy-rsa

Настройка сервера

  • Перейдем к настройкам
 cd /etc/openvpn/
  • Создадим каталог сертификации
 make-cadir certificates && cd certificates
  • Установим переменные
 vi vars
 export KEY_CONFIG="$EASY_RSA/openssl-1.0.0.cnf"
 export KEY_COUNTRY="RU"
 export KEY_PROVINCE="MOS"
 export KEY_CITY="MOSCOW"
 export KEY_ORG="Company"
 export KEY_EMAIL="vpn@company.ru"
 export KEY_OU="IT"
  • Загрузим переменные
 source ./vars
  • Создадим центральный сертификат
 ./clean-all && ./build-ca
  • Создадим сертификат сервера
 ./build-key-server server
  • Создадим параметры Диффи-Хеллмана
 ./build-dh
  • Создадим общий секретный ключ
 openvpn --genkey --secret keys/ta.key
  • Скопируем ключи и сертификаты в каталог настроек
 cp keys/{server.crt,server.key,ca.crt,dh2048.pem,ta.key} /etc/openvpn
  • Создадим файл настроект сервера
 vi /etc/openvpn/server.conf
 mode server
 tls-server
 port 1194
 proto udp
 dev tun
 ca ca.crt
 cert server.crt
 key server.key  # This file should be kept secret
 dh dh2048.pem
 server 10.8.0.0 255.255.255.0
 ifconfig-pool-persist /var/log/openvpn/ipp.txt
 server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
 push "route 192.168.1.0 255.255.255.0"
 keepalive 10 120
 tls-auth ta.key 0 # This file is secret
 cipher AES-256-CBC
  • Запустим сервер OpenVPN
 systemctl start openvpn@server
  • Проверим статус сервера OpenVPN
 systemctl status openvpn@server
  • Откроем порты для сервера OpenVPN
 ufw allow openvpn
  • Настроим маскарадинг для сервера OpenVPN
 vi /etc/ufw/before.rules
 -A POSTROUTING -s 10.8.0.0/8 -o eth1 -j MASQUERADE
  • Применим настройки сетевого экрана
 ufw reload

Настройка клиента

  • Создадим сертификат клиента
 cd /etc/openvpn/certificates/ && source vars && ./build-key client
  • Получим центральный сертификат
 cat ca.crt
  • Получим сертификат клиента
 cat certificates/keys/client.crt
  • Получим ключ клиента
 cat certificates/keys/client.key
  • Получим общий секретный ключ
 cat certificates/keys/ta.key
  • Создадим файл настроект клиента
 client
 tls-client
 proto udp
 dev tun
 <ca>
  [центральный сертификат]
 </ca>
 <cert>
  [сертификат клиента]
 </cert>
 <key>
  [ключ клиента]
 </key>
 key-direction 1
 <tls-auth>
  [общий секретный ключ]
 </tls-auth>
 remote vpn.company.ru 1194
 cipher AES-256-CBC
 verb 2
 mute 20
 keepalive 10 120
 persist-key
 persist-tun
 float
 resolv-retry infinite
 nobind
 route 192.168.1.0 255.255.255.0

Используемые материалы