ipv6端口redirect? (用于镜像主机的ip4)

是否有可能做一些端口redirect在Linux的IPv6与IPv4redirect?

关键是要在example.com上提供所有在单独的主机/虚拟系统上运行的各种服务,以及sumehost.example.com(与iptables prerouting for IPv4几乎一样)。

在一个完美的情况下,这将是像ICMP消息“这个主机上的这个端口连接到该主机”,但我不知道这是否可能在IPv6中。

让我以一个例子来重述你的问题,以确保我已经正确地理解了它。

你有各种各样的服务,比方说HTTP,IMAP,LDAP等等,并且你希望它们全部通过连接到“example.com”(没有子域)是可达的。 但是这些服务并不都在同一个主机上。 如果客户端使用像“www.example.com”,“imap.example.com”等子域名会更好,因为那样你就可以将这些域名映射到适当的地址,但是他们不会去要做到这一点(至less在某些时候),他们会使用纯粹的“example.com”。 因此,无论在“example.com”的主机答案将不得不分派请求到处理每个服务的实际主机。

您可以使用普通的TCP转发器,就像Sirex所build议的xinetdredirect一样,但是TCP转发器的所有常见问题都是这样:在为请求提供服务的主机上,IP连接似乎来自转发服务器,而不是原始客户端所以日志和其他东西最终都是错的。

应用程序级别的代理服务器(反向代理)也是这些协议的一个选项。 但是你确实想把整个TCP / UDP连接发送到其他服务器,而不是引入代理服务器。 对。

那么,现在Linux支持IPv6的DNAT,你可能只想使用它。

或者,如果您正在使用某种硬件负载平衡器,那么可能会为您完成这项工作。

更好的select是DNS SRVlogging 。 这些允许客户端不仅查看DNS中的主机名,而且查找主机名+服务名,并获取原始主机名或IP地址以及可连接的端口号。 这使您可以将“example.com”映射到一个IP地址,将“example.com”映射到不同的IP地址。

不幸的是,虽然SRV唱片的标准已经超过15年了,但是从来没有太多的收获,而客户却不使用它。 所以这不是一个选项。 实际上,它经常与一些特定的协议一起使用,比如SIP,但是几乎所有的Web浏览器和IMAP客户端和大多数其他协议的客户端都完全忽略它。