jueves, 17 de noviembre de 2011

Un poco más de la configuración de red en Linux

Sin entrar en detalle de cómo configurar un interfaz de red desde la línea de comandos, ni tampoco explicar la sintaxis y significado de los campos de los archivos de configuración de red (/etc/network/interfaces, /etc/resolv.conf, /etc/hostname, ...), comentaré algunas triquiñuelas sobre la configuración de la red. Triquiñuelas que en alguna ocasión pueden causarnos quebraderos de cabeza, sobre todo cuando el sistema no responde como esperamos. Al tajo!

La siguiente imagen es un ejemplo del archivo de configuración de red /etc/network/interfaces


Independientemente de cómo esté configurada cada interfaz de red, fijémonos en las líneas que aparecen resaltadas:
  • allow-hotplug   eth0
  • auto   eth1
Primer problema... ¿qué significa “allow-hotplug”? Porque lo más normal es que aparezca “auto”. Podríamos traducirlo por “permitir hotplug”... Pero.. ¿qué narices significa “hotplug”? Hago un copia y pega (http://www.escomposlinux.org/lfs-es/lfs-es-6.1/chapter06/hotplug.html):
El paquete Hotplug contiene guiones que reaccionan a eventos hotplug (conexión de dispositivos en caliente) generados por el núcleo. Dichos eventos corresponden a cada cambio en el estado del núcleo visible en el sistema de ficheros sysfs, por ejemplo, la adición o eliminación de hardware.
Por ejemplo, cuando conectas un USB el núcleo detecta que el dispositivo está conectado y genera un evento hotplug para poder utilizarlo.

Bueno, ahora ya conocemos el significado de “hotplug”. Y en nuestro caso “allow-hotplug eth0” en el archivo de configuración /etc/network/interfaces vendría a decir que podemos conectar y desconectar la tarjeta de red (llamada eth0 por el sistema) en caliente, y que el sistema detectaría dichos cambios. Esto nos puede venir bien si estamos trabajando con Linux instalado en una máquina virtual.

¿Para qué cuento todo ésto? Pues porque ultimamente he tenido problemillas al intentar al jugar con los comandos:
# /etc/init.d/networking restart
# service networking stop
# service networking start

Qué son los indicados para reiniciar la red. Sin embargo puede que no respondan bien pues no generan un evento hotplug, así que en nuestro ejemplo el interfaz eth0 no se levantará. Para evitar tener que reiniciar el sistema podemos usar los comandos ifup o ifdown, para activar y desactivar un interfaz de red.
Para activar un interfaz con ésto debería ser suficiente:
# ifup  
# ifup   eth0

Pero dando un paso adelante tenemos las siguientes posibilidades:
# ifup   -a
  • Activa todos los interfaces definidos con “auto” en /etc/network/interfaces
# ifup  --allow=hotplug eth0
  • Solo activa los interfaces definidos en /etc/network/interfaces con una línea "allow-hotplug". Cuidado! Delante de allow hay dos guiones.
# ifdown   -a
  • Desactiva todos los interfaces de red que están activos
Una opción interesante del comando ifconfig es:
# ifconfig  -a
  • Muestra todos los interfaces de red que están actualmente disponibles, aunque estén desactivados
Links interesantes:

Debian: Cambiar resolución terminal

Si no tenemos instalado el entorno gráfico y queremos cambiar la resolución del terminal podemos hacerlo editando las opciones de Grub2.

Para ver las resoluciones soportadas al arrancar el sistema, desde el menú de Grub pulsamos la tecla 'c' para abrir un terminal de comandos de Grub, y tecleamos 'vbeinfo', dicho comando nos mostrará un listado de las resoluciones soportadas.

A modo de resumen, decir que la estructura de Grub2 nada tiene que ver con el antiguo Grub. El archivo de configuración del antiguo Grub era "menu.lst", el cual editabamos para realizar los cambios oportunos. En Grub2 dicho archivo ha desaparecido y en su lugar tenemos /boot/grub/grub.cfg. Pero este archivo no conviene editarlo directamente, para realizar modificaciones tenemos:
  • Archivo /etc/default/grub que contiene las opciones con las que se generará grub.cfg.
  • Directorio /etc/grub.d que contiene una serie de archivos para configurar las diversas entradas del menu Grub.
Una vez realizadas las modificaciones hay que generar el nuevo archivo grub.cfg, para ello tenemos el comando "update-grub" (o "update-grub2").

Y por último para cambiar la resolución del terminal tenemos la opción GRUB_CMDLINE_LINUX (en el archivo /etc/default/grub). Por ejemplo

GRUB_CMDLINE_LINUX="vga=789"

Dicho valor corresponde a una resolución de 800x600 y 32bpp.


640×480800×6001024×7681280×1024
08 bpp769771773775
16 bpp785788791794
32 bpp786789792795

Y esto es todo!

Link interesante: http://www.esdebian.org/wiki/instalar-grub2-debian