Page tree

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

Если вам необходимо настроить удаленное подключение к рабочим серверам (например, при организации удаленной работы для сотрудников, чтобы обеспечить им доступ к корпоративной сети и внутренним ресурсам из сторонних сетей), вы можете воспользоваться этой инструкцией для настройки VPN-подключения и удаленного доступа. 

Существует множество вариантов реализации VPN. Ниже мы рассмотрим настройку на основе OpenVPN и Webmin.

Описанный в инструкции способ позволит вам настроить VPN-подключение на базе OpenVPN для неограниченного количества пользователей.

Общая информация

В рамках этой инструкции мы будем решать задачу по предоставлению доступа клиентам VPN в локальные сети компании.

Для этого потребуется:

  • установить и настроить OpenVPN на VDS-сервере;
  • настроить доступ через него в локальную сеть компании;
  • организовать доступ к VPN-серверу с компьютеров-клиентов, на которых установлено соответствующее ПО (клиент OpenVPN).

Рассмотрим следующую схему:

Конечная цель - предоставление доступа клиенту Сlient3 (он подключен к VPN) к компьютеру Comp1, который не имеет доступа в сеть Интернет, однако к нему есть доступ через Client1. Для этого мы установим OpenVPN-клиент на сервер Client1, у которого есть доступ к сети 192.168.1.0/24.

Эти значения IP-адресов и сетей мы будем использовать в примерах по ходу статьи.

Установка OpenVPN и Webmin

Для настройки мы будем использовать VDS с установленной системой CentOS 6.

OpenVPN

Для начала нужно установить OpenVPN. Подключитесь к серверу по SSH и выполните следующие команды:

yum install epel-release
yum install openvpn –y

Ключ y позволит автоматически выбирать yes на все запросы системы в процессе установки.

После завершения установки выполните следующие настройки:

1. Измените метод шифрования в конфигурационном файле, чтобы в будущем при выпуске и проверке сертификатов не возникало проблем.

Для этого откройте файл /etc/openvpn/openvpn-ssl.cnf:

nano /etc/openvpn/openvpn-ssl.cnf

Найдите строку default_md и замените значение md5 на sha256:

Сохраните изменения и закройте файл.

2. Активируйте IP-форвардинг в sysctl.

Для этого откройте файл /etc/sysctl.conf:

nano /etc/sysctl.conf

Замените значение переменной net.ipv4.ip_forward с 0 на 1 .

Сохраните изменения и закройте файл.

3. Очистите правила iptables.

Чтобы не углубляться на данном этапе в правила firewall, очистите правила iptables командой ниже. При необходимости вы сможете в дальнейшем самостоятельно настроить правила, используя материал в сети.

Выполните команду:

iptables -F

После перезапустите службу network для применения изменений:

/etc/init.d/network restart

Webmin

Далее установите Webmin - графический web-интерфейс для управления операционными системами Linux. Использование Webmin значительно упростит последующую работу.

1. Откройте файл /etc/yum.repos.d/webmin.repo:

nano /etc/yum.repos.d/webmin.repo

Внесите в него следующие правки:

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

Сохраните и закройте файл.

2. Импортируйте GPG-ключ:

rpm --import http://www.webmin.com/jcameron-key.asc

3. Установите Webmin:

yum install -y webmin

После установки Webmin запустится автоматически. Вам останется только добавить его в автозагрузку:

chkconfig webmin on

Настройка OpenVPN

Перейдите в web-интерфейс Webmin по адресу https://ip_адрес_сервера:10000

При первом обращении вы увидите предупреждение о небезопасном подключении. Для продолжения работы откройте дополнительные сведения (кнопки "Дополнительно", "Advanced" и т.д.) и далее, в зависимости от используемого браузера, вы сможете либо сразу перейти к Webmin, либо подтвердить исключение безопасности.

В форме авторизации укажите данные для доступа к вашему серверу, отправленные в письме об установке ОС (имя пользователя root и пароль).

Установка плагина OpenVPNadmin

Перейдите по данной ссылке и скачайте архив на свой компьютер:

