在 Hyper-V 中设置网络连接

在 Hyper-V 中设置网络连接

我在 Windows 10 Pro Client 上的 Hyper-V 上创建了几个虚拟机,该客户端配有有线 USB 以太网适配器。Windows 计算机在重启后保留其 IP 地址,而 Linux 计算机(Ubuntu Server)则不保留。两者都使用默认开关(注意:外部交换机不适用于 USB 以太网适配器)。

我注意到 Windows VM 保留了其 MAC 地址,因此我尝试将 Linux VM 的 MAC 地址从动态的静止的。不幸的是,这并没有帮助。

目标是在主机和 Linux VM 之间建立 SSH 连接(始终通过相同的 IP 地址)。除此之外,我希望 VM 能够访问 Internet。注意:主机是一台笔记本电脑,因此 Internet 连接将通过不同的 LAN 和不同的接口建立(内置 WLAN、不同扩展坞上的不同有线 USB-LAN 适配器等)。

解决方案:

目前我正在研究配置内部交换机。这设置建议依赖于为内部交换机提供静态设置。不幸的是,它不允许设置默认网关,因此虚拟机无法使用互联网主机连接(至少我没有找到使用内部交换机来实现这一点的解决方案)。

注意:我对交换机使用 192.168.192.1/24,对虚拟机使用 192.168.192.2/24。我可以从主机 ping 交换机和虚拟机,反之亦然(我已在主机上正确设置了 Windows 防火墙)。

为了同时访问互联网(同时使用内部交换机通过不变的 IP 地址从主机连接到虚拟机),我向虚拟机添加了第二个网络接口并将其设置为默认交换机。我将第二个 NIC 配置为通过 DHCP 获取其配置(通过/etc/netplan/00-installer-config.yaml):

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.192.2/24]
    eth1:
      dhcp4: true

ip a表明它已启动并正在运行:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether 00:15:5d:97:34:01 brd ff:ff:ff:ff:ff:ff
   inet 192.168.192.2/24 brd 192.168.192.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet6 fe80::215:5dff:fe97:3401/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether 00:15:5d:97:34:03 brd ff:ff:ff:ff:ff:ff
   inet 192.168.204.131/28 brd 192.168.204.143 scope global dynamic eth1
      valid_lft 86333sec preferred_lft 86333sec
   inet6 fe80::215:5dff:fe97:3403/64 scope link
      valid_lft forever preferred_lft forever

ping 内部交换机 ( 192.168.204.129) 有效(注意 Windows 防火墙!),ping 外部服务器,例如,8.8.8.8效果也很好。感谢 JW0914 在评论中提出的建议!

还请注意 John 的回答。它不适合我的情况,但它给你带来了一个好处,即虚拟机可以从路由器 LAN(而不仅仅是从主机)访问。

答案1

的唯一目的默认开关是为了提供 WAN 访问,并且不会在设计上提供静态 IP:

  • 微软做了这个改变几年前,为了简化 Hyper-V VM 设置,我引入了外部交换机,因为以前必须在交换机管理器中创建外部交换机,无论连接类型如何,都可以访问主机的网络

根据需要静态 IP 的原因,创建虚拟交换机管理器或者电源外壳

