公有/私有 IP 地址

公有/私有 IP 地址

我们在 Web 服务器上运行了多个网站(具有多个公共 IP 地址)。在 IIS 中,IP 地址是内部 IP 地址(192.168.xxx.xxx)。如何确定哪个公共 IP 地址与哪个内部 IP 地址匹配?我的目标是更改一些公共 IP 地址。特定 Web 服务器在 Windows 2003 Server 上运行 IIS 6。在此先感谢您的帮助!

答案1

您必须拥有端口转发器或其他设备,用于将连接从外部公共 IP 地址路由到内部地址。最好的办法是访问该设备并查看将公共 IP 地址映射到私有 IP 地址的配置。

如果所有 IIS 计算机都运行相同的 Web 应用程序,则可能有一个负载平衡器处理连接路由。在这种情况下,您的问题可能更简单,您只需让负载平衡器侦听新地址,但继续路由到同一私有计算机池。

根据您的评论,您可能需要在 IIS 配置中添加主机头定义。如果您有两个网站在同一个端口(例如 80)上监听,则需要告诉 IIS 如何将流量引导到每个站点。您可以通过告诉它每个站点处理哪个主机地址来做到这一点。(我只有一台 IIS 5 服务器可以查看,但其设置应该类似)

  1. 右键单击该网站并选择属性。
  2. 选择“网站”选项卡
  3. 在 IP 地址旁边,单击高级按钮。
  4. 在“此网站的多个身份”中,编辑条目并将主机地址设置为您网站的主机名。例如,如果您访问以下网站http://www.example.com,您需要将主机地址设置为 www.example.com。保存设置并重新启动 IIS(如有必要)。

现在证书问题是另一个问题,实际上可能是 400 错误的根源。为了解密请求,IIS 需要知道要使用的密钥。由于整个请求都是加密的,因此它唯一可以用来确定使用哪个密钥的东西是请求到达的端口。如果服务器上有多个启用 SSL/TLS 的网站,则需要让每个网站侦听不同的端口,并且您的防火墙需要知道将请求路由到该端口。这也意味着您的防火墙需要将特定的公共 IP 地址/端口路由到私有 IP 地址的特定端口。

答案2

您的服务器是多宿主服务器还是已对地址进行了 NAT?如果它们位于 NAT 边界(防火墙?)后面,为什么不直接在那里查找映射?

答案3

您是否在边缘防火墙中执行 1:1 NAT(或称为虚拟 IP)?这是判断哪些公共 IP 映射到私有 IP 的一种方法。

但是,您很可能只是在 IIS 中为每个网站使用主机标头:执行一个nslookup server 8.8.8.8,然后查找列出的每个域的 A 记录(我也会执行 www 主机),它们解析到的 IP 将告诉您您的网站正在使用哪些 IP。

我在 nslookup 示例中放置了 8.8.8.8(Google 的名称服务器),以防您在内部拆分 DNS 设置;这将确保您获取的是公共 IP 而不是内部 IP。

答案4

为什么不直接登录服务器,打开 IIS 管理器,然后查看每个网站的绑定呢?

相关内容