Table of Contents
Setting up kvm network
kvm
kvm packages
yum install bridge-utils tunctl libvirt qemu-kvm virt-manager yum install spice-server.x86_64 spice-gtk3.x86_64 spice-client.x86_64 qemu-kvm-tools
ip routing etc
net.ipv4.tcp_window_scaling=0
VM Network Types
- THIS IS IT: http://www.linux-kvm.org/page/Networking
- other links:
NAT forwarding (aka "virtual networks") :
- virtual bridge with IP Masq
- connects Host virbr and Guests and NATing Guests
- Accessing Guests from outside require additional IP rules
Create Host bridge, tap, iptables masqerading
Make sure everything is up and run:
sudo qemu-kvm -hda instances/controller.qcow2 -m 1024 -vnc :3 -cdrom cloud-init/default/default-cidata.iso -device e1000,netdev=br_ql_mgmt -netdev tap,id=br_ql_mgmt,ifname=controller-eth0,script=no,downscript=no
Use scripts to setup network when vm start:
sudo qemu-kvm -hda $DIR/images/Fedora-x86_64-20-300G-20150130-sda-network.qcow2 \ -m 1500 -vnc :2 \ -device e1000,netdev=snet0,mac=DE:AD:BE:EF:12:07 -netdev tap,id=snet0,script=$DIR/scripts/qemu-ifup-stackbr0.sh &
Generate MAC
If you are managing your guests via command line, the following script might be helpful to generate a randomized MAC using QEMU's registered OUI (52:54:00):
MACADDR="52:54:00:$(dd if=/dev/urandom bs=512 count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\).*$/\1:\2:\3/')"; echo $MACADDR
Bridged networking (aka "shared physical device")
- Bridge connecting with physical iface (eth0)
- Host, VM and outside network
Bridge and NAT (red dot): http://blogs.virtualizationadmin.com/lowe/wp-content/blogs/60/files/2011/11/image_thumb2.png
PCI Passthrough of host network devices
DNSMASQ
- journalctl -b show all log from boot