路由器管理的流量:

  • 外部的转变:路由器分配静态IP(@John's回答
    • 创建一个两个都以太网和 WiFi,因为虚拟机不会在有线/无线之间自动切换

主机管理的流量:

  • 内部的转变:在主机和客户端上手动分配 IP 子网
    • 允许 VM ⟷ 主机和/或 VM ⟷ VM 之间的通信
    • 缺少 DHCP 服务器和网关,因此只有 IP 和子网掩码将设置
      例子
      避免使用路由器通常使用的子网 [ 192.168.1.0/242.0/24100.0/24等],否则在使用相同子网连接到路由器时会出现问题

  • 私人的转变:在客户端上手动分配 IP 子网
    • 允许虚拟机与主机流量隔离的虚拟机通信


虚拟交换机管理器:

  1. Hyper-V 管理器操作虚拟交换机管理器
  2. 新建虚拟网络交换机创建虚拟交换机→ <类型> →创建虚拟交换机
  3. 创建一个姓名→ 选择连接类型好的/申请

电源外壳:

  1. WinKey+ RpowershellCtrl+Shift +好的
  2. 列出现有的网络适配器并记下Name要使用的适配器:
    PS $ Get-NetAdapter
    
      Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
      ----                      --------------------                    ------- ------       ----------             ---------
      vWiFi                     Hyper-V Virtual Ethernet Adapter #3          62 Up           A0-11-22-33-44-55        10 Gbps
      LAN                       Killer E2200 Gigabit Ethernet Controll…      25 Disconnected B0-11-22-33-44-55         0 bps
      BT                        Bluetooth Device (Personal Area Networ…      23 Disconnected B1-11-22-33-44-55         3 Mbps
      vLAN                      Hyper-V Virtual Ethernet Adapter             54 Up           A1-11-22-33-44-55        10 Gbps
      vDefault                  Hyper-V Virtual Ethernet Adapter #2          58 Up           A2-11-22-33-44-55        10 Gbps
      OpenVPN TAP6              TAP-Windows Adapter V9                       12 Disconnected A3-11-22-33-44-55         1 Gbps
      OpenVPN WinTun            Wintun Userspace Tunnel                      11 Disconnected                         100 Gbps
      WiFi                      Intel(R) Dual Band Wireless-AC 7260           5 Up           B2-11-22-33-44-55     866.7 Mbps
      vShare                    Hyper-V Virtual Ethernet Adapter #4           2 Up           A4-11-22-33-44-55        10 Gbps
    
  3. 创建虚拟交换机:
    • 外部的:
      New-VMSwitch -Name vWiFi  -NetAdapterName WiFi -AllowManagementOS $true
      
    • 内部的:
      New-VMSwitch -Name vShare -SwitchType Internal
      
    • 私人的:
      New-VMSwitch -Mame vPrivate -SwitchType Private
      

答案2

如果您需要使用 Hyper-V 来让客户机拥有相同的 IP 地址,请将客户机设置为桥接网络。这将可行,并且通常也适用于 VMware。这适用于一个网络。

考虑您正在使用的环境。

一:

带有传统有线以太网适配器的台式计算机非常适合桥接网络(外部交换机),其中客户机从主机连接到的路由器获取 IP 地址。

如果您需要访问访客机器,则可以这样做。桥接网络(外部交换机)是理想的选择。

这是使用桥接(外部)网络方法访问客户机的完整帖子。

使用静态 IP 访问访客机器

这将在固定物理位置的笔记本电脑上运行,该笔记本电脑具有以太网连接、主板无线网卡以及安装在机器中的大多数 USB 无线适配器。

您永远不能使用蜂窝 USB 无线适配器进行桥接。

二:

典型的漫游笔记本电脑使用 NAT 网络,但 IP 地址不固定(静态)。它可以工作,我在一台机器上使用它,但不能保证。

如果您要将笔记本电脑移动到多个位置(例如家里和工作场所),此功能非常有用。

这里的技巧是确保在访问之前检查您的访客 IP。

要实现桥接网络,您需要将该网络类型添加到 Hyper-V 管理器。

我已经使用 Linux 客户机(Kali)完成了此操作并且运行良好。

打开 Hyper-V 管理器,然后打开虚拟交换机管理器并添加外部(桥接网络)交换机类型。为其指定一个您将在来宾设置中使用的名称。

在此处输入图片描述

完成后,转到 Hyper-V 管理器中的 Guest 区域、设置并转到网络适配器。从上一步添加外部适配器。

重新启动您更改的所有访客。

在此处输入图片描述

相关内容