我的全球 IP 地址是 192.168.1.xxx?

lid*_*lid 9 routing ip

我正在使用 Ubuntu,发现我的全局 IP 地址是192.168.1.xxx我在这里写的xxx

为了检查这一点,我设置了一个 Web 服务器,并且只能通过该本地 IP 地址访问它。当我检查我的 IP 网页时,它显示一个看起来正常的 IP 地址:180.150.80.xxx并且无法从这个看起来正常的 IP 地址访问该网页。我用手机检查了这一点。

的输出ip addr是:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 98:e7:f4:0f:3d:01 brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:81:98:cc:2d:bf brd ff:ff:ff:ff:ff:ff
    altname wlp3s0
    inet 192.168.1.xx/24 brd 192.168.1.255 scope global dynamic noprefixroute wlo1
       valid_lft 84833sec preferred_lft 84833sec
    inet6 2403:580e:7b3c:0:b69:4100:a7f4:xxxx/64 scope global temporary dynamic 
       valid_lft 6707sec preferred_lft 3105sec
    inet6 2403:580e:7b3c:0:1f61:fea0:6275:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 6707sec preferred_lft 3105sec
    inet6 fe80::a117:ea44:a262:xxxx/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)

IP 路由的输出为:

default via 192.168.1.1 dev wlo1 proto dhcp metric 600 
169.254.0.0/16 dev wlo1 scope link metric 1000 
192.168.1.0/24 dev wlo1 proto kernel scope link src 192.168.1.xx metric 600 
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

我通过下面的 GUI 添加显示 IPv4 地址的屏幕截图:

截屏

为什么我看到的 IP 地址为192.168.1.xxx

use*_*686 35

\n

我正在使用 Ubuntu,发现我的全局 IP 地址是\xe2\x80\xa6

\n
\n

这不是全球性的。不太注意scope global;“ip addr”中的该字段对于 IPv4 条目从来没有任何意义(即使对于 IPv6,它也失去了许多原始含义)。如果它是 192.168.xx 地址,那么无论范围参数如何,它都是私有地址。

\n

(IPv4 从来没有真正将“范围”作为一个内置概念。IPv6 过去曾将“范围站点”用于其原始类型的私有地址,但现在已经过时了,并且采用了较新的类型私有 IPv6 地址也只使用“范围全局”,因此您始终必须查看实际的地址前缀来确定其类型。)

\n

唯一有意义的剩余值是“范围链接”,它表示该地址严格限制在子网内。(与可以跨许多网络和子网路由的私有地址不同,链路本地地址永远不会超出其自己的子网。)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n
范围实际意义
全球的可以在没有特定边界的情况下进行路由。(是的,对于私有地址,存在边界,但该边界是由 ISP 策略定义的,它不是 IP 功能所固有的。)
地点可以在具有相同“站点 ID”的接口之间路由。(仅限 IPv6,并且已过时。)
关联根本无法路由;仅限于单个子网。
主持人仅在同一台计算机内使用过;“本地主机”地址。
\n
\n
\n

当我检查我的 IP 网页时,它显示一个正常的 IP 地址:180.150.80.xxx 并且无法从这个正常的 IP 地址访问该网页

\n

这里发生了什么?

\n
\n

实际情况是(实际的全球)IPv4 地址稀缺,住宅 ISP 只为每个客户发放一个全球地址。(如今,通常甚至不再这样了。)

\n

多个设备实际上无法“共享”相同的 IP 地址,因此通常会将一个地址分配给能够进行 NAT 的路由器(即您的家庭 WiFi 路由器)。路由器会重写所有出站到 Internet 的数据包,使它们看起来好像来自路由器的公共地址,而不是计算机实际拥有的任何数据包。

\n

这意味着当您尝试建立到 180.150.80.xxx 地址的站连接时,您始终连接到您的路由器。要在内部托管 Web 服务器,需要设置路由器以将该连接转发到更远的地方,最常见的是再次使用 NAT(也称为“端口转发”)。

\n

然而,越来越常见的是,住宅客户甚至不再获得单个 IP 地址 \xe2\x80\x93,而是在 ISP 本身完成另一层 NAT。在这种情况下,入站连接根本不会到达客户的网络,并且再多的“端口转发”也无济于事。因此,您花时间尝试让它工作之前,请打开路由器的状态页面并检查它的 IP 地址。

\n

好的一面是,您的计算机确实拥有一个实际上是全球性的IPv6地址。所有条目都inet6 2403:580e:[...]应该可以从外部访问(尽管您的路由器可能仍会在其防火墙配置中阻止入站连接),并且不带“临时”标志的地址可用于托管服务器。只要您的所有访问者都有 IPv6,那就是...(大多数人仍然没有)

\n
\n

不知何故,这似乎是我在家庭网络的另一个子网下......

\n
\n

您的家庭网络处于NAT之下。

\n

您的家庭网络字面上是“附加子网”,但不是网络或子网本身导致了这种情况(至少不是直接导致的);这是因为该子网中的所有设备缺乏足够的全局 IPv4 地址。

\n

(而且,也许,即使对于已经受够了它们的 ISP 来说,这也是历史惯例。直到大约二十年前,许多人还没有“家庭网络”;他们会直接将计算机连接到 ISP \xe2\ x80\x93 无论是通过拨号还是通过 ADSL \xe2\x80\x93 并且该计算机将直接接收一个公共地址...因此所有住宅 ISP 的系统架构都只为每个客户分配一个地址。随着事情变得越来越大,对于他们来说,在客户端进行 NAT 可能比改变 ISP 自己的系统的工作方式“更具成本效益”。)

\n

然而,除了家庭网络之外,对于较大的(例如公司或大学)网络来说,以各种方式在内部路由许多公共 IPv4 地址仍然是正常的,并且“私有地址”和“私有地址”之间不存在技术关系。子网\'。

\n