Оглавление

Недавно была задачка настроить VPN-туннеля между двумя офисами, решил краткую инструкции сделать:

Давайте подробнее разберем процесс создания защищенного VPN-туннеля между двумя офисами с использованием OpenVPN, уделив внимание деталям настройки и конфигурации на примерах.

Шаг 1: Подготовка

Перед началом настройки убедитесь, что у вас есть две машины (одна в каждом офисе), на которых будет установлен OpenVPN: одна будет выступать в роли сервера, а другая — клиента. Определите внутренние IP-адреса для каждого офиса, чтобы они не пересекались, например, 192.168.1.0/24 для первого офиса и 192.168.2.0/24 для второго.

Шаг 2: Установка и настройка OpenVPN на сервере

  1. Установите OpenVPN и Easy-RSA: В большинстве дистрибутивов Linux OpenVPN и Easy-RSA можно установить через менеджер пакетов. На сервере выполните:
   sudo apt update && sudo apt install openvpn easy-rsa
  1. Настройка Easy-RSA и создание сертификатов: Создайте директорию для Easy-RSA и инициализируйте среду для генерации сертификатов:
   make-cadir ~/openvpn-ca
   cd ~/openvpn-ca
   source vars
   ./clean-all
   ./build-ca

Вам будет предложено ввести информацию для сертификата Центра сертификации (CA). Эти данные будут использоваться во всех сертификатах, которые вы создадите.

Затем создайте сертификат и ключи для сервера:

   ./build-key-server server
   ./build-dh
   openvpn --genkey --secret keys/ta.key

Эти команды создадут ключи и сертификаты, необходимые для аутентификации и шифрования туннеля.

  1. Конфигурация сервера OpenVPN: Скопируйте пример конфигурационного файла OpenVPN в /etc/openvpn и отредактируйте его, чтобы настроить параметры сети, пути к сертификатам и ключам:
   gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Важные параметры в файле server.conf:

  • ca ca.crt: Путь к сертификату CA.
  • cert server.crt и key server.key: Пути к сертификату и ключу сервера.
  • dh dh.pem: Путь к файлу Diffie-Hellman.
  • server 10.8.0.0 255.255.255.0: Диапазон IP-адресов для клиентов VPN.
  • push "route 192.168.1.0 255.255.255.0": Маршрут до сети первого офиса, который будет отправлен клиентам. Затем запустите и активируйте сервер OpenVPN:
   sudo systemctl start openvpn@server
   sudo systemctl enable openvpn@server

Шаг 3: Настройка OpenVPN-клиента

  1. Настройка сертификатов и ключей клиента: На сервере Easy-RSA используйте скрипты для создания клиентских сертификатов:
   ./build-key client1

Перенесите сертификаты и ключи (ca.crt, client1.crt, client1.key, ta.key) на клиентскую машину в директорию /etc/openvpn.

  1. Конфигурация клиента OpenVPN: Создайте файл конфигурации client.conf на клиенте, аналогично серверной конфигурации, указав адрес сервера и пути к файлам сертификатов и ключей. Пример содержимого client.conf:
   client
   dev tun
   proto udp
   remote server_address 1194
   resolv-retry infinite
   nobind
   user nobody
   group nogroup
   persist-key
   persist-tun
   ca ca.crt
   cert client1.crt
   key client1.key
   remote-cert-tls server
   cipher AES-256-CBC
   verb 3

Замените server_address на реальный IP-адрес или доменное имя вашего сервера.

  1. Запуск клиента: После настройки конфигурации запустите клиентский процесс OpenVPN:
   sudo systemctl start openvpn@client
   sudo systemctl enable openvpn@client

Шаг 4: Тестирование и маршрутизация

  1. Проверка соединения: Убедитесь, что VPN-туннель успешно установлен, проверив статус службы на сервере и клиенте. Используйте ping для проверки связности между машинами в разных офисах через VPN.
  2. Настройка маршрутизации: Возможно, потребуется настроить маршрутизацию на сервере и клиенте, чтобы трафик между офисами проходил через VPN-туннель. Это может включать добавление маршрутов в конфигурацию OpenVPN и настройку правил NAT на сервере для перенаправления трафика.

Заключение

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

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии