Mostrando entradas con la etiqueta eth0. Mostrar todas las entradas
Mostrando entradas con la etiqueta eth0. Mostrar todas las entradas

lunes, 23 de abril de 2018

¿Cómo configurar la unión de interfases de red en Ubuntu?

¡Compañeros!

Su alegría es mi alegría, sus anhelos son mi guía, y mis realizaciones no tienen otra finalidad que la dicha de mi pueblo. No hacen más que colmar el corazón de este viejo soldado, pues me hacen sentir el más feliz de los hombres. Puedo decir con el más sano de los orgullos, que me han convertido en un verdadero vínculo de unión entre los hombres que trabajan.

He dicho muchas veces que a este país o lo arreglamos entre todos, o no lo arregla nadie. Indudablemente que de la unión sale la fuerza, pero las masas no valen por su mero número, sino por la calidad de los hombres que tienen al frente.

Esta referencia ha de ser motriz de nuestro Movimiento, y si es cierta en la política, mucho más lo será en los sistemas informáticos, pues aquella es la inspiración que estos tienen. Debemos copiar de la naturaleza, ya que su realización es Divina.

Vean señores, la unión de interfaces de red es un mecanismo empleado en el ambiente de los servidores Linux bien atresados, ya que su accionar unificado se utiliza para proveer a la Masa de un mayor ancho de banda que la posible por una única interfaz. Naturalmente esto será así si contamos con dos o más proveedores de comunicaciones. También podremos emplear la unión de interfaces para otorgar  la necesaria redundancia de enlaces que nos tornará inconmovibles en caso de fallos de cableado. Este tipo de redundancia de enlace tiene múltiples nombres en Linux, como Bonding, Teaming, o Grupos de Agregación en Enlace (LAG).

Ahora bien, para usar un mecanismo de enlace de red en los sistemas operativos basados en Ubuntu o Debian, debemos primeramente instalar el módulo de unión en el Kernel y probar si el controlador de unificación está cargado a través del comando modprobe.

Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo modprobe bonding

En las versiones más antiguas de Ubuntu/Debian debíamos instalar el paquete ifenslave con el comando

sudo apt-get install ifenslave

Para crear un vínculo de unión de las dos primeras interfaces físicas de nuestro sistema, lo primero es identificarlas. Normalmente las interfaces solían llamarse eth0 (la primera), eth1 (la segunda), etc. Sin embargo en las versiones más novedosas del kernel estas nomenclaturas podrían cambiar. Para saber qué interfaces contamos en nuestro sistema, bien podremos ingresar el consabido comando de organización:

ifconfig

Y nos devolverá un listado de las mismas con las características. Podríamos encontrar que las mismas ahora se llaman por ejemplo enp4s0 o enp5s0, o variantes. También podría suceder que se sigan llamando ethx como antaño.

En cualquier sentido, debíamos adaptar el comando para asociar nuestras interfaces de red. Para ello, ingresábamos en la terminal los siguientes comandos.

sudo ip link add bond0 type bond mode 802.3ad
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0


Sin embargo, este método era efímero, en el sentido que su efecto desaparecía al reiniciar el sistema.

Para crear una unión permanente, debíamos editar el archivo de configuración de interfases, por ejemplo con:

sudo nano /etc/network/interfaces

Y al final del archivo le agregábamos:

# La interfaz primaria de red
auto bond0
iface bond0 inet static
address 192.168.1.150
netmask 255.255.255.0   
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8
dns-search domain.local
slaves eth0 eth1
bond_mode 0
bond-miimon 100
bond_downdelay 200
bound_updelay 200


Naturalmente, podremos cambiar las IP de los DNS cambiando la variable dns-nameservers. También podremos cambiar la dirección IP de la red unificada cambiando la variable address. En este caso se trata de una dirección estática. Debemos especificar los nombres de las interfaces de redes esclavas en la variable slaves.

Guardábamos el archivo con Ctrl+o y salíamos del editor GNU Nano con Ctrl+x.

Configurar en las versiones actuales de Ubuntu

Para activar las interfaces a unirse, debemos reiniciar el servicio de redes, desactivar la interfaz física y activar la interfaz unida, o reiniciar el sistema de forma que el kernel active la nueva interfaz unida.

sudo systemctl restart networking.service

...o si no,

sudo ifdown eth0 && ifdown eth1 && ifup bond0

La configuración de la interfaz unida puede revisarse ingresando los siguientes comandos de organización:

ifconfig

...o bien,

ip a

Ahora ya podremos conectar los cables Ehternet/LAN de distintos servidores a nuestro sistema, y la conexión se producirá de forma unida con la nomenclatura de red bond0. Si conectamos dos routers de diferentes proveedores de internet (por ejemplo, un servicio de cablemódem y otro de ADSL), las solicitudes de conexión se realizarán a ambos proveedores, y la distribución balanceada debería proveer a nuestro servidor de una velocidad de conexión mayor.

Naturalmente, esto no implica necesaria y obligatorioamente la suma matemática de ambos anchos de banda, pero si deberíamos lograr una mayor performance de funcionamiento.

Pueden obtenerse los detalles de la interfaz unida al mostrar los contenidos del archivo de kernel que respecta a estas configuraciones. Para ello hacemos

cat /proc/net/bonding/bond0



Para investigar otros mensajes de interfaces unidas o revisar el estado de los NICs físicos unidos, debemos ingresar en nuestra terminal los siguientes Comandos de Organización:

tail -f /var/log/messages

También podremos usar la herramienta mii-tool para revisar los parámetros del controlador de interfaz de red (NIC), como se muestra a continuación.

mii-tool

Os listaré los tipos de unión de red.

    mode=0 (balance-rr)
    mode=1 (active-backup)
    mode=2 (balance-xor)
    mode=3 (broadcast)
    mode=4 (802.3ad)
    mode=5 (balance-tlb)
    mode=6 (balance-alb)

jueves, 21 de junio de 2012

¿Cómo activo y configuro dos adaptadores de red LAN/Ethernet en Ubuntu?

Reunido en Madrid con la exponentes de la Juventud, Juan Perón explica el sentido que ha de tener para el Justicialismo el contar con dos adaptadores de red LAN/Ethernet, cómo hacer que funcionen ante ciertas fallas y cómo configurarlos para servir al Pueblo.

¡Mi Juventud Maravillosa!

Ha sido siempre deseo de este viejo soldado contar como nobles herederos a una buena juventud que siga mis pasos. Un buen Conductor es aquel que por sobre todas las cosas comprende que sólo el quehacer político y la organización que de él emanen serán capaces de vencer al tiempo. Por ello anhelo dejar como mis continuadores a argentinos que sepan velar por el bien de nuestra Patria.

A nadie escapa que el entramado social que hemos de proteger no hace sino reproducir como ente político las naturales vinculaciones que existieron a lo largo de la historia entre los hombres que trabajan. Esta relación de unión - verdadero nexo de la Comunidad - conforma una poderosa base sobre la cual un Conductor ha de obrar. Si los hombres son los bloques de esta estructura, el verdadero tejido y argamasa lo conformarán las voluntades de tipo político. El Conductor no hará otra cosa que solidificar este enramado mancomunado a través de su doctrina: el Justicialismo.

Si una Comunidad Organizada - que es un organismo social - crece y se desarrolla de esta manera y tiene su Vínculo de Unión en el Conductor, tampoco podía dejar de serlo así una red telemática cableada como las que podemos crear con Ubuntu. Para una placa de red Ethernet no hay nada mejor que otra placa de red Ethernet. Tal principio es modular y aplica en un sentido de conveniencia, pues usar dos adaptadores Ethernet/LAN nos permite una mayor flexibilidad para administrar nuestro sistema. Tal es así, que varios fabricantes incorporan ya en sus motherboards adaptadores con dos bocas normalizadas para las fichas normalizadas RJ45.


Como primer enseñanza deben saber que - a efectos de identificación para la gestión de las redes -ambas bocas LAN/Ethernet llevan un nombre particular. En vez de llamarse Montoto o Mongo Aurelio,en Linux la primera boca recibirá el identificador de eth0, la segunda boca eth1, la tercera - si la hubiera - sería eth2, y así sucesivamente. Ahora bien, vaya a saber por qué motivo, en el equipo que utilizo empleo en su primer boca luce el identificador eth0-eth1, y en su segunda boca el identificador eth1.
¿Para qué tener dos bocas RJ45 de red cableada? Bueno, todo tiene una razón de ser. A nosotros nos preguntaban para qué tener independencia económica cuando ya teníamos soberanía política, y esto es así porque una viene de mano de la otra. En el caso de las redes, podremos utilizar una de las bocas para conectarnos a peligrosa Internet protegidos por un cortafuegos, m mientras que la otra boca para conectarnos a una red hogareña (LAN) confiable sin cortafuegos. También podríamos ser más parcos y en otro ejemplo conservar ambas bocas para conectarnos a la red a través de distintos proveedores, y multiplicar así nuestra velocidad de conexión (Ubuntu puede hacer uso de dos proveedores de Internet a la vez). También podríamos ser heterodoxos y recibir Internet por una boca y rutearla a otro equipo a través de una segunda. Las posibilides son muchas.

Para saber si tenemos una placa de red con dos bocas podremos mirar el panel trasero de nuestra PC, pero si nos da asquito podríamos usar la Consola. La abriremos con Ctrl+Alt+T y escribimos el siguiente comando de organización seguido de Enter:
lspci


Entre todos los dispositivos, lspci debería listarnos los "Ethernet controllers", lo cual en el idioma de Braden constituyen los controladores de Internet, o adaptadores de redes. También nos informará la dirección numérica del hardware y la marca y modelo del mismo. Por ejemplo, en mi equipo de Puerta de Hierro cuento con adaptadores de red de dos bocas tipo Realtek RTL8111/8168B Gigabit Ethernet, tal cual nos informa el comando lspci:

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

Al hacer clic sobre el Gestor de Redes, debería abrirse el gestor e indicarnos ambas redes. Por ejemplo, en el siguiente caso tengo ambas bocas conectadas por sendos cables LAN a un Router (que a su vez se encuentra conectado a Internet). El Gestor de Red no me informará los identificadores eth1 ni eth0-eth1, sino que llamará a ambos con un nombre algo más descriptivo para el usuario ("Red cableada (Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller").

ACTIVAR o DESACTIVAR LAS BOCAS LAN/Ethernet:
En algunos casos puede suceder que alguna de estas dos bocas deje de funcionar y se desactive por algún motivo. Esto será evidente pues cuando conectamos un cable LAN que funciona adecuadamente a la misma, no se encienden de manera automática las luces verde y ámbar de status. En tal caso, podremos activar o "levantar" la boca desde la consola, ingresando:
sudo ifconfig [identificador ethxxx] up


En nuestro ejemplo, podríamos usar:
sudo ifconfig eth1 up
sudo ifconfig eth0-eth1 up


Tengamos en cuenta que si por algún motivo quisiéramos desactivar alguna de las bocas Ethernet, tendríamos que tipear según la siguiente sintaxis: sudo ifconfig [nombre de boca ethernet] down.

Si aún así no se activan las bocas LAN / eth:
En ciertas ocasiones que no he podido determinar con exactitud, pero que involucran borrar la conexión cableada automática que viene por defecto en el Gestor de Redes, puede suceder que se desactive algunas de las bocas Eth de los adaptadores de red y no funcione siquiera levantandolo con el comando sudo ifconfig [identificador ethxxx] up. 


En tal caso suele ser una solución efectiva desactivar y reactivar la red de la placa madre desde la configuración de la BIOS, con el siguiente procedimiento:
  • Encender el equipo e ingresamos a la configuración del BIOS: Esto en general involucra presionar varias la tecla "Supr" no bien se enciende el equipo. NOTA: El BIOS es una configuración general del sistema previa al inicio del sistema operativo (ya se trate de Ubuntu u otros) y no debe modificarse nada salvo que tengamos experiencia pues podría provocar mal funcionamiento del sistema
  • Desactivar los adaptadores de red desde la BIOS: Lo haremos con el fin de que nuestro sistema operativo - al no encontrarlos - los elimine de su lista y corrija ciertos errores. Para ello siempre es recomendable consultar el manual de nuestra placa madre. Os indicaré como hacerlo en el caso de la configuración de una BIOS muy popular como lo son las de marca American Megatrends. Al entrar al BIOS nos encontraremos con una pantalla (arriba) en la cual debemos seleccionar Integrated Peripherals ("Periféricos Integrados") y presionarán la tecla Enter. En la siguiente pantalla destinada a la configuración de los dispositivos integrados (abajo), debemos seleccionar Onboard LAN1 y Onboard LAN2 y desactivarlas (ponerlas en "Disabled"). Es importante saber que estos cambios no serán efectivos hasta que presionemos Esc (a fin de volver a la primer pantalla) y escojamos la opción Save & Exit Setup ("Guardar y Salir de la Configuración"). Si nos arrepentimos podemos elegir Exit Without Saving ("salir sin guardar cambios")
  • Arrancamos Ubuntu con los adaptadores de red desactivados: Ubuntu ahora no podrá conectarse por red cableada, y desconfigurará las redes. 
  • Apago el sistema.
  • Conecto uno o idealmente dos cables LAN a las bocas LAN/Eth y reenciendo el equipo y vuelvo a entrar a la BIOS: (ingreso con la tecla Supr). Reactivaremos nuevamente los adaptadores de red: Nos desplazamos a Integrated Peripherals y me aseguro que las bocas Onboard LAN1 y Onboard LAN2 estén activados ("Enabled"). Presionamos la tecla Esc para volver a la primer pantalla del BIOS y elegimos "Save & Exit Setup". Ahora debería ver que al menos se deberían enceder las luces de status de las bocas LAN/Eth.
  • Arranco Ubuntu y ahora debería reconocer sin problemas ambas bocas LAN/eth. Si todo funciona bien y los cables están conectados a una red o router funcional, deberían encenderse las luces de status (verde y ámbar).



