lunes, 26 de enero de 2009

Ficheros de configuración de red

La configuración mediante ifconfig y route no se mantiene al apagar el sistema:
  • durante el proceso de arranque la red se inicia mediante la ejecución de scripts del init.d
    • /etc/init.d/networking en Debian
    • /etc/init.d/network en RedHat
  • Estos scripts leen los ficheros de configuración de la red
  • Fichero /etc/network/interfaces en Debian
    auto eth0
    iface eth0 inet static
    address 193.144.84.77
    netmask 255.255.255.0
    network 193.144.84.0
    broadcast 193.144.84.255
    gateway 193.144.84.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 193.144.75.9
    dns-search dec.usc.es
    name Tarjeta de red Ethernet

  • Fichero /etc/sysconfig/network-scripts/ifcfg-ethx en RedHat
      DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=none
    IPADDR=193.144.84.186
    NETMASK=255.255.255.0
    GATEWAY=193.144.84.1
    TYPE=Ethernet

Otros ficheros de configuración

Fichero /etc/resolv.conf

especifica el dominio y los servidores DNS
  • Ejemplo:
    domain dec.usc.es
    search dec.usc.es usc.es
    nameserver 193.144.75.9
    nameserver 193.144.75.12
  • si buscamos por un hostname (sin dominio) le añade dec.usc.es y si no aparece busca por usc.es
  • pueden añadirse hasta tres servidores de DNS

Fichero /etc/hosts

fichero que asocia nombres de hosts con direcciones IP
  • permite consultar una IP sin acceder al DNS
  • Ejemplo de /etc/hosts:
    127.0.0.1     localhost.localdomain localhost
    193.144.84.77 jumilla.dec.usc.es jumilla
  • la consulta es más rápida que acceder al DNS
    • si las IPs cambian la dirección es incorrecta
  • sólo debería aparecer el nodo local y la interfaz de loopback
    • esto permite fijar el nombre y el dominio del sistema
    • en algunas distribuciones (Debian) el nombre también debe ponerse en el fichero /etc/hostname
    • el nombre y el dominio pueden obtenerse mediante los comandos hostname y dnsdomainname

Fichero /etc/networks

fichero de texto que asocia nombres a redes
  • No es imprescindible
  • Ejemplo de /etc/networks
            red1 172.16.1.0
    red2 172.16.2.0

Fichero /etc/host.conf

configura el comportamiento del name resolver
  • indica donde se resuelven primero la dirección o el nombre de un nodo
  • Ejemplo de /etc/host.conf:
            order hosts,bind
    multi on
  • indica que primero se verifiquen las tablas locales (/etc/hosts) y después el DNS
  • multi on indica que se retornen todas las direcciones válidas que se encuentren en /etc/hosts

Fichero /etc/nsswitch.conf

fichero de configuración del Name Service Switch
  • centraliza la información de diferentes servicios para la resolución de nombres
    • indica las acciones a realizar para acceder a las diferentes bases de datos del sistema: hosts, contraseñas, servicios, etc.
    • reemplaza la funcionalidad del archivo host.conf
    • introducido en la versión 2 de la biblioteca GNU
  • Ejemplo de nsswitch.conf
            hosts:          dns files
    networks: files
    • indica que un host se busque primero en el DNS y después en el fichero /etc/hosts, mientras que una red se busca sólo en /etc/networks
  • Es posible controlar el comportamiento por medio de acciones, por ejemplo:
            hosts:          dns [!UNAVAIL=return] files
    networks: files
  • si el estado de salida del DNS es diferente de no disponible no consulta a los ficheros:
    • sólo accede a /etc/hosts si el DNS no está disponible
  • Los valores de estado disponibles son:
    • success la petición se encontró sin errores (acción por defecto return)
    • notfound no error, pero no se encontró el nodo o la red (acción por defecto continue)
    • unavail servicio solicitado no disponible (acción por defecto continue)
    • tryagain servicio no disponible temporalmente (acción por defecto continue)

Fichero /etc/protocols

lista los protocolos que reconoce el sistema operativo
  • Ejemplo de /etc/protocols
    ip      0       IP    # internet protocol, pseudo protocol number
    icmp 1 ICMP # internet control message protocol
    tcp 6 TCP # transmission control protocol
    udp 17 UDP # user datagram protocol
    .....

Fichero /etc/services

relaciona las aplicaciones con sus correspondientes puertos y protocolos básicos
  • Un trozo de /etc/services
    ftp-data        20/tcp   # Datos de ftp
    ftp 21/tcp # Control de ftp
    ssh 22/tcp # SSH por TCP
    ssh 22/udp # SSH por UDP
    telnet 23/tcp # Telnet
    smtp 25/tcp # Correo electrónico