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

1681
Ian Boyd

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

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

Балансировщик нагрузки может добиться цели; до тех пор, пока мы понимаем, что я всегда хочу балансировать на одном компьютере. Ian Boyd 12 лет назад 0
1
Nick Whaley

Первая часть

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

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

Бонус часть 1

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

Бонус Часть 2

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

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

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

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

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