CONFIGURACIÓN EN UBUNTU
En Ubuntu y otros sistemas GNU+Linux, podremos configurar las redes en la interfaz gráfica a través del Gestor de Redes, lo cual se recomienda en la mayoría de los casos. En situaciones donde tengamos que ejercer una conducción a través de una terminal de texto, podremos hacerla directamente modificando el archivo de configuración /etc/network/interfaces (ambos métodos son válidos). Si deseamos hacerlo desde la consola podemos tipear:

Para editarlo, podremos usar el editor de texto peronista Gedit. Desde la consola podremos ingresar:

sudo gedit /etc/network/interfaces

En el caso de Ubuntu, el archivo debería contener ya los comandos de configuración automática para Internet y el loop de red. Estos comandos son suficientes para la autoconfiguración de Internet y no deberían quitarse. Se los transcribo para que siempre los tengan a mano:

auto lo
iface lo inet loopback

Si deseamos que Ubuntu y nuestro servidor de internet establezcan automáticamente los datos de la conexión a internet para las bocas eth1 y eth0-eth1 (como suele hacerse para la mayoría de los ISP), podremos hacerlo "forzadamente" ingresando en el fichero de configuración /etc/network/interfaces el siguiente código peronista. Nota: En cuestión de estos códigos, recuerden siempre que el símbolo numeral ("#") significa "comentario", y se antepone en las líneas de texto o líneas de órdenes y comandos que no se ejecutarán. Únicamente se ejecuta lo que no tiene antepuesto el símbolo #.

auto lo
iface lo inet loopback

# Configuración peronista para dos redes conectadas a Internet.
# Estas dos líneas configuran la 1er. boca LAN (eth1) conectada 
dinámicamente a Internet  (configuración automática)

auto eth1
iface eth1 inet dhcp
#
# Estas otras dos líneas configuran la 2da boca LAN (eth0-eth1) conectada 
dinámicamente a Internet  (configuración automática)

auto eth0-eth1
iface eth0-eth1 inet dhcp

Guardamos el archivo y acto seguido será necesario reiniciar el servicio de redes para que cobre efecto al instante. Lo haremos con:

sudo /etc/init.d/networking restart


También podemos proceder de manera diferente: configurar la primer boca eth1 para conectarnos a internet a través de un proveedor con IP dinámica, y utilizar la segunda boca eth0-eth1 para conectarnos a una LAN segura. Ello lo haríamos con el siguiente código para el archivo /etc/network/interfaces:

auto lo
iface lo inet loopback

# Configuración peronista para dos redes conectadas a Internet.
# Estas dos líneas configuran la 1er. boca LAN (eth1) conectada 
dinámicamente a Internet  (configuración automática)

auto eth1
iface eth1 inet dhcp
#
# Estas otras dos líneas configuran la 2da boca LAN (eth0-eth1) conectada 
# estáticamente (manual) una red local  (configuración manual)

auto eth0-eth1
iface eth0-eth1 inet static
     address 192.168.0.42
     network 192.168.0.0
     netmask 255.255.255.0
#     broadcast 192.168.0.255
#     gateway 192.168.0.1
#

Los números de las variables address, network, netmask, broadcast y gateway
# están indicadas como ejemplo, y debemos cambiarlas por las direcciones IP de
# la red LAN, o aquellas que nos señale nuestro proveedor de internet con 
# configuración estática. Notarán que las lineas broadcast y gateway son 
# opcionales y no suelen utilizarse por la mayoría de los proveedores.

Finalmente es útil conocer que podremos evaluar sencillamente el funcionamiento de nuestro/s adaptador/es de red/es con el siguiente Comando de Organización:


sudo dhclient