VPN только с IPv4 на IPv6 только

VPN только с IPv4 на IPv6 только

Я хочу получить доступ к своей домашней сети на ходу, но извне к ней можно получить доступ только через IPv6. Сети, из которых я хочу получить доступ, обычно имеют только IPv4. (Как) Могу ли я получить доступ ко всей домашней сети с сервером между ними?

Предположим следующее:

Сеть A (Домашняя):

  • Диапазон внутренних IP-адресов: 192.168.0.0/24 (я бы хотел пока оставить внутренний IPv4)
  • Машина A: aaaa:bbbb:cccc:dddd (IPv6 доступен извне)
  • Машина А (внутренняя): 192.168.0.1

Сеть B (удаленная):

  • Диапазон внутренних IP-адресов: 192.168.178.0/24
  • Машина B (внутренняя): 192.168.178.2
  • Публичный IP: 1.2.3.4 (маршрутизатор)

Сервер:

  • IPv4: 2.3.4.5
  • IPv6: bbbb:cccc:dddd:eeee

Теперь я хочу получить доступ к 192.168.0.3 (сеть A) из 192.168.178.2 (сеть B). Можно ли это сделать с помощью OpenVPN / (SSH) туннелей / iptables / маршрутизации? Если да:Как?

Извините, обычно у меня есть полурабочий подход или, по крайней мере, идея, как решить мои проблемы, но я думал об этом весь день, и в моей голове остался только хаос; так что я лучше начну с нуля. (Конечно, моя идея заключается в том, что сервер должен соединить сеть IPv6 A с сетью IPv4 B. Но как?)

Бонусные баллы, если весь трафик между сетью A и сервером, а также сервером и сетью B (читай: Интернетом) зашифрован.

решение1

Вы не указали, какие операционные системы используете, поэтому я могу дать вам только общий совет:

Вам придется настроить два туннеля:

  • Туннель IPv4-over-IPv6 между машиной A и сервером
  • Туннель IPv4-over-IPv4 между машиной B и сервером

В домашней сети вам придется направлять трафик на 192.168.178.0/24машину A. Если машина A является шлюзом по умолчанию, то это уже будет так. В противном случае вам придется добавить статический маршрут на шлюзе по умолчанию, чтобы отправить этот трафик на машину A. На машине A вам придется настроить статический маршрут в 192.168.178.0/24направлении туннеля IPv4-over-IPv6 к серверу.

В удаленной сети вам придется направлять трафик на 192.168.0.0/24машину B. Если машина B является шлюзом по умолчанию, то это уже будет так. В противном случае вам придется добавить статический маршрут на шлюзе по умолчанию, чтобы отправить этот трафик на машину B. На машине B вам придется настроить статический маршрут в 192.168.0.0/24направлении туннеля IPv4-over-IPv4 к серверу.

Серверу понадобятся два статических маршрута:

  • 192.168.0.0/24к туннелю IPv4-over-IPv6 к машине A
  • 192.168.178.0/24к туннелю IPv4-over-IPv4 к машине B

Теперь машины в домашней сети будут отправлять свои пакеты на 192.168.178.0/24шлюз по умолчанию. Если это не машина A, то шлюз по умолчанию перешлет их на машину A. Машина A перешлет их по туннелю IPv4-over-IPv6 на сервер. Сервер перешлет их по туннелю IPv4-over-IPv4 на машину B, которая перешлет пакеты в удаленную сеть.

Теперь машины в удаленной сети будут отправлять свои пакеты на 192.168.0.0/24шлюз по умолчанию. Если это не машина B, то шлюз по умолчанию перешлет их на машину B. Машина B перешлет их по туннелю IPv4-over-IPv4 на сервер. Сервер перешлет их по туннелю IPv4-over-IPv6 на машину A, которая перешлет пакеты в домашнюю сеть.

Я четко записал каждый прыжок пути в обоих направлениях. Связь будет работать только есликаждыйОписанный выше шаг работает.

Вы можете использовать множество протоколов и приложений для настройки туннелей. Простые туннели IPvX-in-IPvY являются самыми простыми, но не обеспечивают шифрования. То же самое касается туннелей GRE. OpenVPN немного сложнее в настройке, но обеспечивает шифрование. Взгляните наLinux IPv6 Руководство по использованиюиРаздел «Туннель» руководства Linux Advanced Routing How-Toчтобы увидеть, как настраивать туннели.

Связанный контент