Verificación del hardware
Para verificar la detección del harware Ethenet podemos hacer:
lspci | grep Ethernet
Ejemplo:
# lspci | grep Eth
02:02.0 Ethernet controller: Intel Corporation PRO/10GbE SR Server Adapter (rev 02)
04:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)
05:05.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
#
Nos saldrá un listado con las tarjetas Ethernet detectadas. Lo más normal es que en la instalación del S.O. se hayan instalado automáticamente los drivers. Lo debemos verificar en el archivo:
/etc/modprobe.conf
el cual debe incluir entradas como en:
# cat /etc/modprobe.conf
alias eth0 e1000
alias eth1 e1000
alias eth2 ixgb
alias scsi_hostadapter ata_piix
alias eth1.1 e1000
alias eth1.2 e1000
#
Si es necesario editaremos este archivo incluyendo nuestro driver correspondiente. La lista de módulos existentes en el sistema se puede localizar en:
/lib/modules/[kernel version]/kernel/drivers/net/
Por ejemplo:
# ls /lib/modules/2.6.18-8.el5/kernel/drivers/net/
3c59x.ko chelsio mii.ko ppp_deflate.ko skge.ko tokenring
8139cp.ko dl2k.ko myri10ge ppp_generic.ko sky2.ko tulip
8139too.ko dummy.ko natsemi.ko ppp_mppe.ko slhc.ko tun.ko
8390.ko e1000 ne2k-pci.ko pppoe.ko slip.ko typhoon.ko
acenic.ko e100.ko netconsole.ko pppox.ko starfire.ko via-rhine.ko
amd8111e.ko epic100.ko ns83820.ko ppp_synctty.ko sungem.ko via-velocity.ko
b44.ko fealnx.ko pcmcia r8169.ko sungem_phy.ko wireless
bnx2.ko forcedeth.ko pcnet32.ko s2io.ko sunhme.ko
bonding ifb.ko phy sis190.ko tg3.ko
cassini.ko ixgb ppp_async.ko sis900.ko tlan.ko
#
Si editamos el archivo /etc/modprobe.conf será necesario ejecutar después depmod para actualizar las dependencias entre módulos.
Para más información consultar los man de modconf.conf y depmon.
Nombre del quipo
En el archivo /etc/hosts se encuentran los mapeos locales entre IP y un nombre asociado.
$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
$
En el archivo /etc/sysconfig/network especifica información general sobre la configuración de red.
Ejemplo:
$ cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
$
Las opciones son:
NETWORKING=yes/no, habilta o dedabilita la red por defecto
HOSTNAME=nombre, nombre del sistema en formato FQDN (nombre de dominio cualificado), pero puede contener cualquier nombre de máquina que se desees. (Para compatibilidad con antiguas versiones el archivo /etc/hostname debe contener el mismo valor aquí descrito).
FORWARD_IPV4=yes/no, habilita el forwarding o reenvío IP para IPV4 (unualmente no por defecto para compatibilidad con las RFC). En las nuevas versiones de Red Hat con núcleo 6.2 este parámetro se especifica en el archivo /etc/sysctl.conf en lugar de aquí.
GATEWAY=gw-ip, especifica el gateway por defecto en la red.
GATEWAYDEV=gw-dev, especifica el dispositivo por defecto de red (típicamente eth0).
NISDOMAIN=dom-name, especifica el nombre del dominio NIS.
Configuración de interfaces
En sistemas basados en Red Hat cada interfaz posee in archivo de configuración, cuyo nombre sigue la forma:
/etc/sysconfig/network-scripts/ifcfg-[interfaz]
Ejemplo:
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82573E Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:15:17:58:78:1B
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.222
GATEWAY=192.168.0.1
$
El archivo /etc/resolv.conf
En este archivo se configuran los revolvedores (servidores DNS) de nombres del sistema.
Ejemplo:
$ cat /etc/resolv.conf
search mshome.net nameserver 192.168.0.1
nameserver 192.168.3.15
nameserver 194.179.1.100
nameserver 194.179.1.101
$
El archivo contiene una lista de palabras claves con valores que proporcionan varios tipos de información sobre los revolvedores disponibles.
Las opciones de configuración son:
nameverver Es la dirección IP del servidor DNS. Un máximo de tres entradas pueden ser definidas (dado por MAXNS en resolv.h), una por palabra clave. Si hay más de un servidor las consultas se harán en el orden listado.
El algoritmo usado es consultar al primer servidor DNS y si hay timeout consultar el siguiente hasta llegar al último, entonces se repite el proceso hasta que un número máximo de intentos es alcanzado.
Si no hay entradas nameserver por defecto se usa el servidor de nombres de la máquina local.
domain Es el nombre del dominio local. La mayoría de las consultas DNS para el dominio local se suelen hacer usando el nombre corto (no el FQDN). Si no se indica la opción domain, el dominio es determinado por el nombre de host local devuelto por la función gethostname(). La parte del nombre de dominio se toma para ser siempre después de punto “.” Si el hostname no contiene la parte del nombre de dominio, se asume el dominio root.
Rutas de red
Como se ha visto el default gateway para interfaz se define en la configuración IP de cada interfaz. Además es posible añadir rutas específicas como si de un router se tratara. Esto se especifica en los archivos de la forma:
/etc/sysconfig/network-scripts/route-[interfaz]
Ejemplo:
$ cat /etc/sysconfig/network-scripts/route-eth1
GATEWAY0=192.168.220.1
NETMASK0=255.255.0.0
ADDRESS0=172.25.0.0
GATEWAY1=192.168.220.1
NETMASK1=255.255.255.0
ADDRESS1=192.168.3.0
GATEWAY2=192.168.220.1
NETMASK2=255.255.224.0
ADDRESS2=192.168.96.0
$
Como se aprecia cada encaminamiento está definido por tres entradas:
GATEWAY router destino para la red especificada
NETMASK máscara de la red a alcanzar
ADDRESS dirección de la red a alcanzar
Así por ejemplo al grupo:
GATEWAY0=192.168.220.1
NETMASK0=255.255.0.0
ADDRESS0=172.25.0.0
equivaldría a una instrucción tipo Cisco como la siguiente:
ip route 172.25.0.0 255.255.0.0 192.168.220.1
o a un típico orden route de Linux:
# route add -net 172.25.0.0/16 gw 192.168.220.1
Direcciones IP virtuales
Se pueden crear subinterfaces virtuales Ethernet con su propio direccionamiento IP. Para ello simplemente se crean archivos con la forma:
/etc/sysconfig/network-scripts/ifcfg-[interfaz]:[subinterfaz]
incluyendo su nombre de dispositivo e información de direccionameinto IP.
Ejemplo: el archivo /etc/sysconfig/network-scripts/ifcfg-eth0:0 podría contener:
DEVICE=eth0:0
IPADDR=192.168.2.254
NETMASK=255.255.255.00
La función Zeroconf.
Zeroconf (Zero Configuration Networking o Automatic Private IP Addressing (APIPA)) es una funcionalidad que crea una dirección IP válida en un interfaz lo cual permite que usuarios sin ningún conocimiento de direccionamiento IP puedan interconectar ordenadores y otros dispositivos entre sí.
Con Zeroconf aparecerá una ruta hacia la red 169.254.0.0.
Para desactivar Zeroconf añadimos la línea:
NOZEROCONF=yes
al archivo /etc/sysconfig/network.
A priori no es recomendable desactivarlo porque hay aplicaciones que la necesitan para funcionar correctamente como algunas utilidades gráficas y ciertos demonios.
Más información sobre Zeroconf en:
http://www.zeroconf.org/
http://en.wikipedia.org/wiki/Zeroconf
Desacativar IPV6
Para desactivar IPV6 editamos el archivo
/etc/modprobe.conf
y añadimos:
alias ipv6 off
alias net-pf-10 off
Archivos de configuración del Network Administration Tool
Los sistemas basados en Red Hat incorporan una utilidad gráfica llamada Network Administration Tool a la que se accede normalmente desde el menú Administración –> Red tanto en KDE como en Gnome.
Esta utilidad guarda sus propios archivos de configuración en:
/etc/sysconfig/networking/
En concreto los interfaces de red se almacenan en el subdirectorio
/etc/sysconfig/networking/devices
y son similares a los que utiliza el sistema.
Cuando se inicia Network Administration Tool se leen sus propios archivos de configuración, no los que se encuentran en el path network-scripts. Una vez que se hagan las modificaciones oportunas desde Network Administration Tool se guardarán los cambios necesarios tanto en /etc/sysconfig/networking/ como en los archivos del sistema situados en /etc/sysconfig/network-scripts/.
Gestión de la Red
Nos referimos ahora a las operaciones como parar la red o reiniciarla. Por ejemplo tras efectuar un ifconfig hemos cambiado una ip y ello provoca un cambio en el enrutamiento asociado al interfaz. Para volver a tener la situación inicial podemos reiniciar la red, por ejemplo.
Con el script network ubicado en
/etc/init.d/network
Ejemplo:
[root@localhost /]# /etc/init.d/network restart
Interrupción de la interfaz eth0: [ OK ]
Interrupción de la interfaz de loopback: [ OK ]
Activación de la interfaz de loopback: [ OK ]
Activando interfaz eth0:
Determinando la información IP para eth0… hecho. [ OK ]
[root@localhost /]#