2

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

Давайте предположим следующее:

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

  • Внутренний диапазон IP-адресов: 192.168.0.0/24 (сейчас я хотел бы сохранить IPv4 внутри)
  • Машина A: aaaa: bbbb: cccc: dddd (IPv6 доступен снаружи)
  • Машина A (внутренняя): 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). Можно ли это сделать с помощью туннелей / iptables / маршрутизации OpenVPN / (SSH)? Если так: как?

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

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

1 ответ1

2

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

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

  • Туннель 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, чтобы узнать, как настроить туннели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .