Servidores de Internet

La administración de servidores de servicios de Internet es un campo lo suficientemente amplio y complejo como para cubrir uno o varios cursos específicos. De todas formas, veremos a continuación a grandes rasgos, los pasos básicos para poner en marcha algunos servicios.

Configurando un servidor web. Apache

En la mayoría de las distribuciones, y en concreto Hispafuentes Linux, bastará con instalar el paquete de Apache, para tener un servidor web básico funcional. No vamos a profundizar en la configuración ya que esto escapa de los objetivos de este curso de iniciación a Linux, pero si vamos a comentar algunas de las variables más básicas de su principal fichero de configuración. En RedHat y derivados este fichero suele ser /etc/httpd/conf, aunque en otras distribuciones puede ser otro. Por ejemplo en Debian es /etc/apache/httpd.conf. Independientemente de su nombre y localización su sintaxis es la misma.

Configurando un servidor de correo. Sendmail

Si no deseamos funcionalidades especiales, la configuración que se hace por defecto durante la instalación de sendmail puede ser suficiente; permitirá a los usuarios locales enviarse correo entre sí, así como enviar (y recibir) correo a(de) otras máquinas.

La instalación predeterminada hace que Sendmail se encarge él mismo de entregar el correo a las máquinas destinatarias. Si nuestro proveedor de servicios de internet nos ofrece un servicio de envío de correo, podemos hacer que Sendmail pase a este servidor el correo saliente para que sea éste (que normalmente tendrá una mejor conexión a internet que nuestra máquina) el que se encarge de intentar todas las veces que sea necesario la entrega del correo a los destinatarios. Además, en el caso de e-mails con destinatarios múltiples, si Sendmail se encarga directamente de entregarlos, deberá transmitir el email una vez por cada máquina destino, mientras que si usamos el servidor de nuestro proveedor tan sólo tendremos que hacerlo una vez y él será el que realice las múltiples transferencias.

Para configurar sendmail para que use un servidor de correo externo, tan sólo hace falta modificar o añadir la variable DS en el fichero de configuración de sendmail (generalmente /etc/sendmail.cf, por ejemplo quedando así para un servidor externo llamado smtp.miproveedor.es.
   DSsmtp.miproveedor.es

Configurando un servidor de nombres. Bind

Antes de configurar un servidor de nombres debería comprender cómo funciona el sistema DNS. Cuando alguna máquina desea consultar un nombre, digamos www.hispafuentes.com, el proceso que se sigue es el siguiente. Primero se consulta a uno de los servidores raíz de Internet, quién resuelve los dominios .com. Nos devolverá una lista de servidores; se toma uno de ellos y se le pregunta ahora quién resuelver el dominio hispafuentes.com. Tan sólo nos queda preguntarle a dicho servidor por www.hispafuentes.com y nos devolverá la dirección IP.

A continuación veremos cómo se configura Bind en su versión 8. Supongamos que queremos definir el dominio ficticio linux.bogus.

Primero creamos el fichero /etc/named.conf, con el siguiente contenido:
   options {
           directory "/var/named";
   };

   zone "linux.bogus" {
           notify no;
	   type master;
	   file "linux.bogus";
   };

   zone "7.168.192.in-addr.arpa" {
           notify no;
	   type master;
	   file "192.168.7";
   };
Con esto le hemos indicado a Bind que se va a encargar de resolver el dominio linux.bogus, que además va a realizar la resolución inversa de la red 192.168.7.0/255.255.255.0 y que se debe referir a los ficheros /var/named/linux.bogus y /var/named/192.168.7 para obtener la información para ello. Una posible configuración de linux.bogus podría ser la siguiente:
   $TTL 3D
   @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                           199802151       ; serial, todays date + todays serial #
                           8H              ; refresh, seconds
                           2H              ; retry, seconds
                           4W              ; expire, seconds
                           1D )            ; minimum, seconds
   ;
                   NS      ns              ; Inet Address of name server
                   NS      ns2             ; Inet Address of name server
                   MX      10 mail                 ; Primary Mail Exchanger
                   MX      20 mail.friend.bogus.   ; Secondary Mail Exchanger
   ;
   ns              A       192.168.7.145
   ns2             A       192.168.7.146
   mail            A       192.168.7.147
El registro SOA describe la zona, de dónde viene (en este caso de una máquina llamada ns.linux.bogus), quién es el responsable de su mantenimiento (hostmaster@linux.bogus; el primer punto se traduce por una @), la versión del fichero de zona (generalmente formada a partir de la fecha y un número adicional que indica la revisión dentro del mismo día) y una serie de parámetros que puede obviar.

A continuación nos encontramos con uno o varios registros NS, que indican cuáles son los servidores DNS del dominio. Además del que hemos declarado en el registro vemos que contamos un servidor auxiliar (ns2) y uno o varios registros MX que indican qué máquinas se encargarán de gestionar el correo dirigido al dominio.

Habrá notado que algunos nombres de máquina en los registros SOA, NS y MX acaban en un punto. Cuando un nombre aparece con un punto final estamos indicando que estamos dando un nombre de dominio completo; sin embargo, si no le ponemos el punto final, Bind supondrá que tiene que añadirle el dominio. Así mail.friend.bogus. representa al dominio mail.friend.bogus y mail a mail.linux.bogus. Si se nos hubiese olvidado el punto final en el segundo registro MX estaríamos indicándole erróneamente que la máquina mail.friend.bogus.linux.bogus, que posiblemente no exista, gestiona nuestro correo.

A continuación, con los registros A establecemos la equivalencia entre nombres y direcciones IP.

Ya sólo nos queda configurar la resolución inversa. El fichero 192.168.7 que se correspondería a nuestro ejemplo sería:
   $TTL 3D
   @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                           199802151 ; Serial, todays date + todays serial
                           8H      ; Refresh
                           2H      ; Retry
                           4W      ; Expire
                           1D)     ; Minimum TTL
                   NS      ns.linux.bogus.

   145             PTR     ns.linux.bogus.
   146             PTR     ns2.linux.bogus.
   147             PTR     mail.linux.bogus.
Sólo nos queda ya iniciar el servidor:
   # /etc/rc.d/init.d/named start

Otros servicios

Hay múltiples servicios más que se pueden ofertar a través de Internet; algunos de ellos serán relativamente fáciles de configurar para que ofrezcan una funcionalidad mínima, como por ejemplo un servidor de ftp, un servidor pop3 o un servidor sencillo de bases de datos; en la mayoría de los casos puede bastar con instalar el paquete correspondiente. En otros casos, tales como servidores de ficheros, servidores de impresión, servidores NIS o LDAP, de IRC, etc la cosa no será tan sencilla y nos exigirá dedicar tiempo a la lectura de documentación y pruebas de configuración.