Як кілька клієнтів сервера openvpn можуть знайти один одного?


14

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

Одне з необхідних послуг - клієнти зможуть знайти один одного. Чи є якийсь простий і загальноприйнятий спосіб клієнт побачити список IP-адрес, призначених усім клієнтам?

Мені не потрібні імена DNS або щось подібне.


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 клієнтам?
  • розповсюджувати сценарії пінг-файлів або подібні до них клієнти, можливо, здійснюючи зворотний пошук dns для кожного живого хоста?
  • попросити клієнтів зареєструватися / скасувати реєстрацію у користувальницькому db або файлі при з'єднанні та мати якийсь механізм очищення. Ця альтернатива, здається, повністю відновлює колесо, але, без сумніву, це був би цікавий спосіб витратити годину, що нічого не додає світові ІТ в цілому.

Добре за замовчуванням - користувач зовнішньої системи просто дзвонить або надсилає повідомлення іншій системі, якою є їх 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 для інших підключених клієнтів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.