Networking

本地網路機器的公共IP地址?

  • May 23, 2022

我有一個家庭本地網路,有兩台機器連接到路由器:

  • 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 地址。

您的路由器有一個公共 IP 地址,您可以選擇在路由器上配置埠轉發,以將該公共 IP 地址和埠的流量發送到內部網路上的設備。

我假設你有一個標準的家庭設置。

您可以通過以下方式獲取 linuces 的 IP 地址:

ip addr

這將為您提供分配給系統上不同介面的 IP 地址列表。它們都將在私有範圍內 (192.168.5.xx)。

您的路由器會從這些私有空間地址到您擁有的一個公共 IP 地址進行 NAT 轉換。在路由器的 GUI 或 CLI 訪問中的某處,您也可以獲取路由器的 IP 地址(從一台路由器到另一台路由器如何做到這一點不同)。您將看到路由器在一個介面(連接您的 Linux 系統)上有一個 192.168.5.1,在另一個介面上有一個 123.456.789.123,連接您的提供商。

ip r提供的是路由表,而不是系統上的地址。你會看到類似的東西

default via 192.168.5.1 dev wlp2s0 proto dhcp metric 600 

這意味著您的傳出路由器被定義為預設網關。

引用自:https://unix.stackexchange.com/questions/703554