Подключите клиент к другим клиентам с использованием сервера доступа openVPN.

Вопрос или проблема

Я использую решение “Access Server” от openVPN https://openvpn.net/as-docs/general.html на компьютере с Linux Ubuntu.

Моя конечная цель — подключить клиентов Windows, чтобы они могли использовать удаленный рабочий стол (Windows 10) для подключения друг к другу.

Я могу подключиться к серверу доступа OpenVPN с моих клиентов, но не могу заставить клиентов подключаться друг к другу.

Для упрощения мой тестовый сценарий включает только 2 клиента, клиент 1 и клиент 2. Моя цель — выполнить пинг LAN-адреса клиента 2 с клиента 1.

Клиенты — это компьютеры с Windows, а сервер (хостинг сервера доступа OpenVPN) — это компьютер с Linux Ubuntu.

Каждый клиент подключается к серверу OpenVPN удаленно через интернет WAN.

LAN IP-адреса компьютеров следующие:

client1 (LAN ip 192.168.1.5)

—>(интернет)

—>сервер доступа openVPN (LAN ip 193.169.10.10)

<— (интернет)

<—client2 (LAN ip 194.170.10.100)

Настройки моей панели администрирования openVPN:

  • Отключен NAT и включена маршрутизация
  • Разрешения для пользователя клиента 1 (из панели администрирования)
    • Включен VPN-шлюз с подсетью на стороне клиента 192.168.1.0/24
  • Разрешения для пользователя клиента 2 (из панели администрирования)
    • Включен VPN-шлюз с подсетью на стороне клиента 194.170.10.0/24

Моя цель — выполнить пинг 194.170.10.100 (целевой клиент2) с клиента 1. Я не могу заставить это работать.

“ping 194.170.10.100” возвращает “Время запроса истекло / потеряно 100% пакетов”.

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

Спасибо

Ответ или решение

Конфигурация OpenVPN Access Server для подключения клиентов друг к другу – задача, требующая тщательной настройки и внимания к деталям. Ваш текущий сценарий предусматривает подключение двух клиентов, работающих на Windows, к OpenVPN Access Server, который установлен на компьютере под управлением Ubuntu. Основная цель – обеспечить возможность взаимодействия этих клиентов между собой через сеть, например, чтобы клиент 1 мог пинговать клиента 2. Давайте разберемся в теоретической части, предложим пример решения и примимся к конкретным шагам настройки.

Теория

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

  1. Маршрутизация: Когда NAT отключен и включена маршрутизация, пакеты между клиентами должны правильно маршрутизироваться через OpenVPN сервер. Это подразумевает, что сервер должен знать о клиентах подсетей и уметь пересылать пакеты между ними.

  2. Файрволы: Возможная блокировка на стороне клиентов или сервера. Windows по умолчанию может блокировать ICMP (пинг) пакеты. Аналогично, файрвол на сервере Ubuntu может быть настроен на отказ приема или пересылки таких пакетов.

  3. Конфигурация OpenVPN: Проверьте, что настройки соответствуют вашей топологии сети и поддерживают межклиентскую маршрутизацию. Включение функции client-to-client в серверной конфигурации, например, может помочь решению задачи.

Пример

Рассмотрим пример настройки конфигурационного файла OpenVPN, который поддерживает маршрутизацию между клиентами. В файле server.conf (или другом конфигурационном файле OpenVPN) добавьте или измените следующие параметры:

client-to-client

Этот параметр позволяет OpenVPN серверу пересылать трафик между клиентами напрямую.

Кроме того, настройте файрвол, чтобы разрешить ICMP пакеты (необходимые для "ping") на обоих клиентах и сервере.

Применение

Давайте перейдем к конкретным шагам, которые помогут вам настроить OpenVPN Access Server для достижения поставленной цели.

  1. Изменение конфигурации OpenVPN:

    • Откройте ваш конфигурационный файл OpenVPN на Ubuntu сервере. Обычно он находится в /etc/openvpn/server.conf или в другом аналогичном месте.
    • Добавьте строку client-to-client.
  2. Настройка маршрутов:

    • Убедитесь, что сервер имеет маршруты к подсетям обоих клиентов. Например, вы можете использовать команды ip route для добавления необходимых маршрутов от имени администратора.
    • Пример команды для добавления маршрута:
      ip route add 192.168.1.0/24 via 193.169.10.10
      ip route add 194.170.10.0/24 via 193.169.10.10
    • Проверьте, что маршрутизация включена на вашем сервере. Для этого убедитесь, что в файле /etc/sysctl.conf установлено net.ipv4.ip_forward=1.
  3. Настройка файрвола на Windows клиентах:

    • Убедитесь, что ICMP протокол не заблокирован файрволом Windows. Перейдите в Панель управления > Система и безопасность > Брандмауэр Windows Defender > Дополнительные параметры и создайте новое правило входных и выходных подключений для протокола ICMP.
  4. Перезапуск сервиса OpenVPN:

    • После внесения изменений перезапустите OpenVPN сервер:
      sudo systemctl restart openvpn@server
  5. Тестирование:

    • Попробуйте пинговать клиент 2 из клиент 1. Убедитесь, что оба клиента подключены к VPN и маршруты отображаются правильно с помощью команды route print на Windows.

Заключение

После выполнения вышеперечисленных шагов клиенты вашей сети должны успешно пинговать друг друга через OpenVPN Access Server. Важно помнить о специфике межсетевых взаимодействий и учитывать маршрутизацию, настройку сетевых экранов и точность конфигурации OpenVPN. Надеемся, что эти рекомендации помогут вам в настройке. Если все настроено правильно, но проблема осталась, рекомендуется обратить внимание на журналы OpenVPN для диагностики ошибок и детального анализа сетевых проблем.

Оцените материал
Добавить комментарий

Капча загружается...