Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En este pequeño tutorial os enseñaré como configurar dos interfaces de red para formar un
bond en un sistema GNU/Linux Debian. Usaremos el software ifenslave el cual se
encargará de añadir/remover/gestionar las tarjetas físicas que forman el bond. Una vez que
el bond se configure y se active, comenzará a trabajar como si fuera un dispositivo físico de
red como puede eser eth0, eth1 ...
Este modalidad de bonding se la llama ‘Round-Robin‘. Con este método, los paquetes de
red enviados son rotados entre cada una de las tarjetas que forman la interfaz del bond.
Por ejemplo, en un equipo con 4 interfaces de red eth0, eth1, eth2 y eth3 todas ellas como
"esclavas" de la interfaz bond0. Cuando establecemos el bond en modo 0 (Round-Robin),
el primer paquete se enviará por la interfaz eth0, el segundo por eth1, el tercero por eth2 y
el 4 de nuevo por eth0.
Bond Mode 1 (active-backup)
Con esta modalidad de bonding, solo una de las interfaces está activa mientras que la otra
estará en modo de "espera" hasta que la interfaz activa falle por algún motivo. Cuando falla
la interfaz de red activa, la otra interfaz que está de backup asume el rol y se pone en activa.
Bond Mode 2 (balance-xor)
Este método evalúa el origen y el destino de los paquetes en función de la "mac address"
para determinar a través de que interfaz de red del bond enviará los paquetes. Este método
enviará los paquetes por la misma interfaz que tengan el mismo origen y destino. De esta
forma conseguimos una especie de balanceo y tolerancia a fallos.
Bond Mode 3 (broadcast)
Transmite todas las tramas por todas las interfaces slave. Este modo nos ofrece tolerancia
a fallos
Bond Mode 4 (802.3ad)
Se trata del estandard IEEE 802.3ad (Dynamic link aggregation) también llamado “port
trunking“. Permite la definición de agregados ofreciendo alta disponibilidad y un aumento
de la velocidad. Para poder configurar este modo necesitamos:
Este modo transmite balanceando la carga entre los slave en función de la carga de cada
slave. En el caso que uno falle la MAC salta a otro slave. Para calcular la carga de cada
interfaz es necesario disponer de ethtool.
Tenemos que tener en cuenta que puede producirse que los paquetes lleguen desordenados,
por lo que puede ser peor el remedio que la enfermedad, especialmente en entornos de red
complejos.
Bond Mode 6 (balance-alb)
Deberemos tener en cuenta que cualquier sistema de seguridad basado en las tablas ARP
puede quejarse o simplemente tirar el puerto de la interfaz dejando el servidor sin
conectividad.
# apt-get update
# apt-get install ifenslave
Una vez hemos terminado de instalar el paquete ifenslave, necesitamos configurar nuestro
equipo para que una vez que se reinicie, el Kernel cargue el módulo necesario para
gestionar el bonding. Para ello, bastará con añadir la palabra "bonding" al fichero
/etc/modules:
# modprobe bonding
source /etc/network/interfaces.d/*
#ens160 configuration
auto ens160
iface ens160 inet manual
bond-master IPTV
#ens192 configuration
auto ens192
iface ens192 inet manual
bond-master IPTV
#ens224 configuration
auto ens224
iface ens224 inet manual
bond-master IPTV
#ens256 configuration
auto ens256
iface ens256 inet manual
bond-master IPTV
# IPTV is the bonded NIC and can be used like any other normal NIC.
# IPTV is configured using static network information.
auto IPTV
iface IPTV inet static
address 192.168.30.250
netmask 255.255.255.0
network 192.168.30.0
broadcast 192.168.30.255
gateway 192.168.30.254
Una vez hemos realizado los cambios en el fichero de configuración, reiniciaremos la red
con el comando:
# ifconfig -a
Listado de interfaces
# cat /proc/net/bonding/IPTV
Estado del bond0
# ping 8.8.8.8
Lo siguiente que haremos será desconectar la interfaz de red eth0. Como estoy
virtualizando el equipo GNU/Linux Debiancon VMWARE WORKSTATION 11, iré a la
configuración de la VM y desconectaré la primera interfaz eth0:
La interfaz que está como SLAVE RUNNING es la interfaz ens161 y como SLAVE es la
ens12, ens224, ens256. Podemos verlo con el comando "ifconfig". Con el PING
funcionando a Google y desconectando la interfaz ens161 (SLAVE RUNNING), veremos
como la intarfaz "cae" pero el PING se recupera y el tráfico lo asume la ens192 y sucesivo
(SLAVE ahora nueva SLAVE RUNNING):
Ping a Google se recupera por la interfaz pasiva/slave
Si hacemos un ifconfig, podemos ver como ahora ens161 es la interfaz SLAVE y la ens192
la interfaz SLAVE RUNNING:
Estado del bond tras la desactivación de ens161
# cat /proc/net/bonding/IPTV
Estado del bond IPTV
Estos mismos pasos podemos hacerlos con la interfaz ens192, pero debemos tener en
cuenta que al estar en modo 1 (activo-pasivo), al menos una de las interfaces de red debe
estar UP&RUNNING para que la conectividad funcione correctamente.
Hola de nuevo, en esta ocasión vamos a ver como desinstalar netplan de un ubuntu server
18.04, y utilizar el sistema antiguo de configuración de redes basado en
/etc/networ/interfaces.
GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
sudo update-grub
auto lo
iface lo inet loopback
auto ens160
iface ens160 inet static
address 192.168.1.62
netmask 255.255.255.0
gateway 192.168.1.1
y grabamos
DNS=192.168.1.X 192.168.1.Y
y grabamos
sustituir las dns que yo he puesto por las que a vosotros os venga bien, ya sean
dns internas o públicas.