Red Hat TrainingA Red Hat training course is available for RHEL 8 Show
For your virtual machines (VMs) to connect over a network to your host, to other VMs on your host, and to locations on an external network, the VM networking must be configured accordingly. To provide VM networking, the RHEL 8 hypervisor and newly created VMs have a default network configuration, which can also be modified further. For example:
The following sections explain the various types of VM network configuration and provide instructions for setting up selected VM network configurations. 13.1. Understanding virtual networkingThe connection of virtual machines (VMs) to other devices and locations on a network has to be facilitated by the host hardware. The following sections explain the mechanisms of VM network connections and describe the default VM network setting. 13.1.1. How virtual networks workVirtual networking uses the concept of a virtual network switch. A virtual network switch is a software construct that operates on a host machine. VMs connect to the network through the virtual network switch. Based on the configuration of the virtual switch, a VM can use an existing virtual network managed by the hypervisor, or a different network connection method. The following figure shows a virtual network switch connecting two VMs to the network: From the perspective of a guest operating system, a virtual network connection is the same as a physical network connection. Host machines view virtual network switches as network interfaces. When the libvirtd service is first installed and started, it creates virbr0, the default network interface for VMs. To view information about this interface, use the ip utility on the host. $ ip addr show virbr0 3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 1b:c4:94:cf:fd:17 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0By default, all VMs on a single host are connected to the same NAT-type virtual network, named default, which uses the virbr0 interface. For details, see Virtual networking default configuration. For basic outbound-only network access from VMs, no additional network setup is usually needed, because the default network is installed along with the libvirt-daemon-config-network package, and is automatically started when the libvirtd service is started. If a different VM network functionality is needed, you can create additional virtual networks and network interfaces and configure your VMs to use them. In addition to the default NAT, these networks and interfaces can be configured to use one of the following modes:
13.1.2. Virtual networking default configurationWhen the libvirtd service is first installed on a virtualization host, it contains an initial virtual network configuration in network address translation (NAT) mode. By default, all VMs on the host are connected to the same libvirt virtual network, named default. VMs on this network can connect to locations both on the host and on the network beyond the host, but with the following limitations:
The following diagram illustrates the default VM network configuration: 13.2. Using the web console for managing virtual machine network interfacesUsing the RHEL 8 web console, you can manage the virtual network interfaces for the virtual machines to which the web console is connected. You can:
13.2.1. Viewing and editing virtual network interface information in the web consoleUsing the RHEL 8 web console, you can view and modify the virtual network interfaces on a selected virtual machine (VM): Procedure
13.2.2. Adding and connecting virtual network interfaces in the web consoleUsing the RHEL 8 web console, you can create a virtual network interface and connect a virtual machine (VM) to it. Procedure
13.2.3. Disconnecting and removing virtual network interfaces in the web consoleUsing the RHEL 8 web console, you can disconnect the virtual network interfaces connected to a selected virtual machine (VM). Procedure
13.3. Recommended virtual machine networking configurationsIn many scenarios, the default VM networking configuration is sufficient. However, if adjusting the configuration is required, you can use the command-line interface (CLI) or the RHEL 8 web console to do so. The following sections describe selected VM network setups for such situations. 13.3.1. Configuring externally visible virtual machines using the command-line interfaceBy default, a newly created VM connects to a NAT-type network that uses virbr0, the default virtual bridge on the host. This ensures that the VM can use the host’s network interface controller (NIC) for connecting to outside networks, but the VM is not reachable from external systems. If you require a VM to appear on the same external network as the hypervisor, you must use bridged mode instead. To do so, attach the VM to a bridge device connected to the hypervisor’s physical network device. To use the command-line interface for this, follow the instructions below. Prerequisites
Procedure
Verification
Troubleshooting
13.3.2. Configuring externally visible virtual machines using the web consoleBy default, a newly created VM connects to a NAT-type network that uses virbr0, the default virtual bridge on the host. This ensures that the VM can use the host’s network interface controller (NIC) for connecting to outside networks, but the VM is not reachable from external systems. If you require a VM to appear on the same external network as the hypervisor, you must use bridged mode instead. To do so, attach the VM to a bridge device connected to the hypervisor’s physical network device. To use the RHEL 8 web console for this, follow the instructions below. Prerequisites
Procedure
Verification
Troubleshooting
To work around this problem, you can set destination NAT using nftables for the VM. 13.4. Types of virtual machine network connectionsTo modify the networking properties and behavior of your VMs, change the type of virtual network or interface the VMs use. The following sections describe the connection types available to VMs in RHEL 8. 13.4.1. Virtual networking with network address translationBy default, virtual network switches operate in network address translation (NAT) mode. They use IP masquerading rather than Source-NAT (SNAT) or Destination-NAT (DNAT). IP masquerading enables connected VMs to use the host machine’s IP address for communication with any external network. When the virtual network switch is operating in NAT mode, computers external to the host cannot communicate with the VMs inside the host. Virtual network switches use NAT configured by firewall rules. Editing these rules while the switch is running is not recommended, because incorrect rules may result in the switch being unable to communicate. 13.4.2. Virtual networking in routed modeWhen using Routed mode, the virtual switch connects to the physical LAN connected to the host machine, passing traffic back and forth without the use of NAT. The virtual switch can examine all traffic and use the information contained within the network packets to make routing decisions. When using this mode, the virtual machines (VMs) are all in a single subnet, separate from the host machine. The VM subnet is routed through a virtual switch, which exists on the host machine. This enables incoming connections, but requires extra routing-table entries for systems on the external network. Routed mode uses routing based on the IP address: Common topologies that use routed mode include DMZs and virtual server hosting. DMZ You can create a network where one or more nodes are placed in a controlled sub-network for security reasons. Such a sub-network is known as a demilitarized zone (DMZ). Host machines in a DMZ typically provide services to WAN (external) host machines as well as LAN (internal) host machines. Since this requires them to be accessible from multiple locations, and considering that these locations are controlled and operated in different ways based on their security and trust level, routed mode is the best configuration for this environment. Virtual server hostingA virtual server hosting provider may have several host machines, each with two physical network connections. One interface is used for management and accounting, the other for the VMs to connect through. Each VM has its own public IP address, but the host machines use private IP addresses so that only internal administrators can manage the VMs. 13.4.3. Virtual networking in bridged modeIn most VM networking modes, VMs automatically create and connect to the virbr0 virtual bridge. In contrast, in bridged mode, the VM connects to an existing Linux bridge on the host. As a result, the VM is directly visible on the physical network. This enables incoming connections, but does not require any extra routing-table entries. Bridged mode uses connection switching based on the MAC address: In bridged mode, the VM appear within the same subnet as the host machine. All other physical machines on the same physical network can detect the VM and access it. Bridged network bonding It is possible to use multiple physical bridge interfaces on the hypervisor by joining them together with a bond. The bond can then be added to a bridge, after which the VMs can be added to the bridge as well. However, the bonding driver has several modes of operation, and not all of these modes work with a bridge where VMs are in use. The following bonding modes are usable:
In contrast, using modes 0, 3, 5, or 6 is likely to cause the connection to fail. Also note that media-independent interface (MII) monitoring should be used to monitor bonding modes, as Address Resolution Protocol (ARP) monitoring does not work correctly. For more information on bonding modes, refer to the Red Hat Knowledgebase. Common scenarios The most common use cases for bridged mode include:
13.4.4. Virtual networking in isolated modeWhen using isolated mode, virtual machines connected to the virtual switch can communicate with each other and with the host machine, but their traffic will not pass outside of the host machine, and they cannot receive traffic from outside the host machine. Using dnsmasq in this mode is required for basic functionality such as DHCP. 13.4.5. Virtual networking in open modeWhen using open mode for networking, libvirt does not generate any firewall rules for the network. As a result, libvirt does not overwrite firewall rules provided by the host, and the user can therefore manually manage the VM’s firewall rules. 13.4.6. Comparison of virtual machine connection typesThe following table provides information about the locations to which selected types of virtual machine (VM) network configurations can connect, and to which they are visible. Table 13.1. Virtual machine connection types
13.5. Booting virtual machines from a PXE serverVirtual machines (VMs) that use Preboot Execution Environment (PXE) can boot and load their configuration from a network. This chapter describes how to use libvirt to boot VMs from a PXE server on a virtual or bridged network.
These procedures are provided only as an example. Ensure that you have sufficient backups before proceeding. 13.5.1. Setting up a PXE boot server on a virtual networkThis procedure describes how to configure a libvirt virtual network to provide Preboot Execution Environment (PXE). This enables virtual machines on your host to be configured to boot from a boot image available on the virtual network. Prerequisites
Procedure
Verification
13.5.2. Booting virtual machines using PXE and a virtual networkTo boot virtual machines (VMs) from a Preboot Execution Environment (PXE) server available on a virtual network, you must enable PXE booting. Procedure
Verification
13.5.3. Booting virtual machines using PXE and a bridged networkTo boot virtual machines (VMs) from a Preboot Execution Environment (PXE) server available on a bridged network, you must enable PXE booting. Prerequisites
Procedure
Verification
13.6. Additional resources
Which tool should you use to configure which devices and services start when Windows boots?The Microsoft System Configuration (msconfig) tool is a Microsoft software application used to change configuration settings, such as which software opens with Windows. It contains several useful tabs: General, Boot, Services, Startup, and Tools.
What is used to configure data sources for applications that require access to a database?Data Sources (ODBC): It is used to configure data sources for applications that require access to a database.
What cards are used to connect a computer to a network?A network interface card (NIC) is a hardware component, typically a circuit board or chip, which is installed on a computer so it can connect to a network.
When Windows 10 can communicate with a domain controller the network connection is automatically placed in which location?When Windows 10 can communicate with a domain controller, the network connection is automatically placed in the domain network location category.
|