Com configurar la connexió/l'equip de xarxa (NIC) a Debian Linux


L'equip de NIC presenta una solució interessant per a la redundància i l'alta disponibilitat en els àmbits informàtics del servidor/estació de treball. Amb la possibilitat de tenir diverses targetes d'interfície de xarxa, un administrador pot ser creatiu en com s'accedeix a un servidor determinat o crear una canonada més gran perquè el trànsit flueixi cap al servidor concret.

Aquesta guia explicarà l'associació de dues targetes d'interfície de xarxa en un sistema Debian. El programari conegut com ifenslave s'utilitzarà per connectar i desconnectar NIC d'un dispositiu connectat. Aleshores, el dispositiu d'enllaç es converteix en el dispositiu de xarxa que connecta amb el nucli però utilitza físicament el dispositiu d'interfície de xarxa real (eth0, eth1, etc.).

El primer que cal fer abans de qualsevol configuració és determinar el tipus d'enllaç que realment necessita implementar el sistema. Hi ha sis modes d'enllaç compatibles amb el nucli Linux a l'hora d'escriure aquest article. Alguns d'aquests modes d'enllaç són senzills de configurar i d'altres requereixen configuracions especials als interruptors en què es connecten els enllaços.

Entendre els modes d'enllaç

Aquest mètode d'associació de NIC s'anomena Round-Robin, d'aquí el RR al nom. Amb aquest mètode d'enllaç, els paquets de xarxes es fan girar a través de cadascuna de les targetes d'interfície de xarxa que formen la interfície unida.

Per exemple, un sistema amb eth0, eth1 i eth2 esclau a una interfície bond0. Aquesta interfície, quan s'habilita amb el mode d'enllaç 0, enviaria el primer paquet eth0, el segon paquet eth1, el tercer paquet el nostre eth2 i després tornaria a començar a eth0 amb el quart paquet. Aquí és on el mode rep el seu nom round-robin.

Amb aquest mètode d'enllaç, només una interfície de xarxa està activa mentre que les altres interfícies de l'enllaç simplement esperen un error en l'enllaç a la targeta d'interfície de xarxa primària.

En un mode d'enllaç XOR equilibrat, l'enllaç avaluarà les adreces mac d'origen i de destinació per determinar quina interfície enviarà els paquets de xarxa. Aquest mètode triarà la mateixa interfície per a una adreça de Mac determinada i, com a resultat, és capaç d'equilibrar la càrrega i de tolerància a errors.

En aquest mètode, el dispositiu d'enllaç transmetrà dades a totes les interfícies esclaves, d'aquí el nom difusió d'aquest mètode d'enllaç en particular. Hi ha molt pocs usos per a aquest mètode, però proporciona un nivell de tolerància a errors.

Aquest és un mètode d'enllaç especial per a l'agregació d'enllaços i requereix una configuració especial al commutador al qual es connecta aquesta interfície vinculada en particular. Aquest mètode segueix els estàndards IEEE per a l'agregació d'enllaços i proporciona tolerància a errors i una amplada de banda més gran.

A TLB, l'enllaç rebrà trànsit a les interfícies esclaves de manera normal, però quan el sistema necessiti enviar trànsit, determinarà quina interfície és la millor per transmetre dades en funció de la càrrega/cua de cadascuna de les interfícies.

A ALB, l'enllaç carregarà un equilibri semblant al mode Bond 5, però amb la capacitat afegida de carregar l'equilibri de recepció també.

Depenent del paper que jugarà el sistema, és imprescindible triar el mètode d'enllaç adequat. Aquest tutorial es farà a Debian Jessie amb dues interfícies de xarxa (eth0 i eth1) i es configurarà per al mode enllaç 1 o la còpia de seguretat activa.

Tanmateix, és molt senzill canviar entre els diferents modes, ja que només es tracta d'un canvi en el fitxer d'interfícies de xarxa (suposant que no s'escull el mode d'enllaç 4, ja que requereix la configuració del commutador).

Configuració d'equips NIC

El primer pas d'aquest procés és obtenir el programari adequat dels repositoris. El programari per a Debian es coneix com ifenslave i es pot instal·lar amb apt.

# apt-get install ifenslave-2.6

Un cop instal·lat el programari, caldrà dir al nucli que carregui el mòdul d'enllaç tant per a aquesta instal·lació actual com per a futurs reinicis. Per carregar el mòdul aquesta vegada, es pot utilitzar la utilitat modprobe per carregar els mòduls del nucli.

# modprobe bonding

De nou, per assegurar-se que aquest vincle estigui actiu en els reinicis del sistema, cal modificar el fitxer '/etc/modules' per informar al nucli que carregui els mòduls d'enllaç a l'inici.

# echo 'bonding' >> /etc/modules 

Ara que el nucli està informat dels mòduls necessaris per a l'enllaç NIC, és hora de crear la interfície unida real. Això es fa mitjançant el fitxer d'interfícies que es troba a '/etc/network/interfaces' i es pot editar amb qualsevol editor de text.

# nano /etc/network/interfaces

Aquest fitxer conté la configuració de la interfície de xarxa per a tots els dispositius de xarxa que ha connectat el sistema. Aquest exemple té dues targetes de xarxa (eth0 i eth1). En aquest fitxer s'ha de crear la interfície d'enllaç adequada per esclavitzar les dues targetes de xarxa físiques en una interfície lògica. Aquest és un fitxer d'interfícies molt simplista, però fa tot el necessari per crear una interfície d'enllaç de treball.

La primera estrofa (quadre vermell a dalt) és la configuració estàndard de la interfície de loopback. 'auto lo' informa al nucli que activarà l'adaptador automàticament a l'inici. 'iface lo inet loopback' diu al sistema que aquesta interfície és la interfície de bucle del sistema o més comunament es fa referència com a 127.0.0.1.

La segona estrofa (quadre groc a dalt) és la interfície d'enllaç real que s'utilitzarà. El 'auto bond0' diu al sistema que inicialitzi automàticament l'enllaç quan s'iniciï. iface bond0 inet dhcp pot ser obvi, però per si de cas, aquesta estrofa indica que la interfície anomenada bond0 hauria d'obtenir la seva informació de xarxa mitjançant DHCP (Protocol de control dinàmic de l'amfitrió).

El 'mode d'enllaç 1' és el que s'utilitza per determinar quin mode d'enllaç s'utilitza per aquesta interfície vinculada en particular. En aquest cas, el mode d'enllaç 1 indica que aquest vincle és una configuració de còpia de seguretat activa amb l'opció bond-primary que indica la interfície principal per a l'enllaç. 'slaves eth0 eth1' indica quines interfícies físiques formen part d'aquesta interfície unida en particular.

Les dues línies següents són importants per determinar quan l'enllaç hauria de canviar de la interfície primària a una de les interfícies esclaves en cas de fallada de l'enllaç. Miimon és una de les opcions disponibles per controlar l'estat dels enllaços d'enllaç i l'altra opció és l'ús de sol·licituds arp.

Aquesta guia utilitzarà miimon. 'bond-miimon 100' diu al nucli que inspeccioni l'enllaç cada 100 ms. bond-downdelay 400 significa que el sistema esperarà 400 ms abans de concloure que la interfície activa actualment està efectivament inactiva.

El 'bond-updelay 800' s'utilitza per indicar al sistema que s'esperi en utilitzar la nova interfície activa fins a 800 ms després que s'hagi activat l'enllaç. Una nota sobre el retard a l'augment i el retard a la baixa, tots dos valors han de ser múltiples del valor de miimon, en cas contrari, el sistema arrodonirà cap avall.