Bre*_*dan 2 ubuntu iptables subdomain static-ip
我正在寻找一种通过使用不同的子域来访问共享单个静态 ip 的多个服务器的方法。作为预警,我以前从未接触过网络配置,因此我对适当术语的了解有限。
现在我有 3 台运行 ubuntu 11.10 的服务器坐在一个交换机后面。我想以 server1.example.com、server2.example.com 和 server3.example.com 的形式访问它们。当所有 3 台机器都配置了相同的静态 IP 时,只有一台机器拥有互联网连接。所以在我尝试按照本指南配置 iptables 之前,我花了很多时间在 /etc/network/interfaces 中进行试验,这可能是一个大错误。
我不知道从哪里开始,甚至不知道谷歌是什么。也许我需要不同的硬件配置,目前每台机器都有一个网卡,但如果需要我可以找到网卡。除了交换机,我还有一个旧的wrt54g路由器。
编辑
我主要希望通过 HTTP 访问它们,但 SSH 也很重要。
Bel*_*dez 14
您不可能让所有 3 台机器共享一个 IP 地址。不是网络如何工作。查看有关网络路由如何工作的答案以解释原因。
你可以做什么:设置一个反向代理作为你的网关,然后根据 HTTP 主机请求标头转发一个地址。我建议使用Pound,因为它是轻量级的,它的唯一目的是成为一个反向 HTTP 代理。如果您更熟悉这些,您可以使用 apache 或 nginx 来完成同样的事情。
设置反向代理后,您可以为服务器使用 NAT,并使用静态 IP 配置网关。
关于如何在 Pound 中执行此操作的示例(1.2.3.4
是您的静态 IP,所有server#.example.com
都是该静态 IP 的 A 记录):
ListenHTTP
Address 1.2.3.4
Port 80
Service
HeadRequire "Host: .*server1.example.com.*"
BackEnd
Address 192.168.3.11
Port 80
End
End
Service
HeadRequire "Host: .*server2.example.com.*"
BackEnd
Address 192.168.3.12
Port 80
End
End
Service
HeadRequire "Host: .*server3.example.com.*"
BackEnd
Address 192.168.3.13
Port 80
End
End
End
Run Code Online (Sandbox Code Playgroud)
如果要将反向代理保留在您拥有的当前服务器之一中,则必须:
server#.example.com
以侦听备用端口——可能是 8080。host
标头的流量转发到端口 8080 上的 HTTP 服务。在 HTTP 服务器上配置备用端口应该非常简单。唯一稍微困难的部分是配置反向代理,但您可以找到许多使用 pound、apache 或 nginx 完成的示例。
归档时间: |
|
查看次数: |
3670 次 |
最近记录: |