Add KVM Network With Virsh
+ +date: 2021-10-16
+Introduction
+This is a short and sweet walk-through for how to create
+a new network for libvirt
for kvm
, from the command line,
+using virsh
.
Name Resolution
+Let's start with name resolution.
+-
+
-
+
Install
libnss-libvirt
: ++apt install libnss-libvirt +
+ -
+
In
/etc/nsswitch.conf
, addlibvirt
to hosts key. ++# /etc/nsswitch.conf +# change this +... +hosts: files dns mymachines +... +# to this +... +hosts: files libvirt dns mymachines +... +
+
Starter XML
+You could dumpxml on the existing default network: +
virsh net-dumpxml default > foonet.xml
+
-
+
- remove the network uuid +
- change the network name to taste +
- remove the bridge mac +
- change the bridge name to taste +
- change the bridge ip address and dhcp range to taste +
<!-- foonet.xml -->
+<network>
+ <name>foonet</name>
+ <forward mode='nat'>
+ <nat>
+ <port start='1024' end='65535'/>
+ </nat>
+ </forward>
+ <bridge name='virbr101' stp='on' delay='0'/>
+ <ip address='10.55.44.1' netmask='255.255.255.0'>
+ <dhcp>
+ <range start='10.55.44.2' end='10.55.44.254'/>
+ </dhcp>
+ </ip>
+</network>
+
Define The Network
+With the above xml file: virsh net-define foonet.xml
The network definition can now be found in /etc/libvirt/qemu/networks/foonet.xml
+
<!-- /etc/libvirt/qemu/networks/foonet.xml -->
+<!--
+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 foonet
+or other application using the libvirt API.
+-->
+
+<network>
+ <name>foonet</name>
+ <uuid>e6e40bfc-d449-4043-924c-ca0f0edf4210</uuid>
+ <forward mode='nat'>
+ <nat>
+ <port start='1024' end='65535'/>
+ </nat>
+ </forward>
+ <bridge name='virbr111' stp='on' delay='0'/>
+ <mac address='52:54:00:49:a7:f8'/>
+ <ip address='10.55.44.1' netmask='255.255.255.0'>
+ <dhcp>
+ <range start='10.55.44.2' end='10.55.44.254'/>
+ </dhcp>
+ </ip>
+</network>
+
You could also start the network without defining it
+using virsh net-create foonet.xml
.
Start/Stop
+-
+
- Start the network
-
+
virsh net-start foonet
+
+ - Stop the network
-
+
virsh net-destroy foonet
+
+ - Undefine the network
-
+
virsh net-undefine foonet
+
+ - Autostart the network
-
+
virsh net-autostart foonet
+
+ - Disable autostart for the network
-
+
virsh net-autostart foonet --disable
+
+
Tab completion is you friend!
+ + + + + + + + + + + + + + + + +