Возможно ли перенаправление портов в Linux для IPv6 вместе с перенаправлением IPv4?
Дело в том, чтобы сделать все различные службы, работающие на отдельных хостах / виртуальных системах, доступными на example.com, а также на sumehost.example.com (который в любом случае работает таким образом с предварительной маршрутизацией iptables для IPv4).
В идеальном случае это будет что-то вроде сообщения ICMP «для этого порта на этом хосте подключиться к этому хосту», но я не знаю, возможно ли это в IPv6.
Позвольте мне перефразировать ваш вопрос в качестве примера, чтобы убедиться, что я правильно его понял.
У вас есть различные службы, скажем HTTP, IMAP, LDAP и т. Д., И вы хотите, чтобы все они были доступны при подключении к «example.com» (без поддомена). Но не все эти службы находятся на одном хосте. Было бы лучше, если бы клиенты использовали поддомены, такие как «www.example.com», «imap.example.com» и т. Д., Потому что тогда вы могли бы просто сопоставить эти имена в DNS с соответствующим адресом, но они не будут для этого (по крайней мере, иногда) они собираются использовать простой "example.com". Таким образом, какой бы хост ни ответил на «example.com», он должен будет отправлять запросы фактическому хосту, который обрабатывает каждую службу.
Вы можете использовать простой сервер пересылки TCP, например перенаправление xinetd, как Сирекс предполагает, но с этим возникают все обычные проблемы серверов пересылки TCP: на хосте, который обслуживает запрос, IP-соединение, похоже, исходит от сервера пересылки, а не от исходного клиента, поэтому журналы и другие вещи оказываются неверными.
Прокси-серверы уровня приложения (обратный прокси) также подходят для тех протоколов, в которых они есть. Но вы действительно хотели отправить все TCP / UDP-соединение на другой сервер, а не вводить прокси-сервер. Правильно.
Хорошо, теперь, когда Linux поддерживает DNAT для IPv6 вы, вероятно, захотите просто использовать это.
В качестве альтернативы, если вы используете какой-то аппаратный балансировщик нагрузки, он, вероятно, может сделать эту работу за вас.
Лучшей альтернативой был бы DNS. Записи SRV. Они позволяют клиентам искать не только имя хоста в DNS, но и имя хоста + имя службы вместе, и возвращать необработанное имя хоста или IP-адрес плюс номер порта, к которому они могут подключиться. Это позволяет сопоставить example.com для HTTP с одним IP-адресом и example.com для LDAP с другим IP-адресом.
К сожалению, хотя стандарту записи SRV более 15 лет, он никогда не пользовался большим спросом, и клиенты его просто не используют. Так что это не вариант. Фактически, он часто используется вместе с несколькими избранными протоколами, такими как SIP, но практически все веб-браузеры и клиенты IMAP и клиенты для большинства других протоколов полностью игнорируют его.