参考文章

https://www.cnblogs.com/hukey/p/11888389.html
https://kb.novaordis.com/index.php/KVM_Virtual_Networking_Concepts
https://wiki.libvirt.org/VirtualNetworking.html

ubuntu永久配置网桥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
network: 
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bridges:
virbr0:
addresses:
- 10.0.0.20/24
gateway4: 10.0.0.2
nameservers:
addresses:
- 8.8.4.4
- 1.1.1.1
interfaces:
- eth0


#netplan apply #生效

rocky永久配置网桥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat /etc/sysconfig/network-scripts/ifcfg-virbr1
DEVICE=virbr1
NAME=virbr1
STP=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=10.0.0.100
PREFIX=24

cat /etc/sysconfig/network-scripts/ifcfg-virbr1-port0
TYPE=Ethernet
NAME=virbr1-port0
DEVICE=eth0
ONBOOT=yes
BRIDGE=virbr1
UUID=23f41d3b-b57c-4e26-9b17-d5f02dafd12d


kvm 桥接配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
+--------------------------------------------------+
| |
| +---------------------+ |
| | | |
| | Guest | |
| | | |
| | | |
| | +--+eth0 | |
| +---------------------+ |
| +--+ |
| | |
| | +----------------+ |
| | | | |
| | +------+ | |
| +-> +------+ | |
| vnet0 | | |
| +------------+---+ |
| virbr0 ^ |
| | |
| +----------------------+ |
| +----| |
+--------------------------------------------------+
| | Host
eth0 +--+-+
|
|
| Internet
|
v

注意: 宿主机网桥及其出口提前配置好

然后配置kvm的网络xml 文件
vim /etc/libvirt/qemu/networks/virbr0.xml
<network>
<name>virbr0</name>
<uuid>6f870906-4980-4f75-89a4-ce54306e5388</uuid>
<forward mode='bridge'/>
<bridge name='virbr0'/>
</network>

激活virbr0.xml

virsh net-define /etc/libvirt/qemu/networks/virbr0.xml
virsh net-start virbr0
virsh net-autostart virbr0

kvm NAT配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim /etc/libvirt/qemu/networks/nat.xml
<network>
<name>nat</name>
<forward dev='eth1' mode='nat'>
<interface dev='eth1'/>
</forward>
<bridge name='vir-nat' />
<ip address='192.168.1.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.1.2' end='192.168.1.253' />
</dhcp>
</ip>
</network>

virsh net-define /etc/libvirt/qemu/networks/nat.xml
virsh net-start nat
virsh net-autostart nat
virsh net-list

kvm host only配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vim /etc/libvirt/qemu/networks/host-only.xml

<network>
<name>host-only</name>
<uuid>015e545c-dac2-40da-a857-9c09d36ed059</uuid>
<bridge name='vir-host' stp='on' delay='0'/>
<mac address='52:54:00:07:7c:90'/>
<ip address='192.168.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.2' end='192.168.100.253' />
</dhcp>
</ip>
</network>

virsh net-define /etc/libvirt/qemu/networks/host-only.xml
virsh net-start host-only
virsh net-autostart host-only

使用virt-install 创建虚拟机时指定网络

1
2
3
4
5
6
7
8
注意:
1. network=host-only,model=virtio 中间不能有空格
2.这个/var/lib/libvirt/images/rocky8-3.qcow2 硬盘是clone 过来的硬盘已经存在系统

virt-install --virt-type kvm --os-variant=rocky8 --name rock8-3 --ram 1024 \
--vcpus 1 --disk bus=virtio,path=/var/lib/libvirt/images/rocky8-3.qcow2 \
--network network=host-only,model=virtio --network network=virbr0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole --autostart --boot hd