AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1270092
Accepted
Marecky
Marecky
Asked: 2020-08-12 12:05:41 +0800 CST2020-08-12 12:05:41 +0800 CST 2020-08-12 12:05:41 +0800 CST

如何使在 qemu/kvm 上运行的 Windows 客户机从具有 DHCP 服务器的物理路由器获取 IP 地址?

  • 772

我在带有 qemu/kvm 的 Ubuntu 18.04 LTS 上以访客身份运行 Windows XP。
我想使用这个 Windows 实例来管理我使用 ActiveX 小程序的 CCTV IP 摄像机。

我需要这个 Windows XP 从与 IP 摄像机相同的子网获取 IP。
如何使用 Virtual Machine Manager 配置此虚拟机?

我使用笔记本电脑,所以我的主要连接是 WiFi(接口名称 wlp2s0)。

在/etc/netplan/01-network-manager-all.yaml我有

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

如果我编辑我的内容,我/etc/network/interfaces将无法连接到互联网(笔记本电脑无法启动 WiFi 连接)

我尝试了本教程但没有成功

然后我尝试了这个。这里说“然后将以太网接口添加为网桥中的端口......”我注意到nmcli命令可以传递type参数。我阅读了有关该参数的帮助,并设法传递wifi ssid MYSSID参数以使用我的 WiFi 连接配置该网桥。

所以我设法拉出这些命令:

sudo nmcli conn add type bridge con-name br0 ifname br0
sudo nmcli conn add type wifi ssid MYSSID slave-type bridge con-name bridge-br0 ifname enp1s0 master br0

在第二个中,我将以太网更改为 wifi ssid

sudo nmcli conn show --active
sudo nmcli conn up br0

然后教程说我需要关闭以太网连接 - 所以我认为在我的情况下我需要关闭 wifi 连接。

这怎么会起作用?我希望我的笔记本电脑有一个连接,而我的桥接虚拟客户操作系统也有一个。

当我发出ip abr0 连接时,没有来自 DHCP 的 IP 地址。

如果我打开 WiFi 连接,桥接接口上不会出现新的 IP 地址 ( ip a)

networking qemu dhcp windows-xp
  • 3 3 个回答
  • 8024 Views

3 个回答

  • Voted
  1. Best Answer
    Frobozz
    2020-09-13T18:35:43+08:002020-09-13T18:35:43+08:00

    有一个与 QEMU/KVM 环境一起安装的本机桥 (virbr0)。它用于与本地子网的 NAT(网络地址转换)连接。

    这应该足以管理您的 IP 摄像机。如果其他系统将与您的 XP VM 联系,则您的 XP VM 只需要在网络上拥有自己的 IP。

    但是在任何一种情况下,您都应该从 NAT 网桥开始以保持简单,直到您确定您的 XP VM 配置正确。几乎可以肯定不是!

    您可以通过以下方式测试主机系统上是否存在虚拟网桥:

    virsh net-dumpxml default
    

    如果它存在,您应该能够通过将 Network source 设置为“Virtual Network 'default':NAT” ,在 virt-manager 中选择它供 XP VM 使用,如下所示:

    virt-manager 网络选择

    检查您的 XP 是否有工作的网络驱动程序。如果下图是熟悉的... 在此处输入图像描述

    你需要一个驱动盘!我推荐 Red Hat 的 virtio 驱动程序。

    1. 下载最新的 virtio 驱动程序 ISO(我上次检查的https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win.iso ) .
    2. 将 ISO 附加到您的 XP VM 并启动它!
    3. 在“查找新硬件”/连接到 Window Update 时,拒绝(否)。
    4. 选择“从特定位置安装”/下一步
    5. 选择“搜索可移动媒体”/下一步
    6. 在“硬件安装/Red Hat Virtio 以太网适配器”中,选择“仍然继续”。
    7. 打开命令提示符窗口并 ping 您的 IP 摄像机(适配器可能需要几秒钟才能启动)。

    如果您仍然想要全桥,请添加评论。我只在我的环境中使用networkd/Netplan,但我认为我可以推出一个网络管理器解决方案。

    • 2
  2. Christopher H
    2020-08-12T13:06:19+08:002020-08-12T13:06:19+08:00

    您需要在主机 PC 上创建一个网桥。此答案基于您的 IP 摄像机、Ubuntu 主机操作系统和 Windows XP VM 都将位于同一网络(没有高级 VLAN 配置)的理解。

    1. 安装 bridge-utils 包:sudo apt-get install bridge-utils
    2. 编辑 /etc/network/interfaces 为创建的 br0 接口配置网络,使用以下详细信息(替换与您的网络相关的 IP 信息)。

    主机静态 IP 配置

    auto lo
    iface lo inet loopback
    
    auto br0
    iface br0 inet static
            address 192.168.0.10
            network 192.168.0.0
            netmask 255.255.255.0
            broadcast 192.168.0.255
            gateway 192.168.0.1
            dns-nameservers 192.168.0.5 8.8.8.8
            dns-search example.com
            bridge_ports eth0
            bridge_stp off
            bridge_fd 0
            bridge_maxwait 0
    

    请注意,这些行auto eth0和iface eth0 inet manual不在文件中。这是因为 br0 会调出分配给它的组件。

    bridge_stp off是生成树的设置。如果您有网络外观的可能性,您可能需要打开它。

    bridge_fd 0关闭所有转发延迟。如果你不知道这是什么,你可能不需要它。

    bridge_maxwait 0是系统等待以太网端口启动的时间。零是没有等待。

    主机 DHCP 配置

    auto lo
    iface lo inet loopback
    
    auto br0
    iface br0 inet dhcp
            bridge_ports eth0
            bridge_stp off
            bridge_fd 0
            bridge_maxwait 0
    

    这将创建一个虚拟接口 br0。你可以有多个网桥,有些不需要分配任何实际的网卡。

    1. 通过运行命令sudo /etc/init.d/networking restart或重新启动主机上的网络sudo reboot。

    如果主机在停止或启动来宾 VM 时冻结几秒钟,这是因为 Linux 网桥正在获取所有连接接口中编号最小的接口的硬件地址(MAC 地址)。要解决此问题,请将线路添加post-up ip link set br0 address 00:00:00:00:00:00到网桥接口配置,将 MAC 地址替换为连接的物理接口之一。

    链接:

    • https://help.ubuntu.com/community/KVM/Networking - KVM/Networking(Ubuntu 文档)
    • https://help.ubuntu.com/community/NetworkConnectionBridge - NetworkConnectionBridge(Ubuntu 文档)
    • 0
  3. raj
    2020-09-14T13:26:59+08:002020-09-14T13:26:59+08:00

    我建议您尝试以下方法。它已经为我工作了很多次,但是主机操作系统是 CentOS,而不是 Ubuntu,而且虚拟机是基于 Linux 的,而不是基于 Windows 的。但是,我认为操作系统在这里不会有很大的不同。

    1. 不要对您的wlp3s0界面做任何特别的事情 - 只需将其保留为默认配置即可。

    2. 中virt-manager,更改虚拟机上网卡的设置,如下图(virt-manager没有就安装)。

    virt-manager 截图

    将“源设备”设置为“wlp3s0 : macvtap”(我希望您应该在选择菜单中进行此选择)并将“源模式”设置为“桥接”。需要关闭并重新启动虚拟机才能使设置生效。

    通过这样做,您可以将 VM 上的虚拟网卡直接连接到wlp3s0主机操作系统上的设备。它应该看到与您看到的完全相同的网络,wpl3s0并且行为就像连接到该网络的另一台设备一样。

    它对我有用,我希望它也对你有用。

    • 0

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve