Linux From Scratch XXVII: Configurando la red

En mi anterior artículo he dejado listo el sistema Linux From Scratch para empezar a configurarlo. Empezaremos en este post con la configuración de la red.

Configurando las tarjetas de red

El primer paso es averiguar los nombres de los dispositivos de red. Al arrancar, los drivers se cargan en paralelo para que la carga sea más rápida. Eso hace que no carguen siempre en el mismo orden y, como van asignando nombres a los dispositivos según los encuentran, los nombres de los dispositivos no siempre son los mismos. Esto es un problema a la hora de configurarlos, ya que no sabremos qué nombre tenemos que usar.

Por suerte, udev permite asignar nombres a los dispositivos de forma determinista. Esto se hace a través de una serie de reglas que se guardan en /etc/udev/rules.d. Al instalar udev, habrá creado en ese directorio un fichero llamado 70-persistent-net.rules con una configuración por defecto en función de los dispositivos de red que haya autodetectado. Mirando ese fichero podemos saber qué dispositivos de red tenemos con su MAC y su nombre.

[~/lfs]$ sudo lfs
root:/# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device r8169
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:40:f2:68:b1:74", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# net device rt2800pci
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:b7:0d:87:b3:26", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
root:/#

La mayoría de las lineas son comentarios, pero en las que no lo son podemos ver la MAC de cada tarjeta de red, que es la que aparece en el atributo ATTR{address} y el nombre de dispositivo que udev le ha asignado, que es el que aparece en NAME. Este nombre es el que tendrémos que usar en los ficheros de configuración, así que lo mejor es tomar nota de él.

Si sólo tenéis una tarjeta de red, todo esto es mucho más fácil, pero si tenéis varias no os fiéis de que los nombres coincidan con los que tienen en vuestra máquina real, porque no tiene por qué ser así. El orden en el que vuestra máquina ha asignado nombres a los dispositivos no tiene por qué coincidir con el orden en el que los ha encontrado el script de configuración de udev.

Una vez que sepamos los nombres, podemos crear el fichero de configuración para las tarjetas de red. La forma de hacerlo es crear en el directorio /etc/sysconfig un fichero por cada dispositivo que queramos configurar, cuyo nombre empiece por “ifconfig.” seguido del nombre del dispositivo a configurar. En mi caso sólo voy a configurar eth0.

OJO: Los valores que voy a poner en estos ficheros de configuración son adecuados para mi equipo y mi red. En vuestro caso seguramente serán distintos. Tenéis que poner los que correspondan a vuestra configuración. Antes de lanzar los comandos, leed el resto del artículo.

root:/# cd /etc/sysconfig/
root:/etc/sysconfig# cat > ifconfig.eth0 << "EOF"
> ONBOOT=yes
> IFACE=eth0
> SERVICE=ipv4-static
> IP=192.168.1.3
> GATEWAY=192.168.1.1
> PREFIX=24
> BROADCAST=192.168.1.255
> EOF

La linea “ONBOOT=yes” sirve para que los scripts de arranque configuren esta tarjeta de red al arrancar, poniendo “no” aquí omitiremos la configuración de este dispositivo sin tener que borrar el fichero de configuración. La línea IFACE tiene que coincidir con el nombre del dispositivo. El mismo que aparece en el nombre del fichero. SERVICE sirve para especificar el tipo de configuración. De momento dejaremos “ipv4-static“. Más adelante podremos configurar la red por DHCP, pero de momento vamos a poner IP fija, así que aseguráos de poner una IP que esté libre en vuestra red.

Las lineas importantes son IP, que indica la dirección IP de la tarjeta de red, GATEWAY, que es la dirección IP del router y BROADCAST, que es la dirección de broadcast. Tened en cuenta que los tres primeros números de cada uno de estos valores siempre tienen que coincidir (a menos que estéis haciendo subnetting o estéis en una empresa cuyas direcciones no sean de clase C) y que la dirección de broadcast siempre termina en 255.

Por último, la linea PREFIX indica cuántos bits de la dirección IP se usan para la parte de red. Sirve para crear la máscara de red y normalmente va a valer 24 a no ser que estéis haciendo subnetting (dividir la red en varias redes más pequeñas) o que tengáis una red que no sea de clase C, cosa que me extrañaría mucho a no ser que estéis en una empresa grande.

Configurando los servidores de nombres

El siguiente paso es crear el fichero de configuración que indica qué servidores de nombres va a usar nuestro sistema. El fichero es /etc/resolv.conf y, como antes, su contenido depende de nuestra configuración, así que tenéis que adaptarlo a vuestro caso.

root:/etc/sysconfig# cat > /etc/resolv.conf << "EOF"
> # Begin /etc/resolv.conf
> 
> domain localdomain
> nameserver 109.69.8.34
> nameserver 92.243.8.139
> 
> # End /etc/resolv.conf
> EOF

La linea domain tiene que tener el nombre de dominio en el que están todas las máquinas de vuestra red. Si vuestra red no tiene nombre de dominio o no sabéis qué es eso, esta linea se puede omitir. Las IP pueden ser las de cualquier servidor de nombres a los que tengáis acceso y queráis usar. Por ejemplo, podéis usar los DNS de vuestro ISP. Para averiguar los que tenéis puestos en vuestro sistema principal, podéis hacer un cat /etc/resolv.conf y usar los mismos. Se pueden poner tantas lineas nameserver como se quiera, aunque es recomendable poner más de una.

También podéis usar unos DNS más generales que eviten que las peticiones pasen por vuestro ISP y así ganáis más privacidad. Los más conocidos son OpenDNS, aunque yo prefiero OpenNIC. El libro usa los DNS de Google, pero yo no estoy de acuerdo con esa recomendación. Creo que Google ya tiene suficiente información nuestra como para darle más. De todos modos, cada uno puede poner los que prefiera.

Otra opción es poner una sóla linea nameserver con la IP de vuestro router y dejar que él envie las peticiones a los DNS que tenga configurados, que serán los de vuestro ISP, si no lo habéis cambiado.

Configurando el /etc/hosts

El último fichero de configuración relacionado con la red que vamos a crear es /etc/hosts. Este fichero permite hacer resolución de nombres local. Normalmente, sólo se usa para resolver las IP de nuestra propia máquina. Vamos a ver lo que le he puesto yo. De nuevo, vosotros tendréis que adaptarlo a vuestro caso.

root:/etc/sysconfig# cat > /etc/hosts << "EOF"
> # Begin /etc/hosts (network card version)
> 
> 127.0.0.1 localhost
> 192.168.1.3 gallifrey.localdomain
> 
> # End /etc/hosts (network card version)
> EOF

Aquí la linea importante es la que empieza por “192.168.1.3“. En ella tenéis que poner la dirección IP que habéis asignado a vuestra tarjeta de red seguida del nombre de host que queráis ponerle a vuestra máquina cuando esté funcionando bajo LFS. La IP es la misma que habéis puesto en el ifconfig.eth0. El nombre de host puede ser el que queráis. Yo he elegido gallifrey. Acordáos de añadirle también el nombre de dominio, que es el mismo que habéis puesto en el resolv.conf. Si no habéis puesto ninguno en el resolv.conf, podéis dejarlo en localdomain o cualquier otra cosa.

Hasta aquí la configuración de la red. En el próximo post, le toca el turno a la gestión de dispositivos.

EOF

Anuncios