CONFIGURACION BASICA DE SERVIDORES

Version 0.5 



Este manual está orientado a personas que quieren tener un rapida introducción a los servidores linux y a todos aquellos que quieran tener rapidamente una red o un servidor funcionando.


Me basaré en la distribución Debian, agradezco cualquier colaboración, corrección y ayuda para completar y añadir diferencias con otras distribuciones.

 

Servidor de Nombres DNS

Instalaremos Bind9 y las herramientas que se encuentran en el paquete nslookup.

 

Editamos el archivo /etc/bind/named.conf, en un principio no hay que tocar nada, pero si tenemos algún dominio o simplemente nos hace ilusión pensar que tenemos uno, aqui podemos decirle a nuestro servidor para que no tenga que salir a Internet a buscarnos.

Bajamos hasta el final del archivo, donde pone "// add entries for other zones below here" donde le añadiremos nuestro dominio, que tampoco tiene que ser real, si nos encontramos en un ambito empresarial, este simplemente puede valer para que el resto de equipos accedan localmente a este dominio. 


Basicamente es una copia de las lineas de arriba del archivo, solo que en "zone" es donde ponemos el nombre del dominio que queremos crear o que tenemos en internet. Donde pone "file" le damos el nombre con dirección completa donde va a estar el archivo de configuración de ese dominio:

        Ejemplo:
        // add entries for other zones below here
        zone "prueba.com" {
                type master;
                file "/etc/bind/prueba.com";
        };

 A continuación copiamos el archivo "db.local" en el mismo directorio cambiandole el nombre por el del archivo de configuración de nuestro dominio, lo editamos y cambiamos el archivo dejandolo parecido a este:

        $TTL    38400

# este es el nombre del dominio, seguido del nombre que queremos darle a nuestro servidor de nombres

# y del mail del root, lo siguiente son valores para paquetes y tiempos de espera, estos son aconsejables, pero pueden ser los que queramos.
        prueba.com.     IN      SOA     ns1.prueba.com root.prueba.com (
                                19040201                ; Serial
                                 10800          ; Refresh
                                  3600          ; Retry
                                 14400          ; Expire
                                 38400 )        ; Negative Cache TTL
        ;

#aqui decimos al DNS donde está el dominio alojado, ¡¡¡ATENCION AL PUNTO DESPUES DEL NOMBRE DEL DOMINIO!!!
        prueba.com.     IN      NS      ns1.prueba.com
        prueba.com.     IN      A       192.168.10.1

# si tenemos servidor de correo de ese dominio, aqui tambien lo ponemos, observar que ahora es MX en vez de NS.
        prueba.com.     IN      MX      10 smtp.prueba.com.
        smtp.prueba.com.        IN      A       192.168.10.1

# y esto ultimo es por si queremos declarar subdominios, podemos tener tantos como queramos.
        sk8.prueba.com.         IN      A       192.168.10.1

#Aqui acaba el archivo

A continuación vamos a /etc/host.conf  y escribimos los siguiente:

        order hosts,bind
        multi on

Basicamente con esto nos funcionaria nuestros dominios en la red interna. Solo nos falta poner en nuestros equipos la IP de nuestro servidor de nombres que siempre tiene que ser una IP fija. En debian esto se hace en el archivo /etc/resolv.con donde se pondrá o añadirá al principio lo siguiente:

        search prueba.com
        nameserver 192.168.10.1

De esta forma haremos que busque primero en nuestro servidor de nombres. En este archivo se pueden tener un mínimo de 1 y un máximo de 5 servidores DNS.

En los equipos con otros Sistemas Operativos, debén configurarse para que el primer DNS que pidan sea el que acabamos de configurar.

Reiniciamos Bind9 y ya tenemos nuestro propio servidor de nombres funcionando.

Ahora es cuando vamos a probar las dnsutils. En consola escribimos:
        host prueba.com

Debería respondernos con nuestra propia IP si hemos configurado bien el servidor. Podemos probar tambien con el subdominio sk8.prueba.com y la respuesta debería ser la misma.


IPs Estáticas

Editamos /etc/network/interfaces y escribimos o añadimos si no esta ya, lo siguiente:

# arranca nuestra tarjeta de red y lanza el loopback (localhost)
auto eth0 lo
iface lo inet loopback


