简介

对于需要 Linux 的人来说,Windows 已经有了 WSL,但出于某种原因,我更喜欢选择虚拟机。 IMO,WSL 可能是简单任务的不错选择,但不适用于软件开发。例如 cron 作业,您必须使用任务调度程序手动配置。所以这不是那么简单,需要一定的时间。 WSL 的功能仍然有限,您需要手动配置它,但将 WSL 中的应用程序和文件夹与您的 Windows 集成起来更容易。

所以就我而言,我更喜欢在我的 Windows 上使用 Linux 虚拟机。即使它需要比 WSL 更多的资源。自 Windows 10 Pro 版本起,Hyper-V 已包含在内。因为我不喜欢在我的 Windows 上安装更多的软件。您只需要在 Windows 功能中激活它。

但是您需要 VM 的静态 IP,因为您将在 Hyper-V 中使用默认桥接网络获得动态 IP。这就是我在 Hyper-V VM 中设置静态 IP 的方法。

步骤

1.在 Windows 上创建内部网络适配器

首先,我们必须创建一个内部网络。在右上角的“Actions”面板中,单击“Virtual Switch Manager”。显示虚拟交换机管理器窗口后,创建一个虚拟交换机。类型为内部。然后单击“创建虚拟交换机”按钮。

image.png

在这种情况下,我将其命名为“vExampleInternal”。然后单击“确定”按钮。

2.为虚拟网络设置 IP 范围

然后我们设置 Windows 和 VM 将使用的 IP 范围。在控制面板的网络和 Internet 部分。单击“更改适配器设置”。显示网络适配器后,右键单击您的虚拟交换机,然后单击“Properties”。搜索 Internet 协议版本 4 (TCP/IPv4) 并双击。

image.png

然后选择“使用以下IP地址”并填写您想要的IP范围。最后点击“确定”按钮

image.png

3.在虚拟机上添加新的网络适配器

如果您还没有虚拟机,请在 Hyper-V 中创建您的虚拟机。在这种情况下,我将使用 Ubuntu Server 22。我们将其命名为“test-vm”。我选择将虚拟机存储在非默认位置。这取决于你的喜好。在“配置网络”部分,对于第一个连接,我选择“默认开关”。因为它通过 Hyper-V 自动配置网络连接,所以我们的虚拟机将获得与 Windows 网络相同的连接。它将是我们虚拟机互联网的来源。如果我们的虚拟机不需要互联网,我们只需要禁用第一个网络适配器的连接。

假设我们已经安装了虚拟机,然后通过右键单击您的虚拟机并单击“设置”来创建我们的第二个网络适配器。确保您的虚拟机已先停止。在“硬件”部分,单击“添加硬件”,然后单击“网络适配器”并添加它。因此,在第二个网络适配器的“虚拟交换机”部分中,选择我们之前创建的虚拟网络。然后点击“确定”按钮

image.png

4.重启虚拟机

再次启动您的 VM,并为 VM 设置静态 IP。每个操作系统的配置可能不同,你可以在网上搜索如何设置你的Linux操作系统的静态IP。因为我使用的是 Ubuntu Server 22,所以网络配置使用的是 netplan。我的配置如下所示。 (我忘记在 nano 命令中使用 sudo,你可以在 nano 命令中添加 sudo,因为 netplan 配置在根目录中)。 image.pngimage.png不要忘记在你的 Linux VM 中应用你的配置。

5.测试从 Windows 到虚拟机的 Ping

现在,在 Windows 中打开终端,无论是 Powershell 还是 CMD,然后运行这些命令来刷新网络接口。 image.png

现在尝试 ping Windows 和您的 VM 的 IP 地址。 image.png瞧,现在你可以开始与你的虚拟机通信了。

常见问题

但是,如果您意识到我们无法从 Windows ping 虚拟机 IP 地址,那么常见的问题是由于虚拟网络适配器位于公共网络中,Windows 正在阻止您的连接。默认情况下,公共网络会阻止与您的 Windows 之间的未知网络连接。或者,如果您使用的是防病毒软件,则必须在其防火墙中允许这些连接。

如果您担心安全风险,您可以为您需要的每个连接添加一个 Windows 防火墙规则。但就我而言,我喜欢将这些连接设为私有。因此,与为每个连接添加 Windows 防火墙规则相比,它变得不那么安全但更容易。

将虚拟网络适配器更改为专用

要使这些连接私有,您可以从“本地安全策略”中更改它。在“Network List Manager Policies”中,双击“Unidentified Networks”并将“Location type”更改为“Private

image.png

Logo

更多推荐