Attaching a Guest Directly to a Virtualization Host Network Interface with a macvtap Driver: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 51: Line 51:


<pre>
<pre>
NAME="ens8"
DEVICE="ens8"
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="none"
IPADDR="172.68.30.1"
PREFIX="24"
DEFROUTE="no"
PEERDNS="no"
PEERROUTES="no"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="no"
IPV6_AUTOCONF="no"
IPV6_DEFROUTE="no"
IPV6_PEERDNS="no"
IPV6_PEERROUTES="no"
IPV6_FAILURE_FATAL="no"
UUID="8e9cbe3a-3582-4213-8a6d-73af4d93e3d0"
</pre>
</pre>
Make sure UUID is unique, you can generate a new UUID with <font color=red>?</font>.


For more details on how to configure network interfaces, see {{Internal|Linux 7 Configuring a Network Interface|Configuring a Network Interface}}
For more details on how to configure network interfaces, see {{Internal|Linux 7 Configuring a Network Interface|Configuring a Network Interface}}


Reboot the second time, both interfaces should be operational.
Reboot the second time, both interfaces should be operational.

Revision as of 01:28, 28 June 2017

Internal

Overview

Method 1

The simplest method is to leave the network interface unconfigured on the virtualization host and to assign it to the guest in configuration with virsh edit as follows:


...
<interface type='direct'>
    <source dev='eth0' mode='private'/>
</interface>
...

Note that after saving it, libvirt will update the stored configuration as follows:

...
<interface type='direct'>
    <mac address='52:54:00:02:72:ed'/>
    <source dev='em2' mode='private'/>
    <model type='rtl8139'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</interface>
...

Note that the MAC address declared in the configuration is different from the MAC address declared by ip addr on the virtualization host.

The new network interface shows up on the guest, alongside the default network interface eth1:

ip addr
...
2: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:02:72:ed brd ff:ff:ff:ff:ff:ff
...
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:e4:e6:8a brd ff:ff:ff:ff:ff:ff

After the first boot, figure out the name of the new network interface and add a /etc/sysconfig/network-scripts/ifcfg-<interface-name> configuration file, similar to:

NAME="ens8"
DEVICE="ens8"
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="none"
IPADDR="172.68.30.1"
PREFIX="24"
DEFROUTE="no"
PEERDNS="no"
PEERROUTES="no"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="no"
IPV6_AUTOCONF="no"
IPV6_DEFROUTE="no"
IPV6_PEERDNS="no"
IPV6_PEERROUTES="no"
IPV6_FAILURE_FATAL="no"
UUID="8e9cbe3a-3582-4213-8a6d-73af4d93e3d0"

Make sure UUID is unique, you can generate a new UUID with ?.

For more details on how to configure network interfaces, see

Configuring a Network Interface

Reboot the second time, both interfaces should be operational.