我有一个锁定版本的 Linux,其中诸如 之类的工具virt-manager
不可virt-install
用。
qemu-kvm
虽然、bridge
、ip
、brctl
命令可用,并且我已设法运行VM
。Windows 10
但是,默认情况下,它使用NAT networking
,因此无法进入主机网络。
与我习惯的 或 不同,Fedora
在 或中,人们可以复制文件来创建桥接,但此版本没有这样的实现。然而,一点一点地,我已经设法接近创建桥接网络了。CentOS
icfg-eth<n>
我使用了以下命令 -
ip tuntap add tap0 mode tap user root
ip link set tap0 up
ip link add br0 type bridge
ip link set tap0 master br0
ip link set eth0 master br0
ip addr add <my ip> dev br0
ip link set br0 up
创建网桥,将 和 绑定tap
到eth
它,并给它一个ip
。执行ip addr show
,我可以看到br0
已启动,并且具有ip
(ip
与相同eth0
)。但是我无法 ping 或隧道进入主机系统...如果我设置eth0
为nomaster
,然后再次将 master 设置为 ,br0
我能够 ping 并隧道进入它,然后它再次被切断。设置br0
为 的主服务器eth0
只会切断一切。即使我ip
为设定了一个br0
。
我现在想启动我的虚拟机并将其br0
指定为其网络。遗憾的是,我目前无法做到这一点。
本指南在此,https://www.linux-kvm.org/page/Networking#Public_Bridge继续在脚本中创建 tap,但没有提到在启动 vm 之前实际将 ip 添加到桥接器并启用它的最后一步,而且,当我以这种方式执行操作时,还会出现一些其他复杂情况,例如 tap 设备被指定为忙碌等。
这里有另一个指南,https://wiki.qemu.org/Features/HelperNetworking谈到使用桥接助手,但不确定qemu
之后如何调用命令。我确实按照建议将添加到新建的文件夹allow br0
中bridge.conf
,但我希望以某种方式自动拾取它,但没有实现。qemu
/etc/
VM
本质上,我有 -
eth0 连接被奴役到 br0
tap 被 br0 奴役
eth0 状态已启动
tap0 状态为 DOWN(不确定为什么,我试过了
ip link set tap0 up
但是没有用)分配给 br0 的 IP 地址
主机系统无法 ping 通,无法通过 SSH 进入
我只想指定这个桥接设备,br0
作为我的VM
启动设备,
qemu-system-x86_64 -m 3G --enable-kvm "VM.qcow2"
。
不确定如何处理这个问题。
答案1
- eth0 连接被奴役到 br0
如果我理解正确的话这链接,上述步骤不是必需的,因为 eth0 已经在物理网络上
有 IP (与 eth0 相同的 IP)
此外,eth0 和 tap0 的 IP 必须不同,因为它们本质上是逻辑上独立的 NIC。