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