Чи існують розподілені / сітчасті / P2P VPN?


12

У мене є особистий VPN, який підключає декілька пристроїв, щоб вони могли мати фіксовану IP-адресу у завжди доступній мережі (доки вони підключені до Інтернету). Це необхідно для мене, оскільки мої пристрої можуть знаходитись у русі, у різних та непередбачуваних мережах (4G мережевий мобільний телефон, ноутбук в університеті, домашній сервер вдома), і у мене є резервний сервер, який потребує підключення до них (а іноді , Я також мушу).

Я також замислююся над тим, щоб встановити щось на кшталт синхронізації, що також може отримати вигоду з менших затримок та ближчих вузлів.

Крім того, я лінивий, і мені подобається відтворювати / призупиняти музику, що відтворюється на домашньому сервері зі свого смартфона, яка може бути не в одній мережі (це повинно бути, але це не завжди так).

Це означає, що у мене є один сервер OpenVPN і openvpnклієнт, що працює на кожному пристрої. Всі вони підключаються до сервера, і будь-який трафік з будь-яких двох вузлів повинен проходити через сервер, який знаходиться досить далеко, і має дуже обмежену пропускну здатність. Це означає затримку і повільність. І коли я натискаю кнопку "Призупинити", фактично призупинення музики може зайняти до 10 секунд. Навіть якщо обидва вузли фактично в одній локальній мережі (оскільки вони розмовляють через VPN). Мех.

В ідеалі повинен існувати певний спосіб створення VPN, який зміг би знайти найкоротші шляхи між вузлами та спробувати підключити їх безпосередньо. Щось на кшталт того, як Skype працював із супернодами?

Поки сервер знаходиться далеко відвідси, один з вузлів має загальнодоступну IP-адресу, і до нього можуть дістатися інші вузли. Він може діяти як сервер від них - навіть якщо це не сам сервер, хоча це було б кращим вибором для деяких вузлів.

Я думаю, я міг би зробити щось подібне, щоб запустити і клієнт, і сервер, і з'єднати їх на цьому вузлі, але це не виглядає елегантно. Це хакі, це ускладнює PKI, воно розбиває VPN. Мені це не подобається.

Хоча я міг використовувати такий простий VPN, як PPTP, який дійсно не забезпечує безпеку зв’язку, я вирішив, що не хочу заважати налаштувати Bacula для шифрування з'єднань між вузлами, а це означає, що трафік проходить всередині VPN. Інкапсуляція VPN - єдина безпека, тому вона не повинна бути слабкою. Однак все, що вирішує «сітчастий» VPN без конфіденційності, було б уже вдалим початком - я би переконався, що трафік почав проходити через SSL / TLS.

Це схоже на проблему, яку мав би хтось інший, і вирішується до цього часу. Чи є щось подібне?

Також є ймовірність, що я дивлюся на це неправильно, але поки що це виглядає як найкращий підхід, щоб переконатися, що я завжди можу віддалено підключатися до будь-якого зі своїх пристроїв, незалежно від того, де я знаходжусь чи вони знаходяться.


Так, те, що ви хочете, існує для зв'язку в локальній мережі, якщо пристрої локальні. Це службовий автобус Azure
goodguys_activate

Відповіді:


6

Я не впевнений, чи повністю він відповідає вашим потребам, але вам, мабуть, варто поглянути на tinc: http://www.tinc-vpn.org/ . Він цілком відповідає тій мережевій мережі, яку організує центральний сервер, як ви описали, але я не впевнений, чи вдасться виявити однолітків у вашій локальній мережі.


3

Найпростіша сітка vpn, яку я знайшов і використовую, це PeerVPN ( http://www.peervpn.net/ ).

Особливості PeerVPN

  • Підтримка тунелювання Ethernet за допомогою пристроїв TAP.
  • Підтримка IPv6.
  • Повна мережева мережа топологія.
  • Автоматично будує тунелі через брандмауери та NAT без будь-яких подальших налаштувань (наприклад, переадресація портів).
  • Підтримка загального шифрування ключа та аутентифікації.

Конфігурація проста .. в одному конфігураційному файлі, який ви редагуєте, і для базової мережі vpn є лише 6 параметрів, які вам потрібно вказати, див. Підручник PeerVPN, який становить лише 1 сторінку: http://www.peervpn.net/tutorial/

Ключ шифрування / аутентифікації PSK може містити до 512 біт (64 байти).

Я встановив peervpn поки що на декількох віддалених серверах, і він працює дуже добре. Крім того, немає ніякої вимоги до "супервузла", як ви можете зіткнутися в інших мережевих vpn-реалізаціях.

Вузли в peervpn дізнаються про щойно додані вузли до VPN автоматично без необхідності змінювати конфігурації. Трафік від вузла до вузла також прямий і не проходить через центральний концентратор vpn.

Примітка: прочитайте файл peervpn.conf за замовчуванням, щоб дізнатися про багато інших параметрів, якими ви можете "скористатися". Але для базової сітки vpn, як я вже заявив, вам потрібно встановити лише 6 варіантів (ім'я vpn, PSK, IP-адреса кінцевої точки локального тунелю, інтерфейс "ім'я", який ви хочете бачити / використовувати у вашій системі Linux та номер порту для використання "that" vpn ... зауважте, що ви можете використовувати peervpn для декількох незалежних VPN на сервері)


0

Я мав таку ж проблему років тому. У мене було близько 30 офісів, які були потрібні для прямого спілкування, але вони були створені в конфігурації "з голосом і говорили". Я написав інструмент в Python для автоматичного генерування n x (n-1)/2кількості з'єднань у OpenVPN між офісами. Пізніше я додав підтримку маршрутизації RIP між сайтами після химерного випуску Comcast, де один офіс міг бачити всі інші, але не головний офіс. Нарешті я додав можливість автоматичного генерування зворотного DNS для IP-адрес зв'язку та можливість виштовхування пакетів до кожного маршрутизатора.

Погляньте на OpenMesher . Якраз сьогодні вранці я вирішив зняти його для майбутнього проекту. Сподіваємось, це робить те, що ви хочете. Якщо ні, сміливо надсилайте питання, і я допоможу.

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