Локальная сеть через Интернет на базе CentOS-сервера с OpenVPN

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

Одним из вариантов установки VPN-шлюза для создания локальной сети через интернет будет выделение сервера с операционной системой CentOS 6, на базе которой необходимо “поднять” и настроить сервис OpenVPN. Данный программный продукт является бесплатным с открытым исходным кодом.

Как создать локальную сеть через интернет: инсталляция OpenVPN

Итак, чтобы настроить локальную сеть через интернет, нужно иметь предустановленную ОС CentOS на вашем сервере.

Кроме того, также следует убедиться в работоспособности сервиса SSH, с помощью которого и осуществляется консольный доступ. Следующим этапом необходимо подключить репозиторий EPEL Linux. Для 32-битной версии CentOS это будет выглядеть следующим образом:

1_40d06c0799aff99e3677e60866fe9c37-min

Далее устанавливаем приложение OpenVPN из репозитория, копируем пример конфигурационного файла в рабочую папку и открываем его на редактирование с помощью редактора nano или vim.

2_9a67dd85ccf91399d9f2441223b5f15d-min

Необходимо снять комментарий со строки, начинающейся на “push” – это позволит вашим клиентским системам маршрутизироваться через OpenVPN.

То же самое нужно сделать и для строк, касающихся корневых DNS-серверов Google.

3_c91f6330984289c8a5a3cacd71dddb56-min

В дополнение, для улучшения параметров безопасности, запретите пользователю openvpn логиниться на ваш сервер, сняв комментарий со следующих строк:

4_6e888a3ff9611a214131f5112c489ba4-min

Доступ к локальной сети через интернет: генерация ключей и сертификатов с использованием утилиты easy-rsa

После того, как вы закончите модификацию конфигурационного файла, нужно сгенерировать необходимые ключи и сертификаты. По умолчанию OpenVPN размещает необходимые скрипты в папке с документацией. Создайте папку и скопируйте в нее необходимые файлы:

5_8c4e39cb8bbfce6425abb1caf698581b-min

Далее необходимо отредактировать файл “vars”, в котором будет находиться информация, необходимая для скрипта:

Читайте еще:   Как подключить ноутбук к интернету через телефон?

vim /etc/openvpn/easy-rsa/vars

Ищем переменные, начинающиеся на “KEY_” – обычно они находятся внизу файла. Названия этих переменных интуитивно понятны – нужно просто заполнить необходимую информацию.

Иногда случается, что OpenVPN не может обнаружить версию OpenSSL, необходимую для создания сертификатов безопасности. Для этого скопируйте в рабочую папку необходимый конфигурационный файл и создайте Центр сертификации, после чего можно сгенерировать сертификаты сервера:

6_9e377fd93e75d924d387da250621a189-min

Также нужно сгенерировать ключи обмена с помощью алгоритма Диффи-Хелмана и вместе с сертификатами скопировать их в рабочую папку:

7_57d14c5dae8d0e3a2ef61f5ab299658f-min

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

8_d2d7926c42886d34739cbfd9fd139e8d-min

Параметры маршрутизации и запуск OpenVPN сервера

Создайте правило для фаервола iptables, чтобы обеспечить правильную маршрутизацию вашей VPN-подсети (к примеру, 10.7.7.70/24). Также включите/проверьте возможность маршрутизации пакетов сервером, отредактировав файл sysctl.

9_f4ddd26687e2963586cf2eaaccfe9971-min

Далее применяем новые настройки sysctl, запускаем сервер и помещаем его в автозагрузку:

10_9f079a31a8455bdca823ddb44a34067a-min

Теперь для локальной сети через интернет у вас настроен полноценно работающий VPN-сервер.

Конфигурация клиентов OpenVPN

Чтобы подключиться через интернет к локальной сети для клиентской стороны следует получить с сервера следующие файлы: ca.crt, client.crt и client.key. Скопируйте их с помощью FTP или SFTP протокола в локальную директорию. Будьте внимательны, так как файлы client.crt и client.key называются автоматически на основе информации, указанной ранее с помощью директивы “./build-key”. Все необходимые файлы располагаются в папке /etc/openvpn/easy-rsa/keys.

Далее создаем другой файл client.ovpn с настройками клиента, такими как внешний IP-адрес VPN-сервера (заменяем “x.x.x.x” на действительный внешний адрес сервера), порт, протокол и т.д. Главное правило – хранить этот файл нужно очень тщательно и не позволять попасть ему в чужие руки – ведь таким образом злоумышленник может получить непосредственный доступ через интернет в вашу локальную сеть.

11_2d6727252bab46e96bbbc69bc661b170-min

Таким образом, вся необходимая информация для установки подключения к локальной сети через интернет собрана в одном файле с расширением “.ovpn”.

Читайте еще:   Локальная сеть с выделенным сервером: особенности и преимущества

Для клиентских ПК с ОС Windows нужно скачать инсталляционный пакет с официального сайта OpenVPN и поместить четыре вышеуказанных файла в папку с установленным клиентом, а также убедиться в наличии административных прав для запуска программы.

Для ПК с ОС Linux просто установите OpenVPN из официального репозитория и запустите с параметрами файла “.ovpn”:

12_e69e702aaa1c17a78ef4f0cc344987bc-min

Теперь Вы можете без проблем подключиться к локальной сети через интернет из любой точки планеты, где можно войти в глобальную сеть.


Рубрики: корпоративная сеть | локальная сеть Тэги: | |
  • Автор: Dmitriy

    Добавлено 22 апреля, 2019 в 14:13

    НУ ЗАЧЕМ КОМАНДЫ ДЕЛАТЬ В ВИДЕ КАРТИНОК!?!?!
    Будь плз человеком, неужели на сайте не реализован ?

    Ответить
    • Автор: Алексей

      Добавлено 23 апреля, 2019 в 14:44

      а какая разница, в консоль ты все равно не закопипастишь команды, придется писать

      Ответить
      • Автор: Андрей

        Добавлено 17 мая, 2019 в 07:11

        PuTTY. Заходишь через ssh в консоль и внезапно копипаста работает (ctrl-ins shift-ins)

        Ответить

Оставить комментарий

Авторизация
*
*
Генерация пароля