Blog

Como configurar Active-Backup para interfaces de red en RHEL7

Como configurar Active-Backup para interfaces de red en RHEL7
Publicado por: Gerardo Arroyo Arce

En este artículo explicaremos como configurar Active-Backup para interfaces de red en RHEL7.

La finalidad de utilizar Active-Backup es proporcionar redundancia en caso de fallo de alguna interfaz de red (NIC), se mantiene solo una interfaz activa mientras las otras simplemente esperan una falla para ser activadas automáticamente y en cuestión de milisegundos como respaldo, este proceso también es llamado mecanismo de Fail Over.

Es importante mencionar que para esta configuración podemos utilizar bonding o teaming, ambas opciones realizan la misma función, no obstante, teaming es compatible con todas las características más nuevas y comunes de controladores, por esta razón y en mi preferencia utilizaré teaming para nuestro laboratorio de ejemplo.

Interfaces de Red (NIC´s)

Necesitaremos 2 interfaces de red (NIC´s), en nuestro caso serán las interfaces enp0s8 y enp0s9:

{% highlight bash %}
[root@server1 ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
enp0s8 ethernet disconnected –
enp0s9 ethernet disconnected –
lo loopback unmanaged –
virbr0-nic tun unmanaged –
{% endhighlight %}

Creación de la Interfaz Virtual

Procedemos a crear la interfaz virtual maestra con el nombre que deseamos, en nuestro caso será “team1”.

{% highlight bash %}
[root@server1 ~]# nmcli connection add type team con-name team1 ifname team1 config ‘{“runner”: {“name”: “activebackup”}}’
Connection ‘team1’ (7ef52bd0-f1b9-4d78-899f-ff41cb4ff520) successfully added.
{% endhighlight %}

Dirección IP, Gateway y DNS

Configuramos la dirección IP, Gateway y DNS para la interfaz virtual team1.

{% highlight bash %}
[root@server1 ~]# nmcli connection modify team1 ipv4.addresses 192.168.2.200/24 ipv4.gateway 192.168.2.1 ipv4.dns 8.8.8.8
[root@server1 ~]# nmcli connection modify team1 ipv4.method manual
[root@server1 ~]# nmcli connection modify team1 connection.autoconnect yes
{% endhighlight %}

Ligar las Interfaces Esclavas a la Interfaz Maestra

Procedemos a ligar las interfaces esclavas enp0s8 y enp0s9, a la interfaz maestra con los nombres que deseamos, en nuestro caso team1-port1 y team1-port2, como se muestra a continuación:

{% highlight bash %}
root@server1 ~]# nmcli connection add type team-slave con-name team1-port1 ifname enp0s8 master team1
Connection ‘team1-port1’ (af9c2414-945f-489b-b21c-f64852418c05) successfully added.
[root@server1 ~]# nmcli connection add type team-slave con-name team1-port2 ifname enp0s9 master team1
Connection ‘team1-port2’ (bd31a3cd-55b6-4bf5-ba76-ce7218a806ce) successfully added.
{% endhighlight %}

Habilitar la Interfaz Virtual team1

Habilitamos la interfaz virtual team1, esta misma reconocerá y levantará los esclavos ligados a ella:

{% highlight bash %}
[root@server1 ~]# nmcli connection up team1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
{% endhighlight %}

Verificar la Configuración

Finalmente verificamos la configuración con el comando teamdctl:

{% highlight bash %}
[root@server1 ~]# teamdctl team1 state view
setup:
runner: activebackup
ports:
enp0s8
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
enp0s9
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: enp0s8
{% endhighlight %}

Con esta configuración podemos observar que la interfaz activa es enp0s8, la interfaz enp0s9 esta activa, pero en espera para entrar en funcionamiento en caso de fallo.

Verificar el Resultado

Ahora procedemos a probar nuestra configuración desactivando la interfaz activa enp0s8 y automáticamente la interfaz enp0s9 cumplirá la función de respaldo quedando activa, este proceso se lleva a cabo en cuestión de milisegundos.

{% highlight bash %}
[root@server1 ~]# nmcli connection down team1-port1
Connection ‘team1-port1’ successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
[root@server1 ~]# teamdctl team1 state view
setup:
runner: activebackup
ports:
enp0s9
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: enp0s9
{% endhighlight %}

Esperamos que este artículo les sea de utilidad.

Como configurar Active-Backup para interfaces de red en RHEL7

Gerardo Arroyo Arce

CEO & Co-Founder

  • ​AWS Community Builder & Ambassador
  • ​AWS Solution Architect - Professional
  • AWS Certified Database – Specialty
  • AWS Certified Security – Specialty
  • AWS Solution Architect - Associate
  • AWS Certified Developer Associate
  • AWS Certified SysOps Administrator Associate
  • Ingeniero en Software. ITCR.
  • Master en Computación en Informática. UCR.