Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A través de este material, se puede implementar una red, asumiendo que se ha instalado
previamente en el servidor, el sistema operativo Linux Suse Entreprise Server y que se tiene
un conocimiento previo sobre comandos de Linux, direccionamiento IP y cableado
estructurado.
Se ha tomado como referencia, un escenario, en el que contiene un servidor lLnux, una red
de área local con computadoras con sistema operativo Windows, con conexión alámbrica e
inalámbrica, y un proveedor de servicios de internet.
El contenido de este compendio, ha sido pilotado con estudiantes de los últimos años de
ingeniería electrónica, quienes lo han utilizado para la configuración del servidor, con
resultados altamente eficientes.
La estructura de la red que se presenta en la figura 1.1, expresa con claridad la ubicación del
servidor y la conexión con el conmutador (o switch) y el enrutador. Corresponde a una red
sencilla sin subredes locales y todos los servicios instalados en un mismo servidor tipo PC.
3
Artículo I. 1. Descripción de la Red.
La figura 1.2a muestra los puertos LAN1 y WAN1 que son utilizados en el enrutador
Linksys. Las direcciones asignadas a cada puerto son las siguientes:
1.2 El servidor:
Utiliza dos tarjetas de red, eth0 y eth1. A través de eth1 (ip 10.10.10.2 /24) se conecta con el
enrutador para la conexión a internet y a través de eth0 (ip 192.168.0.1 /16) da servicio a
toda la red de área local sirviendo como puerta de enlace (Gateway) a la red interna.
1.3 El Switch: Es el dispositivo donde se conectan todos los clientes de la red de área local.
3
2. SERVICIO DE NOMBRES DE DOMINIOS (DNS)
/etc/hosts
/etc/resolv.conf
/etc/named.conf
/var/lib/named/archivos de zona directa
/var/lib/named/archivos de zona inversa
2.1 /etc/hosts, contiene la resolución del equipo servidor definido localmente usando
la dirección ip, el FQDN (nombre del servidor.dominio) y un Alias (nombre corto del
FQDN).
3
2.3 /etc/named.conf
options {
directory "/var/lib/named";
dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
# Enable the next entry to prefer usage of the name server declared
in
# the forwarders section.
#forward first;
3
# The listen-on-v6 record enables or disables listening on IPv6
# interfaces. Allowed values are 'any' and 'none' or a list of
# addresses.
listen-on-v6 { any; };
notify no;
};
3
# The following zone definitions don't need any modification. The first
one
# is the definition of the root name servers. The second one defines
# localhost while the third defines the reverse lookup for localhost.
zone "." in {
type hint;
file "root.hint";
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone “tecnologia.edu.ni” in {
type master;
file “db.tecnologia”;
};
zone “0.168.192.in-addr.arpa” in {
type master;
file “db.0.168.192”;
};
zone “proveedor.com” in {
type master;
file “db.proveedor”;
};
zone “105.124.209.in-addr.arpa” in {
type master;
file “db.105.124.209”;
};
};
include "/etc/named.conf.include";
# You can insert further zone records for your own domains below or create
# single files in /etc/named.d/ and add the file names to
# NAMED_CONF_INCLUDE_FILES.
# See /usr/share/doc/packages/bind/README.SUSE for more details.
2.3.1 “options”:
La mayoría de las opciones están definidas por defecto y con una breve descripción de su
operación. A continuación se describen las opciones que fueron modificadas en el archivo:
3
allow-query { 192.168.0.1/16; 209.124.105.0/24; };
Especifica cuales hosts tienen permitido consultar el servidor de nombres, en este caso todos
los hosts de la red interna.
2.3.2 Zone.
La opción zone “ ” es considerada zona de dominio.
El parámetro file indica el nombre del archivo que contiene los parámetros específicos de
la Zona, este archivo es denominado Archivo de Zona y se encuentran en la ruta
/var/lib/named/
En todos los archivos de zonas se encuentran algunos registros que definen los valores que
se pueden consultar, entre los más comunes:
cp localhost.zone db.proveedor
3
En este archivo de zona sólo se incluye el servidor DNS (ns1) , servidor web y servidor de
correo (mail). El servidor dhcp y proxy no forman parte de esta zona.
1 $TTL 2D
2 @ IN SOA ns1 root.tecnologia.edu.ni. (
3 2008072441 ; serial
4 1D ; refresh
5 2H ; retry
6 1W ; expiry
7 2D ) ; minimum
8 IN NS ns1
9 IN MX 10 mail
10 IN A 209.124.105.226
11 ns1 IN A 209.124.105.226
14 web IN A 209.124.105.226
15 mail IN A 209.124.105.226
Línea 2: Aquí comienza la parte del registro de control SOA (Inicio de autoridad):
El paréntesis de apertura (incluye todas las líneas que se hayan en el registro SOA
hasta el paréntesis de cierre).
3
3 2008072441 ; serial
8 IN NS ns1
Línea 9: El registro MX indica el servidor de correo que acepta, procesa y remite los
mensajes de correo electrónico al dominio proveedor.com. En este ejemplo, se trata del
host mail.proveedor.com. El número situado delante del nombre del host se
corresponde con el valor de preferencia.
9 IN MX 10 mail
Líneas 10 a 15: A través del registro A (address o dirección ip) se utiliza para asignar la
dirección IP a los nombres de host. El dominio “proveedor.com” se añadirá a todos
ellos automáticamente.
10 IN A 209.124.105.226
11 ns1 IN A 209.124.105.226
14 web IN A 209.124.105.226
15 mail IN A 209.124.105.226
Línea 16: En la figura 2.7 se puede observar que al utilizar el alias www se puede acceder al
servidor “web” (CNAME significa nombre canónico), es decir este registro enviará todas las
solicitudes de www.proveedor.com a web.proveedor.com.
3
A continuación se muestra el archivo de configuración de zonas directa db.tecnologia. La
explicación de cada línea es similar a la del archivo anterior.
En este archivo de zona se incluye al servidor dhcp y proxy los cuales trabajan en la red
interna.
1 $TTL 2D
2 tecnologia.edu.ni. IN SOA ns1 root.tecnologia.edu.ni. (
3 2008072441 ; serial
4 1D ; refresh
5 2H ; retry
6 1W ; expiry
7 2D ) ; minimum
8 IN NS ns1
9 IN MX 10 mail
10 IN A 192.168.0.1
11 ns1 IN A 192.168.0.1
12 web IN A 192.168.0.1
13 mail IN A 192.168.0.1
14 dhcp IN A 192.168.0.1
15 proxy IN A 192.168.0.1
cp 127.0.0.zone 105.124.209.zone
1 $TTL 2D
2 @ IN SOA localhost. root.localhost. (
3 41 ; serial
4 1D ; refresh
5 2H ; retry
6 1W ; expiry
7 2D ) ; minimum
8 IN NS localhost.
9 IN PTR localhost.
3
Figura 2.12a. Archivo 127.0.0.zone
1 $TTL 2D
2 @ IN SOA ns1.proveedor.com. root.proveedor.com. (
3 41 ; serial
4 1D ; refresh
5 2H ; retry
6 1W ; expiry
7 2D ) ; minimum
8 IN NS ns1.proveedor.com.
1 $TTL 2D
2 @ IN SOA ns1.tecnologia.edu.ni.
root.tecnologia.edu.ni. (
3 2003072441 ; serial
4 1D ; refresh
5 2H ; retry
6 1W ; expiry
7 2D ) ; minimum
8 IN NS ns1.tecnologia.edu.ni.
9 1 IN PTR ns1.tecnologia.edu.ni.
10 1 IN PTR dhcp.tecnologia.edu.ni.
11 1 IN PTR proxy.tecnologia.edu.ni.
12 1 IN PTR web.tecnologia.edu.ni.
13 1 IN PTR mail.tecnologia.edu.ni.
14 2 IN PTR pc1.tecnologia.edu.ni.
15 3 IN PTR pc2.tecnologia.edu.ni.
16 4 IN PTR pc3.tecnologia.edu.ni.
17 5 IN PTR pc4.tecnologia.edu.ni.
3
Figura 2.13 Archivo de configuración /var/lib/named/db.0.168.192
Para iniciar named es necesario activarlo en el editor de niveles de ejecución. Con el fin de
que siempre se inicie automáticamente al arrancar el sistema, se debe activar para los niveles
de ejecución 3, 4 y 5 en el editor de niveles de ejecución, esto es ejecutar:
En los “Host” donde se esta ejecutando un “DNS Server” debe existir un proceso llamado
named, si se utiliza el comando ps –uax, se debe observar una línea con el parámetro
named, esto indica que el servidor DNS esta activo.
En caso de no estar activo, en todos los sistemas Unix existe un Script de arranque llamado
named que puede ser utilizado para arrancar el servidor DNS a través de la orden:
BIND brinda tres herramientas para la prueba del servicio, dig, nslookup y host.
A continuación se muestran los ejemplos de cómo utilizarlas:
# nslookup tecnologia.edu.ni
# nslookup 192.168.0.1
# nslookup (cualquier IP de la red)
# dig tecnologia.edu.ni
# host -t MX tecnologia.edu.ni
3
3. SERVIDOR WEB
El servidor web Apache2 ya viene preconfigurado por defecto en la versión de SLES 11.0,
por lo que solamente habrá que reiniciar el demonio apache2 para iniciar el servicio.
Una vez reiniciado apache, se debe utilizar el navegador web y escribir en la barra de
dirección:
http://www.tecnologia.edu.ni
Si se desea que apache2 inicie de manera automática la próxima vez que inicie el sistema:
#chkconfig apache2 on
Se debe reiniciar el servidor web, a través del demonio apache2, utilizando el siguiente
comando:
En primer lugar consultar el registro de errores: puede que el problema pueda deducirse de
un mensaje de error allí presente. El archivo de registro de errores se encuentra en
/var/log/apache2/error_log.
Se recomienda seguir los archivos de registro en una consola mientras se accede al servidor
para ver cómo reacciona este en cada momento. Con este fin, ejecutar en una consola el
siguiente comando como root:
tail –f /var/log/apache2/error_log
3
También se puede utilizar el comando apache2ctl – t para revisar la sintaxis de
configuración.
Una vez que el archivo se descomprime, se utiliza la terminal para entrar al directorio donde
se descomprimió y se ejecuta el instalador:
./install.sh
La instalación procede y se muestra todos los paquetes que se instalan de zimbra así como
los requerimientos de software necesarios. En caso de no encontrar un paquete del servidor,
se detiene la instalación y se procede a instalar el paquete solicitado.
Los paquetes se instalan presionando la tecla Y (si) o N (No) y luego entrar. Al momento de
instalar zimbra proxy, se presiona la tecla N (no) para evitar conflictos con el servidor Squid
y se prosigue con la instalación. (ver figura 4.1).
3
En el proceso se muestra si se desea continuar puesto que el programa será modificado, y se
debe presionar la tecla Y (si) como se muestra en la figura 4.1 anterior.
Por defecto zimbra no reconoce el registro MX asociado al servidor mail para resolverlo,
por lo tanto se debe poner solamente el nombre del dominio. (Ver figura 4.2)
Si surge algún conflicto de puertos de servicio como el puerto 25 (postfix), u otro servicio,
se puede abrir otra terminal y detener estos, continuando con la instalación.
3
Dentro de zimbra –store existen varias opciones entre las cuales permiten cambiar la
contraseña de administrador (Admin), a la vez se cambia el puerto http de 80 a 8080 para
evitar conflictos futuros con el servidor web. En la siguiente figura 4.4 se muestra que las
opciones son 4 para el password y 10 para el puerto.
El sistema indica que para regresar al menú principal se debe presionar la tecla "r", luego
con la tecla "a" se aplican todos los cambios. Cuando lo solicite el sistema, con la tecla "y"
se permite guardar la configuración finalizando la instalación de Zimbra.
Al finalizar la instalación se debe registrar como usuario ZIMBRA para ver si los servicios
están corriendo debidamente, en la terminal se ejecuta:
su - zimbra
Con el comando zmcontrol status se pueden ver los servicios si corren debidamente:
3
Figura 4.5 Servicios de ZIMBRA corriendo correctamente
Si el caso fuera lo contrario y apareciera el error de que el Postfix no está corriendo, como
se muestra en la figura 4.6 a continuación.
Para corregir el error se debe proceder a bajar el Postfix del sistema con el comando:
service postfix stop
Luego se inician los módulos de zimbra con el comando zmcontrol start donde debe
aparecer resuelto el error y corriendo todos los servicios. Se finaliza con el comando exit.
Para entrar a la interfaz gráfica de zimbra como administrador se ingresa la siguiente línea
usando el protocolo https.
https://mail.tecnologia.edu.ni:7071/zimbraAdmin
Se deberá añadir una excepción del certificado de seguridad para que se pueda acceder a la
interfaz. El nombre del usuario es “Admin” y luego la contraseña definida anteriormente
durante el proceso de configuración.
3
Figura 4.7 Interfaz del Administrador
3
5. SERVICIO DHCP
shared-network 192.168.1.0 {
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
pool {
default-lease-time 400;
max-lease-time 400;
range 192.168.1.100 192.168.1.200;
ddns-domainname "lab.tecnologia.edu.ni";
ddns-rev-domainname "1.168.192.in-
addr.arpa";
}
}
host lab1-1 {
option host-name “lab1-1.lab.tecnologia.edu.ni”
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 192.168.1.1;
}
host lab1-2 {
option host-name “lab1-2.lab.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.1.2;
}
host lab1-3 {
option host-name “lab1-3.lab.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.1.3;
}
3
}
shared-network 192.168.2.0 {
host wifi1 {
option host-name “wifi1.wifi.tecnologia.edu.ni”
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 192.168.2.1;
}
host wifi2 {
option host-name “wifi2.wifi.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.2.2;
}
host wifi3 {
option host-name “wifi3.wifi.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.1.3;
}
}
shared-network 192.168.3.0 {
subnet 192.168.3.0 netmask 255.255.255.0 {
option broadcast-address 192.168.3.255;
pool {
default-lease-time 400;
max-lease-time 400;
range 192.168.3.100 192.168.3.200;
ddns-domainname "admon.tecnologia.edu.ni";
ddns-rev-domainname "3.168.192.in-
addr.arpa";
}
}
3
host admon1 {
option host-name “admon1.admon.tecnologia.edu.ni”
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 192.168.3.1;
}
host admon2 {
option host-name “admon2.admon.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.3.2;
}
host admon3 {
option host-name “admon3.admon.tecnologia.edu.ni”
hardware ethernet 09:20:67:45:ca:d6;
fixed-address 192.168.3.3;
}
}
Pool Agrupa un conjunto de parámetros que son aplicados a cada uno de los host que
forman parte de la subred.
3
max-lease-time 400; Indica el tiempo máximo de asignación en segundos. Este
parámetro se puede utilizar para evitar que los clientes tomen una dirección IP por tiempo
indefinido.
Para iniciar dhcpd es necesario activarlo en el editor de niveles de ejecución. Con el fin de
que siempre se inicie automáticamente al arrancar el sistema, se debe activar para los niveles
de ejecución 3 y 5 en el editor de niveles de ejecución, esto es ejecutar:
3
Figura 5.2 Configuración de los clientes en windows.
cat /var/lib/dhcp/db/dhcpd.leases
Longitud de la asignación.
A quién se ha asignado la dirección IP.
Fechas iniciales y finales de la asignación.
Dirección MAC de la tarjeta de interfaz de red utilizada para recuperar la asignación.
Artículo II. La hora es según GMT, no con la hora local.
3
Squid utiliza el archivo de configuración localizado en /etc/squid/squid.conf.
Existen un gran número de parámetros en este archivo, de los cuales se configuran los
siguientes:
http_port
caché_mem
caché_dir
cache_mgr
Listas de control de acceso (acl)
Reglas de control de acceso (http_access)
httpd_accel_host
httpd_accel_port
httpd_accel_with_proxy
Los Puertos Registrados (rango desde 1024 hasta 49151) recomendados para Servidores
Intermediarios (Proxies) pueden ser el 3128 y 8080 a través de TCP. De modo predefinido
Squid utiliza el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo
haga en cualquier otro puerto disponible como el 8080 o bien que lo haga en varios puertos
disponibles a la vez.
#
# You may specify multiple socket addresses on multiple
lines.
#
# Default: http_port 3128
http_port 3128
http_port 8080
#
# You may specify multiple socket addresses on multiple
lines.
#
# Default: http_port 3128
http_port 192.168.0.1:3128
http_port 192.168.0.1:8080
3
En este caso se establecen 64 MB como valor para este parámetro:
cache_mem 64 MB
Este parámetro se utiliza para establecer que tamaño se desea que tenga el caché en el disco
duro para Squid, es decir cuanto se desea almacenar de Internet en disco duro. De modo
predefinido Squid utiliza un caché de 100 MB, 16 directorios con 256 niveles cada uno.
Se puede incrementar el tamaño del caché hasta donde lo desee el administrador. Mientras
más grande sea el caché, más objetos se almacenarán en éste y por lo tanto se utilizará
menos el ancho de banda. La siguiente línea establece un caché de 700 MB, 16 directorios y
256 niveles cada uno:
De modo predefinido, si algo ocurre con el caché, como por ejemplo que mueran los
procesos, se enviará un mensaje de aviso a la cuenta webmaster del servidor.
cache_mgr webmaster@tecnologia.edu.ni
A continuación una breve descripción de cada una de las ACL antes descritas:
3
Esta lista se denomina all, los números 0.0.0.0/0.0.0.0 representan todas las redes
con cualquier máscara de red, es decir Internet. Se hace esta declaración para referirse a
Internet.
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
Si se desea establecer una lista de control de acceso que abarque a toda la red local, basta
definir la IP correspondiente a la red y la máscara de la subred. En este caso, se tiene una red
donde los clientes tienen direcciones IP 192.168.X.X con máscara de subred 255.255.0.0.
3
\.mpeg$ \.doc$ \.scr$ \.ra$
\.mov$ \.xls$ \.sys$ \.mbd$
\.ram$
Los días de la semana se definen con letras, las cuales corresponden a la primera letra del
nombre en inglés, de modo que se utilizarán del siguiente modo:
S Sunday - Domingo
M Monday - Lune
T Tuesday - Martes
W Wednesday - Miércoles
H Thursday - Jueves
F Friday - Viernes
A Saturday - Sábado
Esta regla define a la lista semana, la cual comprende un horario de 08:00 a 21:00 horas
desde el Lunes hasta el Viernes.
Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de
Acceso. Deben colocarse en la sección de reglas de control de acceso definidas por el
administrador, es decir, a partir de donde se localiza la siguiente leyenda:
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
Para este caso la definición de las reglas de control de acceso se definen también en el
archivo /etc/squid.conf:
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
http_access allow semana redlocal inocentes !
sitiosdenegados !listaextensiones
3
http_access deny all
Cuando un usuario hace petición hacia un objeto en Internet, este es almacenado en el caché
de Squid. Si otro usuario hace petición hacia el mismo objeto, y este no ha sufrido
modificación alguna desde que lo accedió el usuario anterior, Squid mostrará el que ya se
encuentra en el caché en lugar de volver a descargarlo desde Internet.
3
Esta función permite navegar rápidamente cuando los objetos ya están en el caché de Squid
y además optimiza enormemente la utilización del ancho de banda.
httpd_accel_no_pmtu_disc on
Para poder hacer uso de las páginas de error traducidas al español, es necesario cambiar un
enlace simbólico localizado en /etc/squid/errors para que apunte hacia
/usr/share/squid/errors/Spanish en lugar de hacerlo hacia
/usr/share/squid/errors/English.
rm –f /etc/squid/errors
Colocar un nuevo enlace simbólico apuntando hacia el directorio con los archivos
correspondientes a los errores traducidos al español.
ln –s /usr/share/squid/errors/Spanish /etc/squid/errors
Nota: Este enlace simbólico debe verificarse, y regenerarse de ser necesario cada vez que
sea actualizado el Squid.
Una vez terminada la configuración, ejecutar el siguiente mandato para iniciar por primera
vez Squid:
Si se desea que Squid inicie de manera automática la próxima vez que inicie el sistema:
#chkconfig squid on
3
Se puede realizar diagnóstico de problemas indicándole a Squid que vuelva a leer la
configuración, lo cual devolverá los errores que existan en el archivo
/etc/squid/squid.conf.
#/etc/init.d/squid reload
Cuando se trata de errores graves que no permiten iniciar el servicio, se puede examinar el
contenido del archivo /var/log/squid/squid.out con el comando less, more o
cualquier otro visor de texto.
#less /var/log/squid/squid.out
Esta configuración exige que cada navegador esté configurado para utilizar el proxy. Hay
que indicarle al navegador que utilice como proxy el servidor que alberga Squid con la
dirección 192.168.0.1 y puerto 3128. Generalmente se accede a esta pantalla en las opciones
del navegador.
BIBLIOGRAFIA
Repositorios de linux:
http://suse.inode.at/opensuse/distribution/versión/repo/oss/suse/i586/
ftp://suse.inode.at/opensuse/distribution/versión/repo/non-oss/suse/i586