Segunda época

Instalar un servidor con ubuntu-server (III) Parte III - Últimos retoques in situ

, por dani

Tras la introducción del capítulo 1 y la instalación de ubuntu-server en el capítulo 2 pasamos a ir comprobando y configurando los diferentes programas.

[*Conexión de red y conexión a Internet*]

Durante la instalación ubuntu trata de configurar la red para quienes usen DHCP (el DHCP da las IPs de forma automática a todos los ordenadores de tu red local y se suele configurar en el router).
Si prefieres la configuración manual (en lugar de DHCP) también fue posible realizarla durante la instalación de ubuntu-server.
Tanto si configuraste la red manualmente durante la instalación, como si lo dejaste para más tarde (como suelo hacer yo), es hora de comprobar (o crear) la configuración.

El hacer la configuración de la red manualmente tiene sus desventajas, pero también tiene la ventaja de que aprendes en qué ficheros se guardan los datos y qué ficheros tienes que mirar cuando algo no funcione.

Los ficheros que controlan la configuración de la red en Debian (y por tanto en su derivada ubuntu) son: /etc/network/interfaces y /etc/resolv.conf. Esos son los ficheros que debemos comprobar, modificar o crear (si no existen).

Contenido de /etc/network/interfaces
[(

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.2.20
netmask 255.255.255.0
gateway 192.168.2.1

)]

 address: la IP del servidor
 netmask: mácara de red (deja esos números si no entiendes su significado)
 gateway: es la IP del router
 eth0: es la tarjeta de red (una segunda tarjeta de red se llamaría eth1)

Si miras el /etc/network de tu ordenador verás unos datos iguales a los anteriores (salvo address que será otra IP del tipo 192.168.2.x). Por ejemplo mi portátil da estos datos:

[(

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

iface eth1 inet static
address 192.168.2.13
netmask 255.255.255.0
gateway 192.168.2.1
wireless-essid xxxxxxxxx
wireless-key XXXXXXXXXX
...

auto eth1

)]

Las diferencias son:
 eth1 (porque uso la tarjeta de red inalámbrica, la tarjeta normal es eth0)
 otros datos relativos a la wifi (nombre de la red, contraseña, etc.)

Con la configuración del /etc/network/interfaces nuestro servidor tendrá conexión en red con el resto de nuestra red local (el router, nuestro ordenador normal, un portátil, etc.).

Si hemos hecho cambios en el /etc/network/interfaces debemos reiniciar la red con el comando:

[(

$ sudo /etc/init.d/networking restart

)]

Si estamos acostumbrados a usar Debian y no nos va el sudo, podemos simplemente hacer un:  $ sudo su y ya no necesitamos preceder las órdenes con el sudo.

Comprobamos que funciona la red: Desde nuestro ordenador le hacemos un ping al servidor a ver si responde:

[(

~$ ping 192.168.2.20
PING 192.168.2.20 (192.168.2.20) 56(84) bytes of data.
64 bytes from 192.168.2.20: icmp_seq=1 ttl=64 time=1.15 ms
64 bytes from 192.168.2.20: icmp_seq=2 ttl=64 time=1.18 ms
64 bytes from 192.168.2.20: icmp_seq=3 ttl=64 time=1.08 ms
64 bytes from 192.168.2.20: icmp_seq=4 ttl=64 time=1.29 ms

--- 192.168.2.20 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 1.088/1.179/1.293/0.074 ms

)]
Pulsando <Ctrl>+<C> paramos los pings. Al final de las líneas anteriores se nos indica el tiempo de respuesta en milisegundos.

Si no responde obtendríamos una respuesta del tipo:

[(

$ ping 192.168.2.43
PING 192.168.2.43 (192.168.2.43) 56(84) bytes of data.
From 192.168.2.13 icmp_seq=2 Destination Host Unreachable
From 192.168.2.13 icmp_seq=3 Destination Host Unreachable
From 192.168.2.13 icmp_seq=4 Destination Host Unreachable

--- 192.168.2.43 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2999ms
, pipe 3

)]

Observa que he hecho un ping a un ordenador inexistente (192.168.2.43), por eso me dice Destination Host Unreachable.

