Локальная сеть через Интернет на базе CentOS-сервера с OpenVPN
Содержание
Порой возникает необходимость подключиться к домашней или производственной локальной сети, используя всемирную глобальную сеть. Решением такого рода задачи будет установка в рамках локальной сети VPN-шлюза, который был бы доступен из Интернета для удаленного пользователя. Одним из основных требований при таком подключении является хорошая безопасность, ведь незащищенные данные могут быть перехвачены злоумышленниками и использованы во вред. Чтобы избежать этой неприятной ситуации VPN-шлюз шифрует данные на основании одного из алгоритмов криптования.
Одним из вариантов установки VPN-шлюза для создания локальной сети через интернет будет выделение сервера с операционной системой CentOS 6, на базе которой необходимо “поднять” и настроить сервис OpenVPN. Данный программный продукт является бесплатным с открытым исходным кодом.
Как создать локальную сеть через интернет: инсталляция OpenVPN
Итак, чтобы настроить локальную сеть через интернет, нужно иметь предустановленную ОС CentOS на вашем сервере.
Кроме того, также следует убедиться в работоспособности сервиса SSH, с помощью которого и осуществляется консольный доступ. Следующим этапом необходимо подключить репозиторий EPEL Linux. Для 32-битной версии CentOS это будет выглядеть следующим образом:

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

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

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

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

Далее необходимо отредактировать файл “vars”, в котором будет находиться информация, необходимая для скрипта:
vim /etc/openvpn/easy-rsa/vars
Ищем переменные, начинающиеся на “KEY_” – обычно они находятся внизу файла. Названия этих переменных интуитивно понятны – нужно просто заполнить необходимую информацию.
Иногда случается, что OpenVPN не может обнаружить версию OpenSSL, необходимую для создания сертификатов безопасности. Для этого скопируйте в рабочую папку необходимый конфигурационный файл и создайте Центр сертификации, после чего можно сгенерировать сертификаты сервера:

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

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

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

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

Теперь для локальной сети через интернет у вас настроен полноценно работающий 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” на действительный внешний адрес сервера), порт, протокол и т.д. Главное правило – хранить этот файл нужно очень тщательно и не позволять попасть ему в чужие руки – ведь таким образом злоумышленник может получить непосредственный доступ через интернет в вашу локальную сеть.

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

Теперь Вы можете без проблем подключиться к локальной сети через интернет из любой точки планеты, где можно войти в глобальную сеть.
Автор: Dmitriy
Добавлено 22 апреля, 2019 в 14:13
НУ ЗАЧЕМ КОМАНДЫ ДЕЛАТЬ В ВИДЕ КАРТИНОК!?!?!
?
Будь плз человеком, неужели на сайте не реализован
Автор: Алексей
Добавлено 23 апреля, 2019 в 14:44
а какая разница, в консоль ты все равно не закопипастишь команды, придется писать
Автор: Андрей
Добавлено 17 мая, 2019 в 07:11
PuTTY. Заходишь через ssh в консоль и внезапно копипаста работает (ctrl-ins shift-ins)