用于确定我的公共 IP 的命令?(老问题)

用于确定我的公共 IP 的命令?(老问题)

用于确定我的公共 IP 的命令?

根据回答该问题的“Michael K”的说法,我的计算机不知道公共 Ipv4 地址,但它以某种方式知道公共 ipv6 地址。为什么会这样?执行命令ìp a会显示我的公共 ipv6 地址。

答案1

以下命令将获取您的机器的公共 IP 地址:

curl ifconfig.me

curl ifconfig.me/ip

curl ifconfig.me/all

答案2

我将尽力详细地描述这一点。

这实际上完全取决于为您的主机提供 IP 的是什么。对于大多数家庭用户来说,他们使用具有内置 DHCP 服务器的路由器,从而允许使用 1 个 IP 地址让多个系统在线。您也可以将计算机设置为路由器。如果您只有 1 台计算机,您可以完全绕过路由器,将您的系统直接连接到宽带调制解调器。IPv4 和 IPv6 是两种完全不同的 IP 地址处理方式。

值得一读https://www.thousandeyes.com/learning/techtorials/ipv4-vs-ipv6

IPv4是一种 32 位寻址方式,并且唯一 IP 地址总数有限(刚好超过 40 亿)。IPv6是 128 位,允许 340000....0000(34 后面有 37 个零,这是一个很大的数字),其中您可以为家中连接到路由器的每个设备拥有自己独特的 IPv6 公共 IP,即使您的路由器也有自己的公共 IP。

因此,为了继续允许 IPv4 寻址,他们创建了它,以便 IPv4 上到单个位置的公共 IP 使用 1 IP,然后 NAT 通过 DHCP 接管,允许您在公共 IPv4 后面创建更多 IP,从而让您拥有越来越多的使用相同公共 IP 的系统。

答案3

IPv4 的可用地址数量有限。因此人们使用 blinky-box 路由器,这样他们的整个网络就共享一个有限的公共 IPv4 地址。

说实话,这是个 hack。然而,这是我们都很熟悉并且习以为常的 hack。

当使用 IPv4 连接时,该路由器会妨碍连接。

IPv6 拥有更多可用地址,因此本地网络上的每个项目都有自己的公共 IP 地址……这(过于简单)与 LAN IP 地址相同。不再存在重要区别,也不再需要这种黑客攻击。相同的闪烁框仅用作转变而不是路由器。

当使用 IPv6 连接时,该路由器不再妨碍。

相关内容