Primero vamos a poner en funcionamiento el servidor Linux, cuyo nombre es 'antares.linux.es' y la dirección IP es '192.168.5.1'. Para instalar la tarjeta de red debemos indicarle a ésta, la dirección de E/S y la IRQ que debe coger. Si tiene jumpers, se lo haremos saber a través de estos. En el caso de que la tarjeta no tenga jumpers seguro que tendrá un disco donde encontraremos un ejecutable que nos permite modificar esos parámetros. Es aconsejable que la tarjeta no sea Plug 'n' Play para facilitar el proceso de instalación. En caso de que sea Plug 'n' Play utilizaremos la utilidad 'isapnptools'. Si es posible deshabilitar el Plug 'n' Play de la tarjeta, se recomienda hacerlo.
Una vez pinchada y configurada la tarjeta, le tendremos que decir a Linux la configuración de la tarjeta de red.
(Red Hat)
Para ello pondremos esos datos en el fichero
/etc/conf.modules
. En mi caso, la tarjeta está en la IRQ 5 y
dirección de E/S 0x340:
alias eth0 ne
options ne io=0x340 irq=5
(Debian)
Haremos uso de la utilidad modconf
que nos
permite de forma fácil y rápida añadir y/o eliminar módulos del
sistema. Le indicaremos también la dirección de E/S y la IRQ.
(Común) Probamos a ver si hemos configurado bien la tarjeta y Linux la reconoce:
$ modprobe ne
Si tenemos una salida como esta, es que todo ha ido bien:
loading device 'eth0'...
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x340: 00 00 b4 82 fe 43
eth0: NE2000 found at 0x340, using IRQ 5.
loading device 'eth1'...
Ahora tendremos que ligar una dirección IP a la tarjeta de red, que será el interface eth0.
(Red Hat)
Para eso nos iremos al directorio
/etc/sysconfig/network-scripts
. Debe haber aquí un fichero
llamado ifcfg-eth0
con un contenido como el siguiente:
DEVICE=eth0
IPADDR=192.168.5.1
NETMASK=255.255.255.0
NETWORK=192.168.5.0
BROADCAST=192.168.5.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
Si no esté ese fichero, pues lo creamos. La verdad es que lo más normal es que no esté, a no ser que lo hayamos creado con el Panel de Control que trae la Red Hat. Es un simple fichero de texto.
También hay que mirar en fichero /etc/sysconfig/network
,
donde se indica la dirección de Gateway:
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=antares.linux.es
DOMAINNAME=linux.es
GATEWAY=
GATEWAYDEV=
Si tenemos puesta la dirección de una máquina inexistente, nos puede
dar problemas. De hecho, si ejecutamos la orden route
, se
quedará buscando esa dirección durante mucho tiempo. Habrá que matar
el proceso con CTRL+C
. También, en caso de estar conectados a
Internet, no encontrará ninguna dirección exterior a nuestra red local.
En la Red Hat 5.2 me da este mensaje al activar el interfaz eth0
:
SIOCADDRT: Invalid argument
pero funciona perfectamente. Eso es debido a que hemos especificado
una dirección de Gateway inválida, como 0.0.0.0
. Si lo
dejamos en blanco, como en el ejemplo anterior, todo irá bien.
También en ese fichero se especifica el nombre de la máquina, que en
este caso es antares.linux.es
, pero ya lo veremos más adelante.
Para que se actualize esta información en el sistema ejecutaremos:
$ ifup eth0
(Debian)
En el fichero /etc/init.d/network
se encuentran los
parámetros de configuración de la red:
#! /bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=192.168.5.1
NETMASK=255.255.255.0
NETWORK=192.168.5.0
BROADCAST=192.168.5.255
GATEWAY=
ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
route add -net ${NETWORK}
[ "${GATEWAY}" ] && route add default gw ${GATEWAY} metric 1
Como se puede ver, se trata de un script, por lo que para que se actualize esta información en el sistema ejecutaremos:
$ /etc/init.d/network
(Común) Aquí enlazamos el interfaz eth0 con la dirección IP 192.168.5.1, por lo que nuestra máquina tendrá esa dirección IP asociada. Estos son los datos de la máquina 'antares.linux.es'. Para ver si todo ha ido bien, ponemos:
$ ifconfig
Y nos debe salir algo como esto:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:138 errors:0 dropped:0 overruns:0
TX packets:138 errors:0 dropped:0 overruns:0
eth0 Link encap:Ethernet HWaddr 00:00:B4:82:FE:43
inet addr:192.168.5.1 Bcast:192.168.5.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:55 errors:0 dropped:0 overruns:0
TX packets:61 errors:0 dropped:0 overruns:0
Interrupt:5 Base address:0x340
También podemos ver si la tabla de enrutamiento se ha actualizado:
$ route
Y debe mostrar algo como esto:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.5.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 3 lo
Por último haremos un ping a la dirección 192.168.5.1 para ver si responde:
$ ping 192.168.5.1
Cuya salida debe ser (hay que pulsar CTRL+C para que acabe):
PING 192.168.5.1 (192.168.5.1): 56 data bytes
64 bytes from 192.168.5.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 192.168.5.1: icmp_seq=1 ttl=64 time=0.1 ms
64 bytes from 192.168.5.1: icmp_seq=2 ttl=64 time=0.1 ms
--- 192.168.5.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
Pero sería mejor llamar a nuestra máquina por su nombre, de modo que
editamos el fichero /etc/hosts
para que quede de esta manera
(las columnas van separadas por tabulaciones):
127.0.0.1 localhost localhost.localdomain
192.168.5.1 antares.linux.es antares
192.168.5.2 aldebaran.linux.es aldebaran
192.168.5.3 rigel.linux.es rigel
En la primera columna va la dirección IP de la máquina, en la segunda el nombre completo (FQDN), y en la tercera un apodo o sinónimo. Como habrás comprobado, ya he añadido los demás nombres de las máquinas de la red con su correspondiente IP. Pero hasta que no hayas configurado la tarjeta de red en las demás máquinas, no funcionarán.
También es buena idea que el contenido del fichero
/etc/host.conf
sea:
# Primero resuelve los nombres por el fichero /etc/hosts, y luego por
# el servidor DNS.
order hosts,bind
# Permite múltiples direcciones.
multi on
Ahora, en vez de localizar nuestra máquina por su dirección IP (192.168.5.1), la podremos localizar por el nombre. Si hacemos un ping sobre 'antares.linux.es', también debe funcionar:
$ ping antares.linux.es
(Red Hat)
En /etc/sysconfig/network
pondremos el nombre de la máquina y
el dominio. El dominio es la última parte del nombre de la máquina. En
este caso le hemos puesto a esta máquina el nombre de
antares.linux.es y por tanto, el dominio será linux.es.
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=antares.linux.es
DOMAINNAME=linux.es
GATEWAY=
GATEWAYDEV=
(Debian)
El nombre de la máquina se cambia en el fichero
/etc/hostname
. Una vez que hayamos modificado ese fichero,
podemos actualizar el nombre de la máquina con:
$ hostname --file /etc/hostname
Para cambiar el nombre del dominio es muy curioso. Verás, en el
fichero /etc/hosts
están los nombres de los equipos junto con
su dirección IP. Pues si cambias el dominio del FQDN de la máquina, ya
se cambia sólo. Es un poco raro, ya lo sé. Vamos con un ejemplo:
# Fichero /etc/hosts
127.0.0.1 localhost localhost.localdomain
192.168.0.1 hola.saludo.es hola
192.168.0.2 killo.saludo.es killo
/etc/hosts
de dicha máquina. Y
por consiguiente también deberíamos cambiarlo en todas las demás
máquinas. También sería más normal cambiar el dominio de todas las
máquinas de la red. Supongo que compredeis lo que quiero decir.(Común) Como es una red simple aislada, no hay máquinas que actúan como pasarelas (gateway). Una pasarela sirve para comunicar dos redes. Con esto conseguimos que la próxima vez que se reinicie la máquina, se acuerde del nombre. Para ponerlo nosotros ahora haremos:
$ hostname antares.linux.es
Si ejecutamos esos dos programas sin parámetros, nos devolverán el nombre de la máquina y el del dominio, respectivamente.
Ahora va lo del /etc/resolv.conf
:
# Nuestro dominio.
domain linux.es
# Dirección del servidor de nombres a usar (DNS).
nameserver 194.179.52.2
Si el fichero está vacío, se considera que el servidor de nombres está en la máquina local. La dirección IP del servidor de nombre debería ser la DNS primaria de nuestro servidor de Internet en caso de que tengamos acceso a la Red.
La configuración de la máquina cliente con Linux se hace de forma análoga a como lo hicimos con el servidor Linux. La diferencia radica en que en el servidor instalaremos los servicios, como la base datos o el servidor de HTTP y en el cliente no lo haremos.
La primera vez que inciemos Windows después de pinchar la tarjeta de
red la reconocerá automáticamente, lo que no quiere decir que lo haga
bien, ya que en mi caso le asignaba una IRQ distinta a la que estaba
configurada la tarjeta. Para cambiar tanto la IRQ como la dirección de
E/S vamos al "Panel de Control"
y al icono de
"Red"
. Vemos las
propiedades de la tarjeta de red y si no están bien, las
cambiamos. Para comprobar si funciona podemos hacer un ping a otro
equipo de la red:
c:\>ping 192.168.5.1
Para asignar una dirección IP a nuestro equipo vamos también al "Panel
de Control"
y al icono de "Red"
. Miramos
las propiedades del protocolo TCP/IP. Si hay más de uno,
elegimos el que esté asociado a la tarjeta de red. En
la solapa de "Dirección IP"
, marcamos lo de "Especificar
una dirección IP"
y en "Dirección IP"
ponemos 192.168.5.3, y
en "Máscara de subred"
ponemos 255.255.255.0. Y ya que estamos,
antes de reiniciar el equipo le vamos a poner un nombre.
En el diálogo de Red vamos a la solapa de Identificación.
En "Nombre del PC"
ponemos RIGEL, en "Grupo de
trabajo"
ponemos
GRUPO y en "Descripción del PC"
escribimos lo que nos de la
gana. También vamos a compartir un directorio (perdón, carpeta)
y una impresora.
En la solapa "Configuración"
pulsamos el botón "Compartir impresoras y archivos"
, y marcamos las casillas
correspondientes. Creamos un directorio en el raiz llamado
"COMPARTIDO". Para compartirlo pulsamos con el botón derecho sobre el
directorio en cuestión y seleccionamos la opción "Compartir"
.
Para que podamos localizar las máquinas por su nombre, en el fichero
c:\windows\hosts
ponemos:
127.0.0.1 localhost
192.168.5.1 antares.linux.es antares
192.168.5.2 aldebaran.linux.es aldebaran
192.168.5.3 rigel.linux.es rigel
Haremos un ping para comprobar la accesibilidad de las máquinas:
C:\>ping aldebaran.linux.es
Pinging aldebaran.linux.es [192.168.5.2] with 32 bytes of data:
Reply from 192.168.5.2: bytes=32 time=1ms TTL=64
Reply from 192.168.5.2: bytes=32 time=1ms TTL=64
Reply from 192.168.5.2: bytes=32 time=1ms TTL=64
Reply from 192.168.5.2: bytes=32 time=1ms TTL=64
Y eso lo deberíamos hacer para todas las demás.