2

Как я могу перенаправить пакеты 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

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

superuser.com -> 64.34.119.12

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

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

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

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

superuser.com

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

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

  • http://superuser.com
  • irc://superuser.com
  • ftp://superuser.com
  • news://superuser.com
  • https://superuser.com
  • ventrilo://superuser.com
  • torrent://superuser.com

не работает Это потому, что superuser.com разрешает один и тот же 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.superuser.com
wwws.superuser.com
ventrilo.superuser.com
torrent.superuser.com
irc.superuser.com
news.superuser.com

а не один:

superuser.com

За все.

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


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

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

http://www.superuser.com:80
http://m.superuser.com:80
http://mobile.superuser.com:80
http://english.superuser.com:80
http://spanish.superuser.com:80
http://latin.superuser.com:80
...

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

*.superuser.com

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

2 ответа2

1

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

1

Первая часть

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

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

Бонус часть 1

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

Бонус Часть 2

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

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

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

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

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