Я создаю сервер openvpn, который будет поддерживать несколько клиентов в частной подсети. Таким образом, в частной подсети подключающиеся клиенты получат IP-адреса, такие как 10.8.0.10, 10.8.0.11 и т. Д.
Одно из необходимых мне средств - это чтобы клиенты могли найти друг друга. Есть ли какой-либо простой и общепринятый способ для клиента увидеть список IP-адресов, назначенных всем клиентам?
Мне не нужны DNS-имена или что-то в этом роде.
В файле конфигурации сервера 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 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 другим подключающимся клиентам.