KVM: Difference between revisions
→Install packages and start libvirtd: configure bridged networking |
|||
Line 44: | Line 44: | ||
---------------------------------------------------------- | ---------------------------------------------------------- | ||
default active yes yes | default active yes yes | ||
</source> | |||
Default configuration allows all VMs to access other VMs but not the network that the host machine is on. You can check the private network created by default: | |||
<source lang="bash"> | |||
# virsh net-dumpxml default | |||
<network> | |||
<name>default</name> | |||
<uuid>51beab57-eb0c-40b9-bb5e-957f31c1b489</uuid> | |||
<forward mode='nat'> | |||
<nat> | |||
<port start='1024' end='65535'/> | |||
</nat> | |||
</forward> | |||
<bridge name='virbr0' stp='on' delay='0'/> | |||
<mac address='52:54:00:f0:c0:2d'/> | |||
<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> | |||
</source> | |||
Add the following line to <span class="package">/etc/sysconfig/network-scripts/ifconfig-enp3s0</span>: | |||
<source lang="ini"> | |||
BRIDGE=br0 | |||
</source> | |||
Create a new file <span class="package">/etc/sysconfig/network-scripts/ifcfg-br0</span>: | |||
<source lang="ini"> | |||
DEVICE="br0" | |||
# I am getting ip from DHCP server # | |||
BOOTPROTO="dhcp" | |||
IPV6INIT="yes" | |||
IPV6_AUTOCONF="yes" | |||
ONBOOT="yes" | |||
TYPE="Bridge" | |||
DELAY="0" | |||
</source> | |||
Restart the networking service: | |||
<source lang="bash"> | |||
# systemctl restart NetworkManager | |||
</source> | |||
Check with brctl command: | |||
<source lang="bash"> | |||
# brctl show | |||
</source> | </source> |
Revision as of 15:00, 5 July 2018
Kernel-based Virtual Machine. A hypervisor technology featuring tight integration to Linux kernel.
Installation
Installing on CentOS 7.5
- Tested on CentOS 7.5.1804
Install packages and start libvirtd
Install required packages:
# yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install
Start the libvirtd service:
# systemctl enable libvirtd
# systemctl start libvirtd
Make sure KVM module loaded using lsmod command:
# lsmod | grep -i kvm
kvm_intel 178927 0
kvm 578558 1 kvm_intel
irqbypass 13503 1 kvm
Configure bridged networking
Libvirtd configures a dhcpd-based network bridge by default. You can check in the following way:
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400f0c02d yes virbr0-nic
# virsh net-list
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
Default configuration allows all VMs to access other VMs but not the network that the host machine is on. You can check the private network created by default:
# virsh net-dumpxml default
<network>
<name>default</name>
<uuid>51beab57-eb0c-40b9-bb5e-957f31c1b489</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:f0:c0:2d'/>
<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>
Add the following line to /etc/sysconfig/network-scripts/ifconfig-enp3s0:
BRIDGE=br0
Create a new file /etc/sysconfig/network-scripts/ifcfg-br0:
DEVICE="br0"
# I am getting ip from DHCP server #
BOOTPROTO="dhcp"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
ONBOOT="yes"
TYPE="Bridge"
DELAY="0"
Restart the networking service:
# systemctl restart NetworkManager
Check with brctl command:
# brctl show