Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save andrewshulgin/7d18fc2631a95ed9547f to your computer and use it in GitHub Desktop.
Save andrewshulgin/7d18fc2631a95ed9547f to your computer and use it in GitHub Desktop.

Установка и конфигурация KVM (libvirt) на CentOS 7

Установка пакетов

yum -y install qemu-kvm libvirt virt-install dnsmasq

Настройка libvirt

vi /etc/polkit-1/localauthority/50-local.d/50-libvirt-wheel.pkla

[libvirt wheel]
Identity=unix-group:wheel
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
systemctl enable libvirtd
systemctl start libvirtd
virsh net-destroy default
virsh net-undefine default

Настройка сети

systemctl disable NetworkManager
systemctl stop NetworkManager
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ip_forward.conf
sysctl --system
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
ZONE=external
BOOTPROTO=static
IPADDR=192.0.2.10
NETMASK=255.255.255.0
GATEWAY=192.0.2.1
DNS1=192.0.2.1

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
ZONE=internal
BOOTPROTO=static
IPADDR=192.168.16.1
NETMASK=255.255.255.0

vi /etc/dnsmasq.conf

interface=br0
bind-interfaces
read-ethers
domain=emple.com
dhcp-range=192.168.16.100,192.168.16.200
conf-dir=/etc/dnsmasq.d
systemctl enable dnsmasq
systemctl start dnsmasq
firewall-cmd --set-default-zone external
firewall-cmd --permanent --zone external --add-masquerade
firewall-cmd --permanent --zone internal --add-service dhcp
firewall-cmd --permanent --zone internal --add-service dns
firewall-cmd --permanent --zone internal --add-port 5900/tcp
firewall-cmd --reload

Создание виртуальной машины на примере FreeBSD 10.2

curl -o /var/lib/libvirt/images/FreeBSD-10.2-RELEASE-amd64-bootonly.iso ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.2/FreeBSD-10.2-RELEASE-amd64-bootonly.iso
qemu-img create -f qcow2 /var/lib/libvirt/images/FreeBSD-10.2-RELEASE.qcow2 10G
virt-install --name=FreeBSD-10.2-RELEASE --ram 1024 --vcpus 4 --os-variant freebsd9.3 --network bridge=br0,model=e1000--graphics vnc,listen=0.0.0.0 --noautoconsole --cdrom /var/lib/libvirt/images/FreeBSD-10.2-RELEASE-amd64-bootonly.iso --disk /var/lib/libvirt/images/FreeBSD-10.2-RELEASE.qcow2
virsh autostart FreeBSD-10.2-RELEASE
virsh start FreeBSD-10.2-RELEASE

Статический IP адрес и port forwarding

echo '52:54:00:a0:df:64 192.168.16.10' >> /etc/ethers

firewall-cmd --zone external --add-forward-port port=80:proto=tcp:toaddr=192.168.16.10
firewall-cmd --permanent --zone external --add-forward-port port=80:proto=tcp:toaddr=192.168.16.10

Ссылки

Debian Bug report logs - #717217 dhcpd: 5 bad udp checksums in 5 packets

Configure Port Forwarding using the CLI

Network XML format

DHCP static IP addresses with dnsmasq

Bug 1079088 - Port-forwarding requests coming into a KVM host (say, kvmHost) to a guest (say, kvmGuest01) doesn't work...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment