Самостоятельное решение для локальной сети через Интернет, такое как Hamachi

3588
Trevor Rudolph

Я хотел бы настроить VPN, которая предлагает локальную сеть через Интернет во многом таким же образом, как сервер ячеистого стиля Hamachi позволяет одноранговым узлам в сети напрямую общаться через IP-адреса на интерфейсе, направляя обычный трафик на основной сетевой адаптер (например, eth0 или wlan0 ).

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

Мне нужно создать сервер Mesh VPN на моем домашнем сервере (который имеет общедоступный IP-адрес) и вручную подключиться к нему (почти так же, как Hamachi), чтобы мои коллеги могли взаимодействовать с моим домашним компьютером в качестве центрального сервера. Мне нужно это для подключения к некоторым моим рабочим компьютерам, пока я не в состоянии. Моя главная задача - туннелирование UDP-трафика.

Существует ли какое-либо автономное решение, подобное Hamachi, которое действует не как шлюз, а как локальная сеть через Интернет?

1

1 ответ на вопрос

5
grawity

это не действует как шлюз, а как локальная сеть через Интернет?

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

Тем не менее, если вы хотите сетку:

Обычная рекомендация - Tinc (возможно, даже ветка 1.1). Кажется, что он способен устанавливать произвольные топологии сетки с ретрансляцией на уровне IP или Ethernet (режим коммутации). Широковещание поддерживается (многоадресные пакеты обрабатываются как широковещательные).

ZeroTier находится где-то посередине: он пытается использовать прямые соединения всякий раз, когда это возможно (даже пробивая через NAT), но в противном случае возвращается к ретрансляции через супер узлы. Можно разместить свой собственный контроллер и суперузел, хотя это редко требуется. Поддерживается многоадресная и широковещательная рассылка (с ограничениями).

Тогда есть OpenVPN, который является довольно строго клиент-серверным. (Он имеет флаг "клиент-клиент", но не имеет возможности пробивки NAT.) Обычный сервер OpenVPN звучит так, как будто он будет работать нормально, но если вы установите его в режиме касания (в отличие от значения по умолчанию) tun ), тогда он будет передавать произвольный трафик Ethernet, а не ограничиваться IP.

(Все вышеперечисленное работает в Linux, FreeBSD и Windows.)

Наконец, в зависимости от ОС, существует множество облегченных, настроенных вручную типов туннелей, таких как GRE или L2TP. Они становятся несколько громоздкими по мере роста сети, так как вам приходится настраивать каждую двухточечную связь вручную (без дырок, без шифрования, если вы не добавляете IPsec), но ... они в основном являются канальной сетью ,


Обратите внимание, что, вероятно, не существует какого-либо программного обеспечения, поддерживающего все платформы, поэтому в некоторых случаях вам просто нужно маршрутизировать пакеты между 2 или 3 сетями. Например, вы можете запустить Tinc на ПК, но подключиться через OpenVPN с iPhone. Это нормально, если на сервере OpenVPN есть маршрут для подсети Tinc, и наоборот. (То же самое касается маршрутизации между «локальной сетью через Интернет» и вашей обычной локальной сетью.)

Таким образом, ZeroTier пытается делать постоянные пробивки NAT с сервером в качестве посредника, но имеет ли резервный стиль VPN? Trevor Rudolph 7 лет назад 0
@TrevorRudolph: Да, и это все равно VPN. «VPN» не подразумевает никакой центральной ретрансляции. grawity 7 лет назад 2
Да понял. Я должен сделать некоторые исследования на разных уровнях сети (2 против 3) Trevor Rudolph 7 лет назад 0
Вкратце: вам нужна L2 VPN для протоколов, которые не работают по IP. (Например, MPLS; IPX или AppleTalk (для старых игр); IS-IS; ...) Связь на основе чистого IP работает с обоими типами, хотя L3 имеет немного меньшую нагрузку (без заголовка Ethernet внутри туннеля). grawity 7 лет назад 0
Да, я бы предпочел уменьшить накладные расходы. Я буду стрелять для L3. Я, вероятно, могу настроить OpenVPN в режиме TUN, поскольку мои коммуникационные маршруты <100 Мбит / с, я сомневаюсь, что мне нужна ячеистая сеть, если мой поток данных выглядит как расположение в пути -> Сервер -> Рабочие устройства за Office NAT. Обычно я использую туннель ssh, но программа, над которой я работаю, сама выбирает порт. Trevor Rudolph 7 лет назад 0
Вам не нужна сетка, но она, безусловно, может уменьшить _latency_, если программе удается установить прямое соединение. Если ваш VPN-сервер также не размещен на работе, то есть. Тем не менее, OpenVPN в режиме «топология подсеть; tls-сервер» является хорошим началом. grawity 7 лет назад 1

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