В интерфейсе Webmin перейдите в раздел Webmin -> Webmin Configuration -> Webmin Modules. 

Выберите From uploaded file, кликните на значок скрепки и укажите скачанный файл, после чего нажмите Install module:

После успешной установки появится следующее сообщение, и вы сможете перейти по указанной в нем ссылке OpenVPN+CA.

Сам модуль будет располагаться в разделе Servers -> OpenVPN + CA.

Настройка плагина

Нажмите на шестеренку, чтобы внести изменения в настройки модуля.

Внесите изменения в параметры Command to start OpenVPN (*) и Command to stop OpenVPN (*):

  • /etc/init.d/openvpn start
  • /etc/init.d/openvpn stop

Нажмите Save.

Настройка центра сертификации

Центр сертификации (Certification Authority или CA) необходим для выпуска сертификатов, как для сервера, так и для клиентов.

Перейдите в Certification Authority List:

1. Создайте центр сертификации:

  • Укажите произвольное имя в поле Name of Certification Authority.
  • Остальные поля можно оставить со значениями по умолчанию или внести изменения (например, как на скриншоте).

 

Нажмите Save.

Начнется процесс создания CA, это может занять некоторое время. После завершения процесса нажмите Return to OpenVPN Administration.

2. Создайте сертификат для сервера:

  • Перейдите в раздел Certification Authority List и выберите Keys list напротив созданного центра.

  • Измените имя в графе Key name на произвольное.
  • В пункте Key Server выберите server. 

Нажмите Save.

После завершения процесса нажмите Return to Keys list of Certification Authority List, и далее - Return to OpenVPN Administration.

Создание сервера

Перейдите в раздел VPN List и нажмите New VPN server.

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

Для решения нашей задачи настройте следующие параметры:

  • Net IP assigns (option server) - здесь необходимо задать пул IP для сети VPN и маску сети. В нашем случае это IP 10.8.0.0 и маска 255.255.255.0. Это значит, что клиентам, которые будут подключены в сеть VPN, будут выдаваться IP вида 10.8.0.2. Обратите внимание, что диапазон сети VPN не может совпадать с диапазоном локальной сети, к которой нужно получить доступ (в нашем случае это сеть 192.168.1.0).
  • Because the OpenVPN server mode handles multiple clients through a single tun or tap interface, it is effectively a router (option client-to-client) - директива, включающая возможность передачи данных между клиентами сервера. Укажите yes.
  • Group - укажите nobody.

Additional Configurations - здесь можно задать различные дополнительные правила. В нашем случае здесь нужно ввести значения, которые помогут получить доступ к внутренней сети, находящейся за некоторыми клиентами. Формат:

  • push "route IP mask" - директива push позволяет направлять клиентам определенный параметр, в данном случае это маршрут к внутренней сети офиса;

  • route IP mask - осуществлять маршрутизацию из/к сети офиса

В качестве IP и mask необходимо ввести данные о локальных сетях компании, в которые необходимо получить доступ. В нашем случае это сеть 192.168.1.0

Обратите внимание! На серверах, где будет запущен клиент VPN для пропуска во внутреннюю сеть (см. схему Client1), файрвол должен быть настроен для пропуска пакетов через VPN. Также желательно, чтобы сервер (Сlient1) являлся gateway локальной сети. Если это не так, директиву route следует прописать в формате route ip mask ip_vpn, например: route 192.168.1.0 255.255.255.0 10.8.0.2. В этом случае для клиента потребуется использовать директиву ifconfig-push (подробнее ниже).

Нажмите Save.

Если в дальнейшем потребуется внести дополнительные изменения, это можно будет сделать в разделе VPN List по клику на имя сервера:

Создание клиента

Вернитесь в главное меню модуля кнопкой Return to OpenVPN Administration.

  • Перейдите в раздел Certification Authority List и выберите Keys list напротив созданного центра.
  • Измените имя в графе Key name на произвольное.
  • В пункте Key Server выберите client. 

Нажмите Save.

После завершения процесса нажмите Return to Keys list of Certification Authority List. При необходимости можно сразу создать еще несколько сертификатов для клиентов.

