Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 18. Configuring allowed address pairs
18.1. Overview of allowed address pairs
In Red Hat OpenStack Platform (RHOSP) networking environments, an allowed address pair is when you identify a specific MAC address, IP address, or both to allow network traffic to pass through a port regardless of the subnet. When you define allowed address pairs, you are able to use protocols like Virtual Router Redundancy Protocol (VRRP) that float an IP address between two VM instances to enable fast data plane failover. A port whose IP address is a member of an allowed address pair of another port is referred to as a virtual port (vport).
In RHOSP networking environments, when creating a VM instance, do not bind the instance to a virtual port (vport). Instead, use a port whose IP address is not a member of another port’s allowed address pair.
Binding a vport to an instance prevents the instance from spawning and produces an error message similar to the following:
WARNING nova.virt.libvirt.driver [req-XXXX - - - default default] [instance: XXXXXXXXX] Timeout waiting for [('network-vif-plugged', 'XXXXXXXXXX')] for instance with vm_state building and task_state spawning.: eventlet.timeout.Timeout: 300 seconds
You define allowed address pairs using the Red Hat OpenStack Platform command-line client openstack port
command.
Be aware that you should not use the default security group with a wider IP address range in an allowed address pair. Doing so can allow a single port to bypass security groups for all other ports within the same network.
For example, this command impacts all ports in the network and bypasses all security groups:
# openstack port set --allowed-address mac-address=3e:37:09:4b,ip-address=0.0.0.0/0 9e67d44eab334f07bf82fa1b17d824b6
With an ML2/OVN mechanism driver network back end, it is possible to create VIPs. However, the IP address assigned to a bound port using allowed_address_pairs
, should match the virtual port IP address (/32).
If you use a CIDR format IP address for the bound port allowed_address_pairs
instead, port forwarding is not configured in the back end, and traffic fails for any IP in the CIDR expecting to reach the bound IP port.
Additional resources
- port command in the Command line interface reference
- Section 18.2, “Creating a port and allowing one address pair”
- Section 18.3, “Adding allowed address pairs”
18.2. Creating a port and allowing one address pair
Creating a port with an allowed address pair enables network traffic to flow through the port regardless of the subnet.
Do not use the default security group with a wider IP address range in an allowed address pair. Doing so can allow a single port to bypass security groups for all other ports within the same network.
Procedure
Use the following command to create a port and allow one address pair:
$ openstack port create --network <network> --allowed-address mac-address=<mac_address>,ip-address=<ip_cidr> <port_name>
Additional resources
- port command in the Command line interface reference
18.3. Adding allowed address pairs
You can add an allowed address pair to a port to enable network traffic to flow through the port regardless of the subnet.
Do not use the default security group with a wider IP address range in an allowed address pair. Doing so can allow a single port to bypass security groups for all other ports within the same network.
Procedure
Use the following command to add allowed address pairs:
$ openstack port set --allowed-address mac-address=<mac_address>,ip-address=<ip_cidr> <port>
NoteYou cannot set an allowed-address pair that matches the
mac_address
andip_address
of a port. This is because such a setting has no effect since traffic matching themac_address
andip_address
is already allowed to pass through the port.
Additional resources
- port command in the Command line interface reference