Есть ли какой-либо Distributed/mesh-like/P2P VPNs?

У меня есть своя персональная VPN, подключая несколько устройств, таким образом, они могли закрепить IP-адреса на всегда достижимой сети (как долго, поскольку они подключены к Интернету). Это необходимо для меня, так как мои устройства могут быть в движении, в различных и непредсказуемых сетях (сотовый телефон сети 4G, ноутбук в университете, домашний сервер дома), и у меня есть сервер резервного копирования, который должен соединиться с ними (и иногда, я также имею к).

Я также думаю об установке чего-то как syncthing, который может также извлечь выгоду из более низких задержек и более близких узлов.

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

Это означает, что у меня есть один сервер OpenVPN, и openvpn клиент, работающий на каждом устройстве. Они все соединяются с сервером, и любой трафик от любых двух узлов должен пройти сервер, который является относительно далеко и имеет очень ограниченную пропускную способность. Это означает задержку и замедление. И когда я нажимаю кнопку "Pause", может потребоваться до 10 секунд к, на самом деле приостанавливают музыку. Даже если оба узла находятся на самом деле на той же LAN (так как они говорят через VPN). Meh.

Идеально, там должен существовать некоторый способ создать VPN, которая смогла найти кратчайшие пути между узлами и попытаться соединить их непосредственно. Что-то как путь Skype работало с суперузлами?

В то время как сервер далеко отсюда, один из узлов имеет общедоступный IP-адрес и может быть достигнут другими узлами. Это могло действовать как сервер от них - даже если бы это не сам сервер, хотя это был бы лучший выбор для некоторых узлов.

Я предполагаю, что мог сделать что-то сродни, чтобы выполнить и клиент и сервер, и соединить их мостом на том узле, но это не выглядит изящным. Это - hackish, это усложняет PKI, это разделяет VPN. Мне не нравится он.

В то время как я мог использовать простую VPN как PPTP, который действительно не гарантирует, что связь безопасна, я решил, что не хотел потрудиться настраивать Бакулюмы для шифрования соединений между узлами, что означает, что трафик прост в VPN. Инкапсуляция VPN является единственной безопасностью, таким образом, это не должно быть слабо. Однако что-либо, что решает "сетку" - как VPN без конфиденциальности, уже было бы хорошим началом - я удостоверюсь, что трафик начал проходить SSL/TLS.

Это похоже на проблему, которую кто-то еще, возможно, имел и решил к настоящему времени. Есть ли что-нибудь как это?

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

12
задан 27 April 2015 в 04:05
5 ответов

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

6
ответ дан 2 December 2019 в 21:39

Самый простой mesh vpn, который я нашел и использовал, это PeerVPN (http://www.peervpn.net/).

PeerVPN Features

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

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

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

Я установил Peervpn до сих пор на нескольких удаленных серверах, и он работает очень хорошо. Также нет требования к "супер-узлу", с которым вы можете столкнуться в других реализациях mesh vpn.

Узлы в peervpn узнают о новых добавленных узлах в VPN автоматически w/нет необходимости изменять конфигурации. Трафик между узлами также является прямым и не проходит через какой-нибудь центральный узел vpn.

Примечание: прочитайте файл peervpn.conf по умолчанию, чтобы узнать о множестве других опций, которыми вы "можете" воспользоваться. Но для основной mesh vpn, как я уже говорил, вам нужно установить только 6 опций (имя vpn, PSK, локальный IP-адрес конечной точки туннеля, "имя" интерфейса, которое вы хотите видеть/использовать на вашей linux-системе и номер порта, который вы хотите использовать для "этой" vpn... обратите внимание, что вы можете использовать peervpn для нескольких независимых VPN на сервере)

.
3
ответ дан 2 December 2019 в 21:39

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

Взгляните на OpenMesher . Буквально сегодня утром я решил отряхнуть пыль перед предстоящим проектом. Надеюсь, он сделает то, что вы хотите. Если нет, задайте вопрос, и я помогу.

0
ответ дан 2 December 2019 в 21:39

Nebula была выпущена Slack в конце 2019 года и предоставляет ячеистую оверлейную сеть, похожую на VPN.

Tailscale также был запущен в начале 2019 года с использованием WireGuard в качестве плоскости данных.

ZeroTier запущен в 2015 году.

Что-то более олдскульное и проприетарное:

0
ответ дан 7 October 2020 в 23:52

Вам обязательно стоит ознакомиться с https://mysterium.network/

Mysterium создает децентрализованную P2P VPN и другие инструменты, которые позволяют вам свободно просматривать Интернет, зарабатывать, делясь своим подключением, и строить приложения, устойчивые к цензуре.

0
ответ дан 30 January 2021 в 06:02

Теги

Похожие вопросы