两个不同的公共 IP

网络工程 ip 网络发现
2022-03-02 04:13:04

我在公司使用 Jenkins,一个主节点和两个从属节点托管在办公室。在托管的 Google Cloud VM 上掌握。为了提高安全性,我创建了一个限制,因此只有我们办公室的 Jenkins slave 能够连接到 Jenkins master - 我在 Google Platform 网络设置中设置了防火墙规则,以限制对tcp:34903JNLP 使用的端口(Jenkins 节点之间的通信协议)。它工作了几个月,但最近我们搬了办公室。我昨天更正了规则(更改了 IP),但今天我注意到其中一台机器已断开连接。我关闭了规则 - 它正在恢复。因此,我开始检查我的机器有哪些外部 IP,并且取决于用于发现公共 IP 的站点/服务,我获得了两个 IP 之一。当我允许从两个地址进行连接时,它工作正常。

问题是:

  1. 为什么我得到两个不同的地址(完全不同的类)取决于我用于检查的服务?
  2. 为什么来自同一网络的两台机器会受到不同的处理(谷歌是否将 IP 发现传播到多个服务)?

服务报告地址 A:

  • curl ifconfig.me
  • curl ident.me
  • curl icanhazip.com
  • curl ipecho.net/plain
  • curl ipinfo.io/ip
  • dig +short myip.opendns.com @resolver1.opendns.com
  • dig +short o-o.myaddr.l.google.com @ns1.google.com

服务报告地址 B:

  • curl ip.appspot.com
  • curl https://wtfismyip.com/text
  • curl ifconfig.co

列出所有这些命令的网站: https ://www.ostechnix.com/how-to-find-out-public-ip-address-from-command-line-on-linux

1个回答

我当然已经看到公共 wifi 通过不同的边界路由器路由不同的服务:到端口 80 的 TCP 来自一台机器,SSH 来自另一台机器,而 UDP 仍然是另一台机器。因此收件人看到不同的源地址取决于哪个服务。我还看到备用线路来自不同的 IP 地址,尽管通常是故意的。

您所描述的听起来与从两个外部接口进行 NAT 的路由器一致,路由取决于目标 AS。或具有另一个 NAT 出口点的隧道。您或您的 ISP 可能是有意还是无意地这样做了?

我建议检查您的边界路由器和您的 ISP。