IP fabric is one the network cluster configuration types. This configuration type allows you to create virtual machines (VMs) with public IP addresses in a private network.
Virtual machines in the cluster are assigned IP addresses with the /32 mask. A separate virtual interface is used as the default gateway for each VM. Cluster nodes act as routers.
Routing in the cluster is performed using the iBGP protocol. Route Reflector (RR) equipment is used to transmit information about iBGP routes. Physical or virtual routers and/or servers can be used in this function. We recommend using at least two sets of RR equipment in one cluster — the main and the backup set.
To operate an IPv4 network in a cluster, use at least one set of RR equipment with an IPv4 address; for an IPv6 network, at least one set with an IPv6 address.
Advantages of IP fabric:
- reduced service traffic;
- saving the address space;
- isolation of VM traffic;
- IP addresses are not bound to cluster nodes;
- VMs can be migrated promptly among cluster nodes.
When creating a VM in an IP fabric cluster:
- VMmanager platform:
- Creates a separate virtual interface <vmname>_net0. For example, for a VM with the name sea_gold, the interface will be called sea_gold_net0. All virtual interfaces on the node will have the same IP and MAC addresses.
- Sets the IP address of the created interface as the gateway for the VM. Routing between the VM and the gateway is performed through a point-to-point connection (PtP).
- Adds the created route to the bird service configuration on the cluster node.
- The bird service transmits information about the created route via iBGP protocol to RR equipment.
- RR equipment transmits the route information to Core Gateway equipment. After that, the VM becomes available from the external network (Internet).
iBGP — dynamic routing protocol responsible for route exchange between nodes and network equipment.
Node 1, Node 2, Node 3 — cluster nodes.
VM1, VM2, VM3... — virtual machines.
VNET — virtual network interfaces.
Core Gateway — equipment that provides access to the external network (Internet).
BIRD — service on the cluster node that implements the iBGP protocol.
Linux CORE — OS core of cluster node.
Route Reflector — server or network equipment that receives route information from nodes and transmits it to Core Gateway.
Backup Route Reflector — backup set of Route Reflector equipment.
- In VMmanager:
- Create an IP pool for the VMs. Read more in Pools management.
- Create a cluster with the IP fabric network configuration type. Read more in Creating a cluster. When creating the cluster, specify the following:
- gateway IP address for the VM. VMmanager will assign this address of the gateway to all virtual interfaces on the cluster node and use it only for routing between the VM within the node. We recommend to specify a private address (e.g. 10.0.0.1). This address should not be in use anywhere else in the local network.
- BGP community.
- IP addresses and numbers of autonomous systems of RR equipment.
Add the nodes to the cluster. Read more in Managing servers in the cluster.
The nodes of the IP-fabric with KVM virtualization must have CentOS 8, with LXD virtualization — Ubuntu 20.
- Configure BGP sessions for each cluster node on the RR equipment: specify the IP addresses of nodes and numbers of autonomous BGP systems in the settings.
Example of configuration
In this example, we consider the IP-fabric configuration in a cluster of servers used as hypervisors. The role of Core Gateway is performed by a Juniper MX router. Physical servers with Linux are used as Route Reflector.
The following equipment will be required for the setup:
- a server with the VMmanager platform;
- one or more cluster nodes with CentOS 8 or Ubuntu 20.04 installed;
- one or two Route Reflector servers;
- Juniper MX switch.
- Get information from your hosting provider about BGP settings: autonomous system number and community.
- Make sure that the BGP protocol is configured and functioning properly.
- Create an IP address pool for virtual machines in VMmanager.
Configuring the Core Gateway router
To configure the "neighborhood" of Core Gateway and Route Reflector:
Add a new filter to the router configuration:Comments to the command
<filter> — list of networks from VMmanager
Add a new group to the router configuration:Comments to the command
<as> — autonomous system number
<rr_ip> — IP address of Route Reflector
Check that BGP routes have been received:
Проверьте, что маршруты BGP получены:
Confirm the configuration changes:
Configuring Route Reflector servers
To configure "neighborhood" among Route Reflector, Core Gateway and cluster nodes:
- Install bird.
Create the configuration file /etc/bird/bird.conf with the following contents:Comments
<local_ip> — Route Reflector IP address available for VMmanager and Core Gateway
<filter> — list of networks from VMmanager to transfer to Core Gateway
<bird.as> — BGP autonomous system number
<bird.community> — BGP community
<route.name> — name of network route for Core Gateway
<router.ip> — IP address of Core Gateway
<neighbor> — VMmanager cluster node description
<neighbor_ip> — IP address of VMmanager cluster node
When new nodes are added to the cluster, you will need to add the information about them to the bird configuration file.
To configure IP-fabric in VMmanager:
- Create a cluster with IP-fabric network type. When creating, specify the settings for connections to the Core Gateway and Route Reflector.
- Connect the servers to the created cluster.
- Create VMs in the cluster.