为什么从虚拟化的 Ubuntu 系统中我无法发现路由器的 IP 地址?

为什么从虚拟化的 Ubuntu 系统中我无法发现路由器的 IP 地址?

我不太了解计算机网络,在查找路由器 IP 地址时遇到以下问题。

我有一台 Windows 8 PC,上面安装了可以虚拟化 Linux Ubuntu 的 VmWare Workstation。

网络适​​配器此虚拟机的设置设置为NAT

现在我的问题是,如果我在 Windows 8 DOS shell 中执行是否配置我获得的声明

C:\Users\Andrea>ipconfig

Configurazione IP di Windows


Scheda Ethernet tap0:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione: techub.lan

Scheda Ethernet Connessione di rete Bluetooth:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda LAN wireless Connessione alla rete locale (LAN)* 11:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda LAN wireless Wi-Fi:

   Suffisso DNS specifico per connessione: DSL2750B
   Indirizzo IPv6 locale rispetto al collegamento . : fe80::89ff:6d12:49cf:4354%13
   Indirizzo IPv4. . . . . . . . . . . . : 192.168.1.3
   Subnet mask . . . . . . . . . . . . . : 255.255.255.0
   Gateway predefinito . . . . . . . . . : 192.168.1.1

Scheda Ethernet Ethernet:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda Ethernet VMware Network Adapter VMnet1:

   Suffisso DNS specifico per connessione:
   Indirizzo IPv6 locale rispetto al collegamento . : fe80::edb3:8352:f954:2b0c%23
   Indirizzo IPv4. . . . . . . . . . . . : 192.168.129.1
   Subnet mask . . . . . . . . . . . . . : 255.255.255.0
   Gateway predefinito . . . . . . . . . :

Scheda Ethernet VMware Network Adapter VMnet8:

   Suffisso DNS specifico per connessione:
   Indirizzo IPv6 locale rispetto al collegamento . : fe80::d00b:8c6e:98b:f1ec%24
   Indirizzo IPv4. . . . . . . . . . . . : 192.168.15.1
   Subnet mask . . . . . . . . . . . . . : 255.255.255.0
   Gateway predefinito . . . . . . . . . :

Scheda Tunnel Teredo Tunneling Pseudo-Interface:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda Tunnel isatap.techub.lan:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione: techub.lan

Scheda Tunnel isatap.{5B95051D-79AB-4147-92CF-3A2E16698432}:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda Tunnel isatap.{340A5FAD-1597-402E-B658-29C37E8F7BC2}:

   Stato supporto. . . . . . . . . . . . : Supporto disconnesso
   Suffisso DNS specifico per connessione:

Scheda Tunnel isatap.DSL2750B:

   Suffisso DNS specifico per connessione: DSL2750B
   Indirizzo IPv6 locale rispetto al collegamento . : fe80::5efe:192.168.1.3%26
   Gateway predefinito . . . . . . . . . :

因此,查看之前的输出可以清楚地看到默认网关(我的路由器)是:192.168.1.1,事实上,如果我在浏览器中打开它,它就会出现进入路由器设置的登录掩码......

好的,如果我现在打开虚拟化的 Ubuntu shell 并执行路线命令我获得这个输出:

andrea@andrea-virtual-machine:~$ route
Tabella di routing IP del kernel
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.15.2    0.0.0.0         UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.15.0    *               255.255.255.0   U     1      0        0 eth0

所以,这告诉我默认网关192.168.15.2(这不是我的路由器 IP 地址),为什么?

我的想法是,这可能取决于 NAT。因为我的 Windows 系统使用无线连接,但在虚拟化的 Ubuntu 中,我看到我连接到的是“有线网络”。

所以我认为 NAT 虚拟化了一个网络适​​配器(或类似的东西)192.168.15.2可能是这个网络适配器的 IP 地址......

但我觉得这很奇怪,因为正如你在前面看到的ipconfig输出VmWare网络适配器地址为:192.168.129.1192.168.15.1

所以我还有另外两个疑问:

1)什么设备代表192.168.15.2虚拟化 Ubuntu 视为的 IP 地址默认网关但那不是我的路由器?

2)我配置到 Windows 8 系统中的两个 VmWare 网络适配器到底有什么用?

有没有办法从虚拟化的 Ubuntu 系统发现我的路由器 IP?

谢谢

安德里亚

答案1

是的,当然会发生这种情况,因为您的虚拟机已进行 NAT。您可以在 Ubuntu 中输入以下内容来发现路由器地址:

 $ ip route show
 default via 192.168.73.1 dev eth0  proto static 
 192.168.73.0/24 dev eth0  proto kernel  scope link  src 192.168.73.88  metric 1 

我的机器回复说我的网关是 192.168.73.1。如果你在 Ubuntu 上执行同样的操作,你会发现你的网关是 192.168.15.1。

192.168.15.2 是虚拟机内(虚拟化)网卡的 IP 地址:您可以通过以下命令进行检查

 ip addr show

你会发现你的 eth0 网卡的 IP 地址是 192.168.15.2

虚拟化网络的工作方式如下:创建两个(虚拟化)NIC,一个在主机上,另一个在客户机上,并分配超出家庭 LAN 通常提供的范围的 IP 号(在您的例子中是 192.168.15.0,而不是更常见的 192.168.0.0 或 192.168.1.0)。在您的 VM 上,您将 192.168.15.1 设置为网关,主机操作系统负责将虚拟 NIC 发出的内容路由到物理 NIC,然后从那里路由到您的家庭路由器。因此,IP 地址为 192.168.15.1 的 VMWare NIC(或适配器,等等)充当您的 VM 的网关:它对于 VM 联网至关重要。

另一个适配器可以是以下两种之一:虚拟机上另一个 NIC 的网关(原则上,你可以拥有任意数量的适配器,命令ip 地址显示将帮助您确定这是否确实是这种情况)或者是以前的 VMWare 实例的遗留问题。

最后,没有,没有当地的从 NATted VM 发现家庭路由器 IP 地址的方法。这与知道路由器 WAN 端的 IP 地址相同:除非您登录路由器,否则您将永远无法从家庭 LAN 内部了解它。

对于虚拟机来说,有一种 NAT 连接的替代方案,称为桥接连接。在这种情况下,您的虚拟机直接链接到您的家庭局域网,并直接从路由器接收 IP 地址。在此配置中,您通过命令发现的网关

 ip route show

将成为您的家庭路由器。

相关内容