在Ubuntu中将来自外部主机名的请求路由到内部IP地址

我想要使​​用相同的IP地址托pipe几个网站。 我的ISP给了我一个静态IP地址,但是我有三个不同的networking服务器(所有运行不同的站点)挂在一个廉价的交换机后面,所有都最终落后于这一个IP地址(我是一个Apache,两个是Windows的,所以我不能真正巩固他们)。 我可以使用基于端口和传入IP地址的交换机进行端口转发,但不能使用主机名。 这不是一个长期的解决scheme,因为唯一的方法来区分我试图通过端口的networking服务器。 这很丑陋。

我也有一个两个网卡,我希望作为一个更强大的防火墙/路由器使用Linux的盒子。 我的问题是 – 什么是最好的方式把我的Linux机器(运行Xubuntu)到一个路由器,将能够路由的主机名称,而不仅仅是IP地址? 我想离开Xubuntu的盒子,所以没有专门的路由器Linux发行版请。

我看了Shorewall,但是我找不到一个方法让它根据主机名而不是IP地址来路由数据包。 IPTables的路要走吗? 如果是这样,有人可以指向我的教程或如何做到这一点? 我GOOGLE了,我很震惊,这不是一个更频繁的情况!

根据主机名不可能路由。 DNS的整个概念是比基础networkingstream量更高层次上存在的东西。

(有关更多信息,请阅读有关一般OSI模型和TCP / IP模型的信息。)

另一方面,HTTP协议确实知道主机名。 因此,您应该能够在外部地址上设置反向代理,根据传入的主机名将请求转发到不同的内部地址。 一个select是使用Apache和mod_proxy 。