systemadmin.es > Redes > bonding tiene como dependencia ipv6

bonding tiene como dependencia ipv6

Es una práctica muy común deshabilitar IPv6 tanto por política de seguridad como rendimiento y, digamos, “limpieza” del sistema. Pero a partir de RHEL 5.4 (CentOS 5.4) nos puede dar problemas según como deshabilitemos el modulo

Un bonding con IPv6 cargado tendría el siguiente aspecto:

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:00:de:ad:ba:be  
          inet addr:10.10.10.10  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::8fff:ffff:ffff:399/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:943 errors:0 dropped:0 overruns:0 frame:0
          TX packets:642 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:101069 (98.7 KiB)  TX bytes:81906 (79.9 KiB)

Podemos ver que esta cargado IPv6 por la linea inet6. Esto provoca una mayor latencia al pedir primero el registro AAAA a los resolvers y todo este tráfico inútil.

En el caso que deshabilitemos IPv6 con la típica substitución por /bin/true en /etc/modprobe.conf:

install ipv6 /bin/true

Al aplicar la configuración obtendremos el siguiente mensaje con modprobe:

# modprobe bond0
FATAL: Error inserting bonding (/lib/modules/2.6.18-194.32.1.el5/kernel/drivers/net/bonding/bonding.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Con los siguientes mensajes en el dmesg:

bonding: Unknown symbol ndisc_build_skb
bonding: Unknown symbol in6_dev_finish_destroy
bonding: Unknown symbol ndisc_send_skb
bonding: Unknown symbol unregister_inet6addr_notifier
bonding: Unknown symbol register_inet6addr_notifier

Y esto no es culpa de nadie más que nosotros mismos por no leer a fondo las Release Notes de RHEL 5.4 o sus equivalentes Relese Notes de CentOS 5.4.

La culpa es de todos menos mía

La culpa es de todos menos mía

Al añadir la dependencia de ipv6 al bonding también se le ha añadido una opción para deshabilitar ipv6 teniendo caragado el modulo:

# modinfo -p ipv6
disable:Disable IPv6 such that it is non-functional

Por lo tanto debemos substituir la línea del install en /etc/modprobe.conf por lo siguiente:

options ipv6 disable=1

De esta forma podremos tener un bonding con ipv6 deshabilitado:

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:00:de:ad:ba:be  
          inet addr:10.10.10.10  Bcast:10.10.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:102 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12309 (12.0 KiB)  TX bytes:11821 (11.5 KiB)

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>