任何人都可以解释是否有可能为两个主机名共享相同的IP地址?
那么如果一个主机名表示多个IP地址,那么可能呢? 为什么?
为一个主机名分配多个IP地址也是可能的:
rr.example.com. A 192.0.2.12 rr.example.com. A 192.0.2.23 rr.example.com. A 192.0.2.34 rr.example.com. A 192.0.2.45
当您查询rr.example.com
的DNS服务器时,您将返回一个IP地址列表。 然后,您可以select连接到其中的一个。 如果第一次尝试连接被积极拒绝,就试试下一步。
大多数浏览器都会遵循这个stream程,只要端点主动拒绝TCP连接。 如果端点超时,即使并非所有的IP都被尝试过,资源也将被视为无法访问
由于大多数应用程序(包括浏览器)一次只对1个IP端点感兴趣,只select第一个可用的答案,就有可能在目标服务器之间产生负载偏移,从而使第一台服务器获得所有的stream量,而其他服务器可能处于空闲状态。
为了避免这种情况,大多数DNS服务器提供了所谓的循环configuration,使得服务器交替返回同样匹配logging的顺序。 在负载平衡器很平常之前,这是一种有效的负载平衡方法,并且可以在networking系统上稍微实现容错。
是的,多个主机名可以使用相同的IP地址,最好的做法是使用CNAMElogging来指向Alogging
bar.example.com. CNAME foo.example.com. foo.example.com. A 192.0.2.23
记下所有的句号。
有一个主机名代表多个IP地址有点复杂。 如果我们谈论的是MXlogging,那么这个解决scheme已经存在于使用优先级数字的DNS中,如果您希望它代表多个Alogging,最好使用负载均衡器,例如HAProxy。
除了build议其他答案的CNAME更改之外,还必须处理托pipe服务器上的逻辑。 我使用Apache,我configuration为:
<VirtualHost 1.2.3.4:80> ServerName www.abc.com ServerAlias abc.com ... </VirtualHost> <VirtualHost 1.2.3.4:80> ServerName www.xyz.com ServerAlias xyz.com ... </VirtualHost>
我相信其他的http服务器软件也有类似的东西。
你需要清楚你的意思是两个主机名。 如果你的意思是两个IP地址相同的物理盒子,答案通常是否定的。 如果serverA和serverB作为主动 – 被动群集工作,那么每个服务器都有两个地址。 一个是专用于该服务器的IP地址,第二个IP地址将是服务器之间共享的地址,但只有活动服务器将监听该共享地址。 被动服务器只在主动服务器closures时才开始在共享地址中侦听。
还值得注意的是,在IPv6中,您可以将相同的IP分配给两台或更多台主机,networking将为您执行负载平衡和故障转移(如果无法访问,请尝试另一台)。 两者都被认为是一个合乎逻辑的终点,并没有涉及任何DNS。
这个function被称为Anycast 。
同一个域的多个IP:
同一IP的多个域:
您需要回答下一个问题:是否所有域都提供相同的服务?
电信中的许多服务器(如HSS和PCRF)使用SCTP传输,因此这些服务器有多个IP地址。 这些地址用于多宿主(SCTP支持),提供具有冗余和故障切换的连接。