Когда все сертификаты созданы, нажмите Return to OpenVPN Administration.

Вернитесь в раздел VPN List и нажмите Client List напротив имени сервера:

Нажмите New VPN Client:

Здесь важно обратить внимание на несколько параметров:

  • Name - здесь можно выбрать из списка необходимое имя из тех, для кого создан сертификат;
  • remote (Remote IP) - указать внешний адрес вашего сервера (адрес, который указан в ПУ).

В разделе ccd file content необходимо прописать настройки для клиента, который будет запущен для допуска в локальную сеть. Формат:

  • iroute ip mask - используется только для клиентов-серверов (Client1 на нашей схеме); необходимо указать те же значения, что при настройке route для сервера. В нашем случае это: iroute 192.168.1.0 255.255.255.0
  • ifconfig-push ip_vpn mask - (опционально) данной директивой можно задать статический IP для клиента VPN. Например, чтобы IP для Client1 IP всегда был 10.8.0.2 , директива будет выглядеть следующим образом: ifconfig-push 10.8.0.2 255.255.255.0

  • push "route ip mask" - данной директивой мы сообщаем этот маршрут для клиентов (таких, как Client3 на нашей схеме). В качестве ip нужно прописать тот же ip, что при настройке route для сервера.

Нажмите Save.

Скачать созданную конфигурацию для клиента можно в разделе VPN Client List по кнопке Export:

Полученный файл конфигурации необходимо доставить на клиентское устройство (компьютер или смартфон). Для передачи конфигураций лучше использовать защищенные соединения, например, SFTP.

Запуск сервера

Вернитесь в раздел VPN List при помощи кнопки Return VPN List.

Запустите сервер по кнопке Start.

После нажмите Return to OpenVPN Administration.

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

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

Инструкции по настройке клиентов для OpenVPN для разных устройств и систем вы можете найти в сети. В большинстве случаев достаточно установить клиент и импортировать файл конфигурации.

Для примера рассмотрим настройку клиентов на компьютере с системами Windows и MacOS.

Windows

  1. Загрузите клиент с сайта OpenVPN: https://openvpn.net/community-downloads/ и установите его на компьютер.
  2. После установки скопируйте полученный файл конфигурации в папку C:\Program Files\OpenVPN\config.
  3. Запустите OpenVPN. Это необходимо сделать от имени администратора: кликните на значке правой кнопкой и выберите "Запуск от имени администратора". Чтобы OpenVPN всегда по умолчанию запускался от имени администратора, кликните на его значке правой кнопкой и выберите Свойства. На вкладке "Совместимость" отметьте пункт "Выполнять эту программу от имени администратора" и сохраните. 
  4. В появившемся при запуске окне с предупреждением (разрешить программе внести изменения) нажмите "Да."
  5. Кликните правой кнопкой мыши на значке OpenVPN в трее, выберите загруженный профиль и нажмите Connect / Подключиться.

Откроется окно с логом соединения, и, как только соединение будет установлено, появится соответствующее уведомление.

Для отключения снова кликните на значок OpenVPN в трее, выберите нужный профиль и нажмите Disconnect / Отключиться.

MacOS

  1. Для MacOS можно использовать бесплатный клиент Tunnelblick.
  2. Загрузите клиент с сайта Tunnelblick: https://tunnelblick.net/downloads.html
  3. Дважды кликните на загруженном файле и пройдите процесс установки.
  4. При завершении установки выберите "Нет" в ответ на вопрос о наличии конфигурационных файлов.
  5. После завершения установке откройте Finder и кликните дважды на вашем конфигурационном файле. Tunnelblick автоматически установит профиль.

Для установки соединения запустите Tunnelblick, после чего кликните на его иконку в верхней части экрана и нажмите Connect. Далее выберите установленный профиль.

Для доступа в локальные сети на необходимом сервере должен быть запущен VPN client. Например, в нашем случае клиент должен быть запущен на сервере Client1, чтобы был возможен доступ к сети 192.168.1.0.
  • No labels