使用ifconfig
,我可以在单个网络接口卡上配置多个IP地址。我为什么要这样做,以后又如何利用几个地址,例如,软件如何知道要使用哪个地址?
到目前为止,我仅使用具有单个IP地址的网络接口。
使用ifconfig
,我可以在单个网络接口卡上配置多个IP地址。我为什么要这样做,以后又如何利用几个地址,例如,软件如何知道要使用哪个地址?
到目前为止,我仅使用具有单个IP地址的网络接口。
Answers:
一些(但不是全部)原因:
对于Web服务器,这取决于。如果您有多个虚拟主机,则在Apache中,例如,服务器从VirtualHost块中知道要使用哪个IP。
<VirtualHost 10.10.10.1:80>
...
</VirtualHost>
您还可以让VirtualHost监听Apache当前正在监听的所有可用接口(例如,通过Listen指令。 Listen *:80
<VirtualHost *:80>
...
</VirtualHost>
如果您有多个站点在启用了SSL的多个站点的服务器上运行,则最好为每个站点使用单独的IP。这是因为SSL证书是在发送HTTP标头之前交换的。如果在一个IP上有多个虚拟主机,那么没有主机头,Apache将不会知道您要访问的站点。
我敢肯定还有许多其他用例,这是一个常见的用例。
最好为单独的服务使用单独的ip,然后当您必须将服务中的一个迁移到另一个硬件/位置时,其他组件将变得透明。
一些服务使用相同的端口号,那么您必须具有多个ip才能在单个服务器上运行该服务。
另外,如果您想处理比临时端口更多的同时连接,则需要更多ip。
Listen
或Binds
主机上的每个IP。
多个IP地址允许您拥有服务IP,换句话说,您可以将IP与特定服务进行匹配,例如在sendmail中,您可以:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=192.168.1.25')dnl
等等。它可以用于高可用性,测试和网络路由^^