[[installing-virtualization-software]]
= Installing virtualization software

When installing Fedora, you can install the virtualization packages by
selecting *Virtualization* in the *Base Group* in the installer. See https://docs.fedoraproject.org/f27/install-guide/install/Installing_Using_Anaconda.html[Installing Using Anaconda].


For existing Fedora installations, you can install the virtualization tools via the command line using the Virtualization Package Group. To view the packages, run:

----
$ dnf groupinfo virtualization

Group: Virtualization
Group-Id: virtualization
Description: These packages provide a virtualization environment.

Mandatory Packages:
   =virt-install

Default Packages:
   =libvirt-daemon-config-network
   =libvirt-daemon-kvm
   =qemu-kvm
   =virt-manager
   =virt-viewer

Optional Packages:
   guestfs-browser
   libguestfs-tools
   python-libguestfs
   virt-top
----

. Run the following command to install the mandatory and default packages in the virtualization group:
+
----
# dnf install @virtualization
----
+
Alternatively, to install the mandatory, default, and optional packages, run:
+
----
# dnf group install with-optional virtualization
----
+
. After the packages install, start the `libvirtd` service:
+
----
# systemctl start libvirtd
----
+
To start the service on boot, run:
+
----
# systemctl enable libvirtd
----
+
. To verify that the KVM kernel modules are properly loaded:
+
----
$ lsmod | grep kvm
kvm_amd                55563  0
kvm                   419458  1 kvm_amd
----
+
If this command lists `kvm_intel` or `kvm_amd`, KVM is properly configured.


[[networking-support]]
== Networking Support

By default, libvirt will create a private network for your guests on the host machine. This private network will use a 192.168.x.x subnet and not be reachable directly from the network the host machine is on. However, virtual guests can use the host machine as a gateway and can connect out via it. If you need to provide services on your guests that are reachable via other machines on your host network you can use iptables DNAT rules to forward in specific ports, or you can set up a bridged environment.

See the http://wiki.libvirt.org/page/Networking[libvirt networking setup page] for more information on how to setup a bridged network.

