为什么在我的 Ubuntu Hyper-V 来宾上设置静态 IP 会导致我的主机无法访问它

为什么在我的 Ubuntu Hyper-V 来宾上设置静态 IP 会导致我的主机无法访问它

我有一个在 Windows 10 Hyper-V 主机上运行的 Ubuntu 18.04 虚拟机。我正在尝试配置我的虚拟机,以便它保留一个静态 IP 地址(例如 192.168.1.105),通过该地址可以从主机访问虚拟机。如果可能的话,我还希望我的虚拟机能够使用静态 IP 访问互联网。

我的第一个问题是,我一直在尝试遵循我所看到的有关使用静态 IP 配置虚拟机的说明,但这使得我的虚拟机无法从主机访问。

我的第二个问题是,我没有找到任何说明如何配置静态 IP,同时允许我的虚拟机仍然访问 Internet。

当我ifconfig在虚拟机上运行时(在进行任何更改以尝试配置静态 IP 之前),这就是我得到的结果

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.111.24  netmask 255.255.255.240  broadcast 192.168.111.31
        inet6 fe80::ce8c:bd18:4133:8f25  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:20:6d:07  txqueuelen 1000  (Ethernet)
        RX packets 155361  bytes 72805251 (72.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 59291  bytes 11119691 (11.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4483342  bytes 2934973527 (2.9 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4483342  bytes 2934973527 (2.9 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我尝试将其放入 /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:    
    eth0:
      addresses:
        - 192.168.1.105/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]

然后我就跑sudo netplan apply。现在我的虚拟机有IP 192.168.1.105,但它无法访问互联网,我的主机也无法ping通它。

我的主要问题是如何在虚拟机上配置静态 IP,以便我的主机可以通过该 IP 访问它?

我的第二个问题(如果可能的话)是配置静态 IP 后如何在虚拟机上访问 Internet?

相关内容