leeham 2020-04-19
原文:https://www.cnblogs.com/DouglasLuo/p/12731591.html
参考资料:https://wiki.debian.org/KVM
如果要在debian下使用虚拟机其实有很多的解决方案。比如VirtualBox。但是我不想用VirtualBox。主要是想尝试下使用其他的虚拟机软件。在这里,我们来使用kvm。在debian下使用kvm其实很方便,有一个现成的kvm图形管理器叫virt-manager。可以像其他的虚拟机如VirtualBox,VMWare Workstation一样管理虚拟机。首先我们来安装所需要的软件包。
sudo apt-get install qemu-kvm libvirt-clients libvirt-daemon-system
这里每个包具体是做什么用的,我就不说了,因为我不知道分别是做什么用的。。。。。。
安装完这些包以后,就需要将当前的用户添加到libvirt用户组。这样做的目的是为了,使当前用户可以直接管理虚拟机而不需要提权(这一段是看官方wiki的。因为接下来我使用的是图形界面管理虚拟机,所以我不知道是不是必须步骤)
sudo adduser xiaoming libvirt #把xiaoming替换成自己的用户名
推荐使用命令查看自己的用户是否可以管理虚拟机。
sudo virsh list --all
然后就可以安装图形管理工具来管理虚拟机了。管理kvm虚拟机,主要是通过使用一个叫做virt-manager的图形界面工具实现的。使用apt-get安装virt-manager。
sudo apt-get install virt-manager
到这里,就可以通过图形界面工具管理虚拟机了。安装完virt-manager之后应该可以在应用程序菜单找到它。接下来创建虚拟机什么的就我就不说了。
接下来来讲如何将kvm虚拟机桥接到物理网络。首先我们需要安装开启桥接接口所需的工具的软件包。
sudo apt-get install bridge-utils
安装完以后,就可以使用brctl命令创建桥接接口并管理桥接接口。
sudo brctl addbr br0 #创建一个桥接接口,名字叫br0 sudo brctl show #输出系统上的所有桥接接口
这时候使用命令ip addr show应该就可以看到我们刚刚创建的那个桥接接口了。
然后将连接着家用路由器物理网卡接口加入到刚刚创建的br0桥接接口中。
sudo brctl addif br0 enp0s25 #enp0s25替换成自己的网络接口的名称
通过执行命令sudo brctl show就可以看到enp0s25,已经加入br0中了。
bridge name bridge id STP enabled interfaces br0 8000.f0def11b0be2 no enp0s25
删除内网网络接口的ip地址,把物理网卡接口配置到桥接接口上,并开启桥接接口。然后添加默认网关。
sudo ip addr del dev enp0s25 192.168.1.8/24 #把接口替换成自己的接口 sudo ip addr add 192.168.1.8/24 dev br0 sudo ip link set up br0 sudo route add default gw 192.168.1.1/24
这时候在virt-manager中配置虚拟机的网络,将网络设置给刚刚创建的桥接接口,虚拟机就处于桥接模式了。
恢复原来的状态,只需要将桥接接口关闭,然后从桥接接口中删除物理网卡接口,即可。
sudo ip link set br0 down sudo brctl delif br0 enp0s25 sudo ip link set enp0s25 down sudo ip link set up enp0s25 #重启物理网卡