Si tu servidor no responde a los pings comprueba:

 Que tu /etc/network/interfaces es correcto
 Que has reiniciado la red ($ sudo /etc/init.d/networking restart) en caso de que hayas modificado el fichero anterior
 Que tu cable de red funciona (mira si tiene luz verde en ambos extremos: router y servidor)

Contenido de /etc/resolv.conf
[(

nameserver x.x.x.x
nameserver x.x.x.x

)]

En este fichero se almacenan las DNS que te ha proporcionado tu proveedor de Internet.
En realidad puedes poner otras DNS aunque no sean de tu proveedor, por ejemplo:
nameserver 80.58.32.97

Las DNS lo único que hacen es traducir los nombres de dominio a direcciones IP. Por ejemplo si en tu navegador tecleas: http://217.127.159.76 accederás a la web de lubrin,org. Si tecleas http://lubrin.org serán tus servidores DNS quienes se encarguen de traducir lubrin.org por 217.127.159.76

Es importante conocer esos detallesy es importante tener al menos dos nameserver en nuestro /etc/resolv.conf. Hay veces en que no tenemos acceso a Internet (o creemos que no lo tenemos) y es porque el servidor DNS de nuestro proveedor está caído provisionalmente. Si tenemos puestas dos DNS y además son de proveedores distintos es muy difícil que ambos estén caídos simultáneamente. Para esos casos también es conveniente tener a mano las IP de alguna web (como por ejemplo las de google). Si quieres saber cuáles son las IPs (tiene más de una) de google, puedes teclear en consola $dig google.es.

Una vez comprobado que nuestro servidor conecta con el resto de nuestra red local, deberíamos comprobar que también puede conectar con Internet:

[(

$ ping 72.14.221.104
PING 72.14.221.104 (72.14.221.104) 56(84) bytes of data.
64 bytes from 72.14.221.104: icmp_seq=1 ttl=240 time=131 ms
64 bytes from 72.14.221.104: icmp_seq=2 ttl=240 time=116 ms
64 bytes from 72.14.221.104: icmp_seq=3 ttl=240 time=338 ms

--- 72.14.221.104 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 116.995/195.517/338.426/101.216 ms

)]

Desde el servidor he hecho un ping a una de las IPs de google.es por lo tanto nuestro server está en condiciones de comunicarse con el resto del mundo.

[*Actualizando los repositorios*]

Puesto que necesitaremos instalar más programas y sabiendo que nuestro server puede conectar con Internet, lo primero es actualizar la lista de paquetes:

[(

$ sudo apt-get update

)]

Si funciona podemos eliminar el CD de la lista de repositorios y volvemos a hacer apt-get update. De aquí en adelante trabajaré como root ($sudo su) para no tener que teclear ’sudo’ en todas las órdenes.

Modifico el /etc/apt/sources.list para eliminar el CD de la lista.

[(

# nano /etc/apt/sources.list

)]

Comento la línea del CD para que no la use:

[(

# deb cdrom:[Ubuntu-Server 7.04 _Feisty Fawn_ - Release i386 (20070415)]/ feisty main restricted

)]

Vuelvo a actualizar:
[(

# apt-get update

)]

[*Instalando ssh*]

El programa fundamental para poder acceder de modo seguro a nuestro servidor (desde otros ordenadores de nuestra red o desde internet) es ssh. Para instalarlo:

[(

# apt-get install ssh

)]

Comprobamos que funciona:

[(

$ ssh dani@192.168.2.20
The authenticity of host '192.168.2.20 (192.168.2.20)' can't be established.
RSA key fingerprint is d8:a9:c4:5e:2b:4f:b0:aa:a5:b9:d1:de:f8:5e:df:36.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.20' (RSA) to the list of known hosts.
dani@192.168.2.20's password: 
Linux ubuntu-sotano 2.6.20-15-server #2 SMP Sun Apr 15 07:41:34 UTC 2007 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Last login: Fri Jun  8 00:55:00 2007

)]

Desde este momento ya podemos retirar del servidor: monitor, teclado, ratón, tarjeta gráfica, lector de CD.
 
El servidor será controlado mediante ssh desde cualquier ordenador de nuestra red local (y posteriormente desde cualquier ordenador de Internet)

Artículo siguiente: Configuración de Apache