Xarxes en Ubuntu 12.10

En aquesta secció s'ofereix informació general i específica relativa a la creació de xarxes, inclosa una visió general dels conceptes de xarxa i anàlisi detallada dels protocols de xarxa populars.

Xarxes formades per dos o més dispositius, com els sistemes informàtics, impressores i equips relacionats, que estan connectats per qualsevol cablejat físic o mitjançant enllaços sense fils, per tal de compartir i distribuir informació entre els dispositius connectats.

Configuració de la xarxa

Ubuntu ve amb una sèrie d'utilitats gràfiques per configurar dispositius de xarxa. Aquest document està dirigit als administradors de servidors i se centrarà en la gestió de la seua xarxa a la línia d'ordres.

Ethernet Interfaces

Són identificats pel sistema que utilitza la convenció de nomenclatura ethx, on X representa un valor numèric. La primera interfície Ethernet s'identifica normalment com eth0, el segon com eth1, i tots els altres s'ha de moure cap amunt en ordre numèric.

Identificar les Ethernet Interfaces

Per identificar ràpidament tots els dispositius Ethernet disponibles, pot utilitzar l'ordre ifconfig com es mostra a continuació.

~$ ifconfig -a | grep eth
eth0 Link encap:Ethernet HWaddr e0:cb:4e:b5:7c:8b

Una altra aplicació que pot ajudar a identificar totes les interfícies de xarxa disponibles per al seu sistema és la comanda lshw. En el següent exemple, lshw mostra una única interfície Ethernet amb el nom lògic de eth0, juntament amb la informació del bus, les dades del driver i totes les capacitats suportades.

~$ sudo lshw -class network
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:01:00.0
logical name: eth0
version: 02
serial: e0:cb:4e:b5:7c:8b
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=192.168.1.2 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:42 ioport:e800(size=256) memory:fdfff000-fdffffff memory:fdfe0000-fdfeffff memory:febf0000-febfffff

Ethernet Interface noms lògics

Noms lògics de la interfície es configuren al fitxer /etc/udev/rules.d/70-persistent-net.rules. Si voleu que rebi un nom lògic concret, cerquem la línia que coincideixi amb les interfícies de direcció MAC física i modifiquem el valor NAME="ethx" al nom lògic desitjat. Reinicieu el sistema per confirmar els canvis.

Configuració del Ethernet Interface

Ethtool és un programa que mostra i canvia la configuració de la targeta Ethernet, com ara la velocitat d'auto negociació, el port, mode dúplex i Wake-on-LAN. No s'instal·la per defecte, però està disponible als dipòsits.

~$ sudo apt-get install ethtool

El següent és un exemple de com veure les funcions compatibles i opcions configurades d'una interfície Ethernet.

~$ sudo ethtool eth0

Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x000000ff (255)
Link detected: yes

 Els canvis realitzats amb la comanda ethtool són temporals i es perdran després d'un reinici. Si vols conservar la configuració, només ha d'afegir la comanda ethtool desitjada per al document preliminar a l'arxiu de configuració d'interfície /etc/network/interfaces.

El següent és un exemple de com la interfície identificada com eth0 pot ser configurat de manera permanent amb una velocitat de port de 1000Mb/s s'executa en mode full duplex.

auto eth0
iface eth0 inet static
pre-up /sbin/ethtool -s eth0 speed 1000 duplex full

Encara que l'exemple anterior mostra la interfície configurada per utilitzar el mètode estàtic, en realitat treballa amb altres mètodes, així com DHCP. L'exemple està destinat a demostrar només la col·locació correcta de la instrucció de pre-up amb la resta de la configuració de la interfície.

Direccionament IP

La següent secció descriu el procés de configuració de la seua adreça IP i la porta d'enllaç per defecte del sistema, necessaris per a la comunicació en una xarxa d'àrea local i Internet.

Assignació d'adreces IP temporals

Per les configuracions temporals de la xarxa, pot utilitzar les ordres estàndard com ip, ifconfig i route, que també es troben en la majoria d'altres sistemes operatius GNU/Linux. Aquestes ordres li permeten configurar els paràmetres que entraran en vigor immediatament, però, no són persistents i es perdran després d'un reinici.

Per configurar temporalment una adreça IP, podeu utilitzar la comanda ifconfig de la següent manera. Només modifique l'adreça IP i la màscara de subxarxa per satisfer les seues necessitats de xarxa.

~$ sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0

Per verificar la configuració de l'adreça IP de eth0, pot utilitzar la comanda ifconfig de la següent manera.

~$ ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0
TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB)
Interrupt:16

Per configurar una passarel·la predeterminada, podeu utilitzar l'ordre route de la següent manera. Modificar l'adreça de passarel·la predeterminada per satisfer les seves necessitats de xarxa.

~$ sudo route add default gw 10.0.0.1 eth0

Per comprovar la configuració de la passarel·la predeterminada, podeu utilitzar la comanda route de la següent manera.

~$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags   Metric  Ref    Use  Iface
10.0.0.0        0.0.0.0          255.255.255.0        U         1          0         0       eth0
0.0.0.0          10.0.0.1        0.0.0.0                      UG      0          0         0       eth0

Si vosté requereix DNS per a la configuració de xarxa temporal, pot afegir adreces IP del servidor DNS al fitxer /etc/resolv.conf. El següent exemple mostra com introduir dos servidors DNS a /etc/resolv.conf, que s'ha de canviar als servidors adequats per a la seua xarxa.

nameserver 8.8.8.8
nameserver 8.8.4.4

Si ja no necessita aquesta configuració i desitja purgar tota la configuració IP d'una interfaz, pot utilitzar el comando ip amb l'opció flush com es mostra a continuació.

~$ ip addr flush eth0

El purgat de la configuració d'IP mitjançant la comanda ip no esborra el contingut de /etc/resolv.conf. Cal eliminar o modificar les entrades de forma manual.

Adreça IP Assignació dinàmica (Client DHCP)

Per configurar el servidor per utilitzar DHCP per a l'assignació dinàmica d'adreces, afegiu el mètode dhcp al compte de la família d'adreces inet per a la interfície corresponent al fitxer /etc/network/interfaces. L'exemple següent se suposa que s'està configurant la seua primera interfície Ethernet identificada com eth0.

auto eth0
iface eth0 inet dhcp

Mitjançant l'addició d'una configuració d'interfície com es mostra a dalt, pot activar manualment la interfície mitjançant la comanda ifup que inicia el procés fent servir el DHCP dhclient.

~$ sudo ifup eth0

 Per desactivar manualment la interfície, pot utilitzar la comanda ifdown, que al seu torn iniciar el procés d'alliberament DHCP i apaga la interfície.

~$ sudo ifdown eth0

Assignació d'adreces IP estàtiques

Per configurar el vostre sistema per utilitzar una assignació d'adreça IP estàtica, afegiu el mètode estàtic al compte de la família d'adreces inet per a la interfície corresponent al fitxer /etc/network/interfaces. L'exemple següent se suposa que s'està configurant la seua primera interfície Ethernet identificada com eth0. Canviar l'adreça, màscara de xarxa, porta d'enllaç i els valors per satisfer les necessitats de la seua xarxa.

auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1

Mitjançant l'addició d'una configuració d'interfície com es mostra a dalt, pot activar manualment la interfície mitjançant la comanda ifup.

~$ sudo ifup eth0

Per desactivar manualment la interfície, pot utilitzar la comanda ifdown.

~$ sudo ifdown eth0

 Loopback Interfaces

La interfície de bucle invertit (Loopback) està identificat pel sistema com lo i té una adreça IP per defecte 127.0.0.1. Es pot veure amb la comanda ifconfig.

~$ ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2718 errors:0 dropped:0 overruns:0 frame:0
TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB)

 Per defecte, no ha d'haver-hi dues línies a /etc/network/interfaces responsables de configurar la interfície de bucle invertit (Loopback Interfaces). Es recomana que vosté mantinga la configuració per defecte a no ser que tinga un propòsit específic per canviar-los. Un exemple de les dues línies per defecte es mostren a sota.

auto lo
iface lo inet loopback

Resolució de noms

La resolució de noms i la seua relació amb les xarxes IP, és el procés d'assignació d'adreces IP a noms de host, el que facilita la identificació de recursos en una xarxa. La següent secció explicarà com configurar correctament el sistema per a la resolució de noms mitjançant DNS i els registres de noms de host estàtics.

Configuració del client DNS

Tradicionalment, l'arxiu /etc/resolv.conf és un fitxer de configuració estàtica que poques vegades necessita ser canviat o modificat i ho fa mitjançant el client DHCP automàticament. Avui en dia, un equip pot canviar d'una xarxa a una altra amb molta freqüència i el marc resolvconf està sent utilitzat per al seguiment d'aquests canvis i actualitzar la configuració de la resolució de forma automàtica. Actua com a intermediari entre els programes que subministren la informació del servidor de noms i les aplicacions que necessiten aquesta informació. Resolvconf s'omple amb la informació d'un conjunt de scripts relacionats amb la configuració de la interfície de xarxa.

La diferència més notable per a l'usuari és que qualsevol canvi es fa manualment a /etc/resolv.conf perdrà, ja que sobreescriu cada vegada que alguna cosa desencadena resolvconf. En el seu lloc, utilitza ganxos resolvconf client DHCP, i /etc/network/interfaces per generar una llista de servidors de noms i dominis per posar a /etc/resolv.conf, que ara és un enllaç simbòlic:

/etc/resolv.conf -> ../run/resolvconf/resolv.conf

Per configurar la resolució, afegiu les adreces IP dels servidors de noms que siguen apropiats per a la seua xarxa al fitxer /etc/network/interfaces. També podeu afegir un sufix DNS opcionals de recerca llistes per a què coincidisca amb els seus noms de domini de la xarxa. Per a cada una altra opció de configuració resolv.conf vàlida, pot incloure, en l'estrofa, una línia que comença amb aquest nom de l'opció amb un prefix dns. L'arxiu resultant pot ser similar al següent:

iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10

L'opció de cerca també es pot utilitzar amb diversos noms de domini perquè les consultes DNS s'annexaran en l'ordre en què s'introdueixen. Per exemple, la seua xarxa pot tindre múltiples sub-dominis de recerca, un domini principal, example.com, i dos sub-dominis, sales.example.com i dev.example.com.
Si té diversos dominis que voleu cercar, la configuració podria ser com la següent:

iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com sales.example.com dev.example.com
dns-nameservers 192.168.3.45 192.168.8.10

 Si voleu fer ping a un host amb el nom server1, el sistema consultara automàticament DNS per al seu nom de domini complet (FQDN) en el següent ordre:

1. server1.example.com
2. server1.sales.example.com
3. server1.dev.example.com

Si no es troben coincidències, el servidor DNS proporcionarà un resultat de notfound i la consulta DNS fallarà.

Noms de host estàtics

Els noms de host estàtics es defineixen localment 'hostname' a IP assignacions que es troben a l'arxiu /etc/hosts. Les entrades de l'arxiu hosts tindran prioritat sobre els DNS per defecte. Això vol dir que si el sistema intenta resoldre un nom de host i que coincideix amb una entrada a /etc/hosts, no tractarà de buscar el registre en DNS. En algunes configuracions, sobretot quan no es requereix accés a Internet, els servidors que es comuniquen amb un nombre limitat de recursos poden ser convenientment ajustats per utilitzar noms d'amfitrió estàtics en lloc de DNS.
El següent és un exemple d'un arxiu de hosts on un nombre de servidors locals han estat identificats pels noms de host simples, àlies i els seus equivalents noms de domini complets de (FQDN).

127.0.0.1 localhost
1127.0.1.1 ubuntu-server
110.0.0.11 server1 vpn server1.example.com
110.0.0.12 server2 mail server2.example.com
110.0.0.13 server3 www server3.example.com
110.0.0.14 server4 file server4.example.com

 En l'exemple anterior, observe que cadascun dels servidors se'ls ha donat els àlies, a més dels seus noms propis i FQDN. Servidor1 s'ha mapejat el nom de VPN, servidor 2 es coneix com a correu, server3 com www i server4 com arxiu.

El servei de noms de configuració del switch

L'ordre en el qual el sistema selecciona un mètode de resolució de noms de host a adreces IP és controlat pel Name Service Switch (NSS) fitxer de configuració /etc/nsswitch.conf. Com es va esmentar en la secció anterior, en general els noms de host estàtics definits en els sistemes de fitxers /etc/hosts tenen prioritat sobre els noms resolts des del DNS. El següent és un exemple de la línia responsable d'aquesta ordre de les recerques de nom de host al fitxer /etc/nsswitch.conf.

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4_minimal

1.  files primer intenta resoldre els noms de host estàtics situats a /etc/hosts.
2. mdns4_minimal intenta resoldre el nom utilitzant Multicast DNS.
3. [NOTFOUND=return] vol dir que qualsevol resposta d'notfound pel procés mdns4_minimal precedent ha de ser tractat com autoritari i que el sistema no ha de tractar de seguir caçant la resposta.
4. dns representa una consulta DNS unicast llegat.
5. mdns4 representa una consulta DNS de multidifusió.

Per modificar l'ordre dels mètodes de resolució de noms abans esmentats, només ha de canviar els amfitrions: cadena en el valor de la seva elecció. Per exemple, si vostè prefereix utilitzar llegat Unicast Multicast DNS davant DNS, pot canviar la cadena a /etc/nsswitch.conf, com es mostra a continuació.

hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4_minimal

Bridging

Múltiples interfícies és més una configuració avançada, però és útil en múltiples escenaris. Un escenari és la creació d'un pont amb diverses interfícies de xarxa, a continuació, utilitzant una rèplica de seguretat per filtrar el tràfic entre dos segments de xarxa. Un altre escenari utilitzeu el pont en un sistema amb una interfície per permetre que les màquines virtuals d'accés directe a la xarxa exterior. El següent exemple es cobreix l'últim escenari. Abans de configurar un pont vosté hi haurà d'instal·lar el paquet bridge-utils. Per instal·lar el paquet, en una terminal escriviu:

~$ sudo apt-get install bridge-utils

 A continuació, configureu el pont editant /etc/network/interfaces:

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
      address 192.168.0.10
      network 192.168.0.0
      netmask 255.255.255.0
      broadcast 192.168.0.255
      gateway 192.168.0.1
      bridge_ports eth0
      bridge_fd 9
      bridge_hello 2
      bridge_maxage 12
      bridge_stp off

 Introduesca els valors apropiats per a la interfície física i de xarxa. Ara reinicieu la xarxa per habilitar la interfície de pont:

sudo service networking restart

 La nova interfície de pont ha d'estar ara en funcionament. El brctl proporciona informació útil sobre l'estat del pont, controla quines interfícies són part del pont, etc. Veure home brctl per a més informació.

 

Fonts:
Official Ubuntu Documentation
Ubuntu Server Guide
Network Configuration

Salut i gaudisquen d'Ubuntu

el roig