# arranca la tarjeta de red con una IP estatica
iface eth0 inet static
        address 192.168.10.1                //ip que queremos darle al equipo
        netmask 255.255.255.0            //mascara de red, esta es la mas comun para redes pequeñas
        network 192.168.10.0               // rango que va a coger la red
        broadcast 192.168.10.255        //servidor de multidifusion, si no sabemos, ponemos siempre terminado en 255 y suele funcionar
        gateway 192.168.10.2               // donde esta el proxy

Y ya tenemos IP estática en el servidor o en cualquier equipo que queramos.


DHCP o servidor de IPs

Instalamos el paquete DHCP y editamos el archivo /etc/default/dhcp

Añadimos o modificamos la linea donde nos pide que interfaz sera la encargada de asignar las IPs:

        INTERFACES="eth0"

Donde le ponemos la tarjeta de red que tenemos o vamos a usar. Las tarjetas se numeran en orden de instalación, asi la  primera se llamara eth0, la segunda eth1, y asi sucesivamente

A continuación editamos /etc/dhcpd.conf y de todo lo que pone se comenta y nos quedamos con las siguientes lineas:

# nuestro dominio anteriormente creado
        domain "prueba.com";
        option subnet-mask 255.255.255.224;
        default-lease-time 600;
        max-lease-time 7200;

