libvirt

After importing a disk image you can access the connection details and look at the virtual networks. The default network for my VMs is:

<network connections="6">
  <name>default</name>
  <uuid>THIS_IS_GENERATED_RANDOMLY</uuid>
  <forward mode="nat">
    <nat>
      <port start="1024" end="65535"/>
    </nat>
  </forward>
  <bridge name="virbr0" stp="on" delay="0"/>
  <mac address="SOME_RANDOM_MAC"/>
  <ip address="10.11.12.1" netmask="255.255.255.0">
    <dhcp>
      <range start="10.11.12.128" end="10.11.12.254"/>
    </dhcp>
  </ip>
</network>

Once the default network is setup you need to start it and set it to auto-start:

virsh net-start default
virsh net-autostart default

Additionally there are some ufw rules that have to be added/updated to allow this to work. These go in files in /etc/ufw, here’s the group output for the rules from those files:

user6.rules:### tuple ### route:allow any any ::/0 any ::/0 in_virbr0
user6.rules:-A ufw6-user-forward -i virbr0 -j ACCEPT
user6.rules:### tuple ### route:allow any any ::/0 any ::/0 out_virbr0
user6.rules:-A ufw6-user-forward -o virbr0 -j ACCEPT
user6.rules:### tuple ### allow any any ::/0 any ::/0 in_virbr0
user6.rules:-A ufw6-user-input -i virbr0 -j ACCEPT
user6.rules:### tuple ### allow any any ::/0 any ::/0 out_virbr0
user6.rules:-A ufw6-user-output -o virbr0 -j ACCEPT
user.rules:### tuple ### route:allow any any 0.0.0.0/0 any 0.0.0.0/0 in_virbr0
user.rules:-A ufw-user-forward -i virbr0 -j ACCEPT
user.rules:### tuple ### route:allow any any 0.0.0.0/0 any 0.0.0.0/0 out_virbr0
user.rules:-A ufw-user-forward -o virbr0 -j ACCEPT
user.rules:### tuple ### allow any any 0.0.0.0/0 any 0.0.0.0/0 in_virbr0
user.rules:-A ufw-user-input -i virbr0 -j ACCEPT
user.rules:### tuple ### allow any any 0.0.0.0/0 any 0.0.0.0/0 out_virbr0
user.rules:-A ufw-user-output -o virbr0 -j ACCEPT

About

Agathezol is a gamer, programmer, father, husband, and musician. When he's not writing blog posts nobody reads he generally writes protocol stacks, network code, and core telecommunications software but has dabbled in game design, web programming, mobile device software, and desktop software.

Categories: Linux