Как несколько клиентов сервера openvpn могут найти друг друга?

14

Я поднимаю сервер openvpn, который будет поддерживать несколько клиентов в частной подсети. Таким образом, в частной подсети подключающиеся клиенты получат IP-адреса, такие как 10.8.0.10, 10.8.0.11 и т. Д.

Мне нужно, чтобы клиенты могли найти друг друга. Существует ли простой и общепринятый способ для клиента увидеть список IP-адресов, назначенных всем клиентам?

Мне не нужны DNS-имена или что-то подобное.

AlanObject
источник
4
Что именно вы пытаетесь достичь?
MDMarra
@MDMarra Я хочу, чтобы кто-то в поле на сайте пользователя мог инициировать исходящее соединение, чтобы специалист технической поддержки в нашей компании мог подключиться к этой системе.
AlanObject

Ответы:

22

В файле конфигурации сервера OpenVPN обязательным условием является следующая директива:

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

Чтобы облегчить клиентам поиск друг друга, я бы предложил динамический DNS в качестве (почти всегда) корпоративного решения. Чтобы представить список активных клиентов, вы можете:

  • найти способ распространения или предоставления openvpn-status.log клиентам?
  • распространять сценарии ping или аналогичные клиентам, возможно, делая обратный поиск DNS для каждого живого хоста?
  • пусть клиенты регистрируются / отменяют регистрацию в собственной базе данных или файле при подключении и имеют какой-то механизм очистки. Эта альтернатива выглядит как полное изобретение колеса, но, без сомнения, это будет интересный способ потратить час, который ничего не добавляет к миру ИТ в целом.
ErikE
источник
Что ж, по умолчанию используется резервный вариант, когда пользователь внешней системы просто звонит или отправляет текст другой системе свой IP-адрес. Позвольте мне проработать ваши предложения, чтобы увидеть, что людям нравится больше всего.
AlanObject
4

Вот оригинальная ссылка, поддерживающая функцию клиент-клиент OpenVPN 2.x:

https://openvpn.net/index.php/open-source/documentation/howto.html#scope

Раскомментируйте эту директиву, чтобы разные клиенты могли «видеть» друг друга. По умолчанию клиенты видят только сервер. Чтобы клиенты могли видеть только сервер, вам также необходимо соответствующим образом настроить брандмауэр на интерфейсе TUN / TAP сервера.

;client-to-client

Раскомментируйте указанную выше директиву «клиент-клиент», если вы хотите, чтобы клиенты могли соединяться друг с другом через VPN. По умолчанию клиенты будут иметь доступ только к серверу.

Затем спросите себя, хотите ли вы разрешить сетевой трафик между подсетью client2 (192.168.4.0/24) и другими клиентами сервера OpenVPN. Если это так, добавьте следующее в файл конфигурации сервера.

client-to-client
push "route 192.168.4.0 255.255.255.0"

Это приведет к тому, что сервер OpenVPN объявит подсеть client2 другим подключающимся клиентам.

mav_2k
источник