# aqui le decimos el rango de IPs que tiene que asignar y cual es la IP del DNS para que no la asigne a nadie mas
        subnet 192.168.10.0 netmask 255.255.255.0 {
        range 192.168.10.2/192.168.10.255;
        option broadcast-address 192.168.10.255;
        option domain-name "prueba.com";
        option domain-name-server "192.168.10.1;
        option routers 192.168.10.2        # aqui se pone la IP del equipo que hara de router, si lo tenemos



Puede darse el caso de que queramos que algún equipo tenga un IP fija asignada por el servidor, entonces añadiriamos lo siguiente:

        host sk8 {
            server-name "sk8.prueba.com"
            fixed-address "192.168.10.10"       # en esta linea es donde le decimos cual es la ip que tiene que asignar siempre al equipo
            hardware ethernet 0A:2B:3C:4D:5E:6F
        }

La última linea, donde pone "hardware ethernet" lo siguiente es el numero MAC de la tarjeta de red del equipo que le asignamos la IP fija, para saberla es algo tan simple como ejecutar en el equipo configurado como "sk8" el comando ifconfig, del cual obtendremos entre otras la siguiente linea:

        eth0      Link encap:Ethernet  HWaddr 00:C0:F0:52:E4:32 

donde como vemos, precedido de la palabra HWaddr está la dirección MAC de la tarjeta. Cada tarjeta tiene una dirección MAC única, esto es importante porque si cambiamos la tarjeta tambien habra que cambiar esta dirección.

De esta forma tenemos nuestro servidor de IPs dinámicas con un equipo al que se le asigna siempre una IP.

Solo nos falta reiniciar el servidor DHCP y ya tenemos nuestra red con IPs dinámicas

En /var/lib/dhcp/dhcp.leases encontramos un log con las asignaciones de IPs.

Proxy

Instalamos el paquete squid.

Este servidor viene con una configuración por defecto que "casi" funciona, solo hay que escribir lo siguiente en /etc/squid.conf que es un archivo muy largo, en la versión 2.4 y alrededor de la linea 1392 encontramos las acl, donde escribimos lo siguiente:

                acl nombrealeatorio src 192.168.10.0/24

y seguido a este apartado está http-access donde escribimos la siguiente linea:

                http-access allow nombrealeatorio

Reiniciamos el servicio y ya tenemos nuestro proxy dando paso a toda nuestra red a Internet.

Debemos saber que los proxies solo dan los servicios de FTP, HTTP y SSL, si queremos otro tipo de servicios deberemos buscar otras soluciones.

Para que los demas equipos puedan salir a Internet deberemos configurar sus clientes, aqui pongo un ejemplo de como configurar Mozilla, que tambien es valido para Netscape:

Pulsaremos en "Edit", seleccionamos "Preferences", en la ventana que se abre seleccionamos "Advanced", se despliega unas opciones en las que podemos leer "Proxies", al pulsar sobre esta opcion, la parte derecha de la pantalla cambiará y procedermos a insertar la IP de nuestro proxy y el puerto de cada servicio (HTTP: 80 - SSL: 443 - FTP: 21)
NFS (Servidor de archivos de red)

Este servicio nos va a valer para servir archivos al resto de los equipos de forma parecida a un FTP.

Lo primero hay que darle soporte en el Kernel, recompilandolo y en la sección de soporte de tipos de archivo de red se selecciona soporte NFS. Luego se instalan nfsd, lockd, portmap y nfs-kernel-server.

La configuracion está en el archivo /etc/exports, que editamos, en este archivo solo debemos poner los directorios que queremos compartir ya que los permisos son para todos o para nadie, no se pueden hacer excepciones, el formato es el siguiente:

        directorio IP/mascara_de_red(opciones)

y como ejemplo:

        /home/usuario 192.168.0.0/255.255.255.0(rw)

las opciones son pocas:

        rw: lectura y escritura
        ro: solo lectura
        root-squash: si ponemos la opcion ro, alguien que entre como root, puede seguir escribiendo en el archivo, con esta opcion se convierte en un usuario mas, se añade a las opciones poniendo una coma.
        all-squash: con esta opción hacemos que todo los que entren excepto como root, se convierta en usuarios nobody, es decir usuarios de "solo lectura".

Se reinicia el servidor y ya esta funcionando para nuestros clientes.

Montar NFS


El formato es muy similar a un dispositivo:

        mount -t nfs IP_servidor_NFS:/directorio_compartido /mnt

y como ejemplo:

        mount -t nfs 192.168.0.1:/home/sk8 /mnt

ahora podríamos acceder a este directorio en nuestro arbol de directorios como si formara parte de nuestro equipo. Esto también puede hacerse en el servidor consigo mismo para probar que funciona.

Para añadirlo en el fstab se pone la siguiente linea:

        192.168.0.1:/home/sk8            /mnt        nfs        defaulst,noauto    0    0

Servidor Web

Se explica como poner en funcionamiento un servidor Apache, pero en la mayoría de los casos valdría con un servidor mas pequeño y menos completo como Boa ya que Apache es muy complejo y nunca se le sacara todo el partido.

Se instala el paquete Apache. Este servidor tiene multitud de añadidos para dar soporte a practicamente cualquier cosa que se nos ocurra hacer en la web, pero debido este documento no esta destinado a ello.

El archivo de configuración se encuentra en /etc/apache/httpd.conf

Al principio del archivo nos dice como se ejecutará Apache, buscamos la linea

        ServerType standalone

ya que si no pone standalone puede implicar un grave problema si falla el servidor inetd.

Buscamos la siguiente linea, el número puede variar, esto indica la cantidad de "apaches" que tienen que iniciarse, es decir, cada servidor iniciado puede responder a una petición, si solo inicia 1, cuando nos visiten 2 personas la segunda no recibira respuesta o la recibiran después de esperar bastante.

        StartServers 5

Algo mas abajo encontramos:

        MaxClients 150

que indica el número máximo de "apaches" que se pueden iniciar, esto es aconsejable ponerlo ya que puede llegar a consumir todos los recursos de nuestra máquina.

Seguimos buscando y vamos a

        ServerAdmin e_mail@del_administrador

aqui es donde se pone el e-mail de contacto del administrador por si falla el servidor le pueda ser comunicado.

Y llegamos a la linea mas importante

        DocumentRoot /var/www

aqui es donde le decimos a nuestro servidor donde van a estar alojadas nuestras paginas web, lo mas aconsejable es quitar la configuración que viene por defecto y crearle un directorio dentro de /home para apache, y dentro de ese directorio se pondra todo nuestro arbol de paginas de web.

Un fallo típico en las configuraciones de servidores http es poder navegar por el arbol de directorios de un site, para evitar eso vamos a:

        <Directory /var/www/>

y dentro de este apartado nos aseguramos que no aparezca la palabra Indexes

Samba

Este servidor nos permitira poder compartir nuestros archivos en una red windows, incluso haciendonos pasar por un servidor NT
[global]
        security=share
        guest account=nobody
        invalid users=root
        server string=sk8.prueba.com
#       workgroup=prueba
[compartido]
        path=/home/jaime
        public=yes
        guest ok=yes
read only=yes
        browseable=yes
        create mode=0644



Licencia

      Copyright (c)  2002  Jaime Serrano Zarraute

Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.1

or any later version published by the Free Software Foundation;

with the no Invariant Sections, with the no Front-Cover Texts,

 and with the no Back-Cover Texts.

A copy of the license is the url http://www.fsf.org/copyleft/fdl.html