我有一个家庭本地网络,有两台机器连接到路由器:
- Linux Ubuntu x86_64
- Linux Ubuntu Arm aarch64(无头,无 GUI)
我试图ip r
找出两台机器的公共 IP。这适用于第一台机器,给出123.456.789.123 via 192.168.5.1
. 但是当我从 x86_64 机器登录到 Arm 机器时,相同的ip r
命令只给出本地 IP: 192.168.5.163
。
第二台机器是否有公共IP,我如何找到它?
我有一个家庭本地网络,有两台机器连接到路由器:
我试图ip r
找出两台机器的公共 IP。这适用于第一台机器,给出123.456.789.123 via 192.168.5.1
. 但是当我从 x86_64 机器登录到 Arm 机器时,相同的ip r
命令只给出本地 IP: 192.168.5.163
。
第二台机器是否有公共IP,我如何找到它?
两台机器都没有公共 IP 地址。
您的路由器有一个公共 IP 地址,您可以选择在路由器上配置端口转发,以将该公共 IP 地址和端口的流量发送到内部网络上的设备。
我假设你有一个标准的家庭设置。
您可以通过以下方式获取 linuces 的 IP 地址:
这将为您提供分配给系统上不同接口的 IP 地址列表。它们都将在私有范围内 (192.168.5.xx)。
您的路由器会从这些私有空间地址到您拥有的一个公共 IP 地址进行 NAT 转换。在路由器的 GUI 或 CLI 访问中的某处,您也可以获取路由器的 IP 地址(从一台路由器到另一台路由器如何做到这一点不同)。您将看到路由器在一个接口(连接您的 Linux 系统)上有一个 192.168.5.1,在另一个接口上有一个 123.456.789.123,连接您的提供商。
您
ip r
提供的是路由表,而不是系统上的地址。你会看到类似的东西这意味着您的传出路由器被定义为默认网关。