安装

1
yay -S qemu virt-manager

网络相关依赖包

没有下列软件包初始化 NAT 网络可能会出现异常 libvirt:Failed to initialize a valid firewall backend

1
yay -S ebtables iptables dnsmasq

配置

  1. 配置 libvirtd 用户组
1
sudo vim /etc/libvirt/libvirtd.conf

取消注释并修改以下两行

1
2
3
4
# 用户组
unix_sock_group = "wheel"

# unix_sock_rw_perms = "0770"
  1. 添加当前用户到用户组中
    PS:如果用户已配置用户组则不需要进行此步骤
1
sudo usermod -a -G wheel $(whoami)
  1. 设置 libvirtd 开机自启
1
2
sudo systemctl start libvirtd
sudo systemctl enable libvirtd

可以通过命令行 (virsh) 或通过 virt-manager 图形界面管理 libvirt 系统
image

建议在 Home 目录下创建一个文件系统目录,在此目录手动创建硬盘。自动创建可能会出现不可预知的权限问题

image

网卡配置

启动网卡

  1. 首先建立 default 网卡文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sudo cat /etc/libvirt/qemu/networks/default.xml                                                                                                1 ✘  19:22:18  

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh net-edit default
or other application using the libvirt API.
-->

<network>
<name>default</name>
<uuid>7ef2500e-b19a-4e8a-9322-467bb7e50f43</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:a4:29:99'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
  1. 定义网卡
1
sudo virsh net-define /etc/libvirt/qemu/networks/default.xml
  1. 启动网卡
1
virsh net-start default

4、查看网卡

1
ip a

关闭 DHCP 服务器

如果有这个需求可按以下方式关闭

  1. 停止 dnsmasq DHCP 和 DNS 服务器
1
2
sudo systemctl stop dnsmasq
sudo systemctl enable dnsmasq

2. 查看网卡

1
sudo virsh net-list    

  1. 已经分配的 dhcp 租约条目
1
2
3
4
sudo virsh net-dhcp-leases default                                             
Expiry Time MAC 地址 Protocol IP address Hostname Client ID or DUID
--------------------------------------------------------------------------------
2021-12-13 16:09:57 52:54:00:c6:51:45 ipv4 192.168.122.23/24 registry 01:52:54:00:c6:51:45
  1. 直接删除 dhcp 租约条目
1
2
sudo rm -rf /var/lib/libvirt/dnsmasq/virbr0.*
sudo virsh net-dhcp-leases default