Professional Documents
Culture Documents
(Administración Avanzada)
Introducción
En este módulo se estudiará Linux desde el punto de vista del administrador. Mucha de la
información que se ve en este módulo, también es aplicable a ambientes hogareños.
Herramientas de Configuración
Cada distribución de Linux (las que no se basan en ninguna otra) posee una herramienta de
administración diferente. Estas herramientas ayudan al administrador en las tareas cotidianas y en
las no tan cotidianas también. De todas las distribuciones de Linux, existen tres que pusieron un
gran esfuerzo en estas herramientas. Estas son SuSE, OpenLinux (Caldera) y RedHat.
Linuxconf (RedHat):
Yast (SuSE):
SuSE también tiene su interface, yast, al igual que linuxconf es una interface muy intuitiva y le
permite al administrador acelerar sus trabajos cotidianos.
COAS (Caldera)
Archivo Descripción
/etc/passwd Contiene todos los usuarios dados de alta en el sistema
/etc/shadow Contiene todas las claves encriptadas, información sobre el vencimiento de claves y
estado de una cuenta
/etc/group Contiene todos los grupos definidos
/etc/fstab Tabla de sistemas de archivo (file systems)
/etc/profile Archivo que define "perfil" preliminar de TODOS los usuarios que se loguean al
equipo, incluyendo "root".
/etc/hosts Tabla de equipos de red conocidos
/etc/hosts.equiv Tabla de equipos "confiables"
/etc/inittab Tabla de procesos de init (niveles de corrida, etc.)
/etc/issue Mensaje que aparece en la pantalla "login:" (en terminales virtuales y estáticas, no para
sesiones de telnet)
/etc/motd Mensaje del día que se despliega cada vez que un usuario entra al equipo
/etc/shells Intérpretes permitidos para usuarios de FTP
/etc/termcap Capacidades de las terminales ("secuencias de escape" que especifican como hacer
para escribir en una pantalla de caracteres)
/etc/sysconfig Directorio que contiene los archivos de configuración de una gran parte del hardware
de la máquina (periféricos y placas en gral.). Este directorio es propio de la distribución Red Hat.
/etc/sysconfig/mouse Especificaciones del ratón
/etc/sysconfig/clock Especificaciones para el reloj del equipo
/etc/sysconfig/keyboard Especificaciones del teclado
/etc/sysconfig/network Especificaciones de la red
/etc/sysconfig/sendmail Especificaciones del servicio de correo
/etc/sysconfig/network-scripts Especificaciones de todas las interfaces de red definidas dentro del
equipo (dial-up, ethernet, etc.)
Ejercicios:
1)Revisar los archivos presentados y estudiar que parte cambian al modificar configuraciones
UTILIZANDO LAS INTERFACES DE ADMINISTRACION (linuxconf, por ejemplo)
Configuración de red
La configuracion de la placa de Red se puede hacer desde un modulo del linuxconf llamado
netconf, o escribiendo en varios archivos de configuracion.
para que la placa este activa tengo que activarla desde el archivo /etc/sysconfig/network-
scripts/ifup-eth0 (esta es una copia del archivo para el mismo equipo):
DEVICE=eth0
BOOTPROTO=static
IPADDR=10.10.3.80
NETMASK=255.0.0.0
ONBOOT=yes
Para que la nueva configuracion tenga efecto podemos levantar la interface eth0 o el servicio de red:
service network restart
#!/usr/bin/perl
#/************************************************** ********************
# * File : dhcp-auto.pl
# * Author: Eric SEIGNE
# * mailto:erics@rycks.com
# * http://www.rycks.com/erics/linux/
# * Date : 26/03/2000
#*
# * Description:
# * ------------
# * Convertisseur automatique de dhcpd.leases vers un dhcp fixe
#*
# * 27/03/2000 Modification, si on ne fait pas de dns, il faut mettre
# * les ip dans le dhcp fixe.
# * Sortie des fichiers dns classés par ordre croissant d'ip
#*
# * Attention, si il y a plusieurs réseaux ip dans le fichier leases
# * seul un fichier de dns ne sera créé. Vous devrez ensuite le répartir
# * entre vos différents fichiers dns.
#*
# ************************************************** *******************/
$choix = "";
$dns = 0;
GetOptions ("f:s",\$fichier,"d:s",\$domaine,"h",\$help,"dns", \$dns);
if($help){
print "\n\n";
print "dhcp-auto\t\t\t\t\tUn utilitaire rycks.com\n---------\t\t\t\t\terics\@rycks.com\n\n";
print "Constitution du dhcpd.conf à partir du fichier dhcpd.leases\n";
print "Options:\n";
print "\t-f [fichier] donne le dhcpd.leases à utiliser\n";
print "\t-d [domaine] donne le nom de domaine dans lequel on se situe\n";
print "\t-dns si vous voulez creer les fichiers dns\n";
print "\t ils porteront les noms named.\$domaine et named.\$domaine.rev\n";
print "\t-h affiche cet écran d'aide\n\n";
exit;
}
#lecture du fichier
my $ip = "";
my $hostname = "";
my $mac = "";
my $pos = 0;
while (<IN>) {
# print $_;
#on cherche l'ip
my ($t, $lease) = split("lease ",$_);
if($lease){
($ip,$t) = split(" ",$lease);
}
if($dns){
#on classe le tableau par ordre croissant des ip
#pour facilité la lecture du fichier de dns
tie(%classe, 'DB_File', undef, O_RDWR|O_CREAT, 0, $DB_BTREE);
while (($mac, $v) = each %h){
my ($ip, $hostname) = split("\/",$v);
$classe{"$ip"} = "$hostname";
}
#les commentaires
print "2 - Pensez à ajoutez dans votre fichier named.conf les lignes qui\n";
print " correspondent à vos domaines\n\n";
print "3 - Ajoutez dans votre fichier named.$domaine les lignes qui\n";
print " se trouvent dans le fichier named.$domaine.ajouter\n\n";
print "4 - Ajoutez dans votre fichier named.$domaine.rev les lignes qui\n";
print " se trouvent dans le fichier named.$domaine.rev.ajouter\n\n";
}
#on "libere" h ...
untie %h;
untie %classe;
#au revoir
print "Pensez ensuite à relancer les serveurs dhcp et dns si nécessaire !\n";
Contrucción automática del DNS
¿Por qué parar a medio camino cuando podemos configurar el servidor DNS al mismo tiempo?
El mismo script de perl, con la opción -dns, creará los ficheros named.$domaine.ajouter y
named.$domaine.rev.ajouter que deberías comprobar antes de añadirlos a tus propios ficheros de
configuración del dns.
Además, es necesario rellenar el fichero named.conf con parámetros de tu propio dominio. Por
ejemplo:
<añadir al fichero named.conf> zone "ciua.com.ar" type master; file "ciua.com.ar"; ; zone
"3.10.10.in-addr.arpa" type master; file "3.10.10"; ; </añadir>
Entornos de Red
Disponible por el mismo precio (mejor incluso cuando es gratis , la configuración del "Entorno
de red" de las máquinas con windows. Esta es la historia, con un pequeño dibujo y sus
explicaciones:
Hay una historia de dos redes, una era de 10 Mbits y la otra de 100 Mbits. El principal problema fue
que ambas redes no podían "ver" a la otra a través del "Entorno de Red" de windows.
La solución es WINS. WINS permite declarar, en la red, un servidor que mantiene una lista de
enlaces entre IPs y nombre de varios dominios. Es una especie de master para las redes R1 y R2.
Es pues necesario configurar un servidor WINS y a los clientes para que lo usen y crear un gateway
IP entre ambas redes.
Samba soporta perfectamente WINS.
Esquema:
------------------- I I I Red R1 I I I I 10.10.3.0 I I 255.255.255.0 I -------+----------- | -----|----- eth0:
10.10.3.80 Servidor Linux eth1: 10.10.3.80 -----|----- | -------+----------- I I I Red R2 I I I I
10.10.2.81 I I 255.0.0.0 I -------------------
Se modifica dhcpd.conf para que autoconfigure a los clientes para usar nuestro servidor wins .
¡Sin dhcp, hubiera sido necesario configurar cada cliente individualmente para activar su acceso al
servidor wins!
AVISO: NO OLVIDES AÑADIR LAS SIGUIENTES LÍNEAS A TU FICHERO DHCPD.CONF
PARA QUE TU SERVIDOR WINS SEA USADO POR LOS CLIENTES
<fichero dhcpd.conf> [...] option routers 192.168.0.1; option netbios-name-servers 192.168.0.1;
option netbios-dd-server 192.168.0.1; option netbios-node-type 8; [...] </fichero>
Para tener el servidor wins funcionando, tengo funcionando Samba, configurado como sigue:
<fichero smb.conf> ; validated with samba 2.0.5 [global] workgroup = rycks.com server string =
Linux Box comment = Linux Box netbios name = pantoufle volume = pantoufle guest only = yes
guest account = nobody log file = /var/log/samba-log.%m max log size = 50 share modes = yes
security = share socket options = TCP_NODELAY os level = 33 ; Configured as network master
domain master = yes local master = yes preferred master = yes ; Activate wins support wins support
= yes wins proxy = yes ; FTP sharing [ftp] path = /home/ftp/pub public = yes printable = no guest
ok = yes </fichero>
Es necesario reiniciar los servidores, dhcp, samba y dns si se hacen modificaciones. Reinicia
también los clientes dhcp para que se den cuenta de la nueva configuración. Busca los grupos en la
"otra" red en el "Entorno de Red".
Dado el usual retraso que windows necesita para añadir las nuevas máquinas en el "entorno de red",
sugiero que busques un ordenador usando su nombre. Prueba a encontrar un ordenador de la red en
la que estás, y luego otro de la "otra" red.
Si puedes "ver" máquinas de fuera, pero no puedes acceder a ellas, necesitas configurar el gateway
para que actúe como un gateway real entre ambas redes.
Para más información sobre ello, mírate el ipchains.
Normalmente es necesario usar algo similar a:
#Reiniciar cadenas ipchains -F #Activar masquerading ipchains -A forward -i eth0 -j MASQ
Bugs y limitaciones
Ves con cuidado, si el servidor dhcp se usa en dos áreas a la vez, solo habrá un fichero dns a la
salida del programa... Será necesario ordenarlo a mano.
Configuración de una red basada en DNS
La primera le explica en palabras breves lo que significa la Internet y como se desarrolló.
La segunda le ayudará a comprender algunas expresiones técnicas.
La tercera se dedica de los protocolos más importantes de la Internet: El TCP y el IP.
La cuarta le ayudará entender el funcionamiento del DNS.
La quinta sección pertenece a la parte practica, explicando la creación de un Servicio de Dominio
de Nombres (Domain Name Service - DNS) para una red local con un gateway, usando el sistema
operativo LINUX, como fue implementado en la red del autor. De este modo el documento sirve
como introducción básica para principiantes y ofrece una referencia práctica para avanzados.
1 La ARPANET, el origen de la World Wide Web
2 Comprendiendo algunas expresiones técnicas
3 El TCP/IP
3.1 El IP y la IP
3.2 El TCP (Transmission Control Protocol)
4 El Sistema de Dominio de Nombres (DNS: Domain Name System)
4.1 Un resumen del sistema
4.2 ¿Por qué se necesita el DNS?
5 La Instalación de un Servidor de Dominio de Nombres
5.1 Archivos de base de datos (database files)
5.2 Ressource records
5.3 Los archivos completos para nuestro dominio ficticio
5.4 Abreviaciones
5.5 La Librería de Resolver
5.6 Probando su setup con nslookup
IP
Los datagrams como unidades mas pequeñas de la transmisión de datos son intercambiados por un
protocolo - el Internet Protocol (el IP), que es completamente independiente del hardware. De este
modo llegamos a la ventaja principal del protocolo IP, que consiste en reunir redes físicamente
separadas en una red aparentemente homogénea.
Las funciones principales del IP:
•Definir datagrams: al enviarse un archivo vía la red, es dividido en partes mas pequeños, es decir,
bloques de datos o paquetes
•Establecer la dirección en la Internet: el IP incorpora esta información en el cabezal, junto con la
identificación del mismo
•Routing de datagrams a computadoras lejanas: si un datagram va dirigido a una computadora que
no se encuentra en la misma red, es direccionado a un gateway para llegar al destino indicado.
Pero por otra parte el IP no dispone de informaciones de control de la transmisión (handshake), es
decir, que el IP transporta paquetes de un lugar a otro sin el debido control de que se recibieron
todos los paquetes en el orden correcto. Este problema lo trataremos más adelante.
Ahora tenemos una idea sobre el software de la transmisión (Routing). Recordemos que nuestra
computadora tiene el nombre SERVER80. Las computadoras de redes reciben nombres porque son
mas fáciles de recordar que una secuencia de cifras.
El IP tiene un esquema de dirección independiente del hardware. Esto se consigue asignando una
cifra única de 32 bits a un host; la dirección-IP (la IP). La dirección IP es representada por cuatro
cifras decimales (octetos) separadas por puntos. SERVER80 por ejemplo, podría tener la dirección
de hardware 0x952C0C02, la cual aparecería de la forma 10.10.3.1 .
En este punto habrá comprendido que tenemos tres direcciones distintas:
•El nombre del host: SERVER80
•La dirección IP: 10.10.3.1
•Y la dirección del hardware. En nuestro caso será una tarjeta de Ethernet con la dirección única
0x952C0C02.
La dirección de la tarjeta de Ethernet ocupa un puerto en el sistema operativo, usualmente es eth0-n
bajo Linux. Puertos seriales p. ej. llevan el nombre cua0-n o ttyS0-n. Para ser exacto no se debería
decir que su computadora o el host tiene el nombre SERVER80, sino que se refiere al interfaz de
hardware correspondiente.
Usted sabe ahora que el Internet Protocol (el IP) transmite datos entre computadoras en forma de
datagrams. Cada datagram es transmitido a la dirección en la Internet u otra red local, que se indica
en el cabezal del datagram. La dirección de destinatario es una dirección estándar (la IP) de 32 Bits
y contiene información suficiente para identificar inequívocamente una computadora de una red.
Una dirección IP consiste de dos partes:
•Una dirección de red
•Y una dirección de la computadora (host) dentro de esta red.
Dependiendo del tamaño de la red resulta el número de las direcciones de host. Para cumplir estas
diferentes exigencias, se ha creado diferentes clases de redes, que definen separaciones de dirección
IP diferentes.
Clase A:
La Clase A abarca redes de 1.0.0.0 hasta 127.0.0.0. La cifra de este tipo de red se encuentra en el
primer octeto. Así quedan 24 Bits para definir los hosts, lo que es suficiente para aproximadamente
1,6 millones de computadoras.
Clase B: La Clase B abarca redes de 128.0.0.0 hasta 191.255.0.0 . La cifra de este tipo de red se
encuentra en los dos primeros octetos. Esto permite 16.320 redes con 65.024 computadoras en cada
una.
Clase C: Clase C abarca las redes 192.0.0.0 hasta 223.255.255.0 . La cifra de red se encuentra en los
primeros tres octetos. Esto permite casi dos millones de redes con alrededor de 254 hosts. Clase
D, E y F: Direcciones, que están en la gama de 224.0.0.0 hasta 225.0.0.0 son experimentales, o son
reservadas para el uso futuro y no definen ninguna red. Regresando a nuestro ejemplo, Ud. puede
ver que SERVER80 con la IP 10.10.3.1 forma parte de una red de la clase A: 149.176.0.0 y precisa
la computadora host 12.7. Es importante saber, que la dirección de host no debe tener el 0 ni el 225,
como están reservados para objetivos especiales. La dirección de host , consistiendo solo de ceros
identifica la red misma (10.10. 0.0). Si las cifras de host sólo consisten de 255 (10.255.255.255) se
habla de una dirección broadcast (radio), ya que los datos, que son mandados a esta dirección, son
recibidos de todas las computadoras en la red 10.10.0.0.
Al mismo tiempo existen dos direcciones de red reservadas: 0.0.0.0, que se llama default route y
127.0.0.0 que es la dirección-loopback. La default route tiene que ver con la manera como IP realiza
el routing de los datagrams (apunte: masquerading).
Mas importante por ahora es la red 127.0.0.0, la cual es reservada para el tráfico de IP, que tiene
lugar en su computadora. La IP 127.0.0.1 se dirige usualmente a un interfaz en su computadora que
se llama interfaz de loopback, lo que funciona como un círculo cerrado. Cada paquete mandado allí,
es devuelto inmediatamente. De este modo el loopback sirve para probar el software de red sin estar
obligado usar una red "real".
"Ping localhost" o "ping 127.0.0.1" es una prueba común bajo LinuX para ver si TCP IP está
configurado de la manera correcta.
La IP que Ud. va a tener al final es decidido por una institución central que se llama NIC (Network
Information Center). La mejor solución es encargar su proveedor con la reservación de la dirección
IP. Si Ud. está seguro que su red nunca será conectada a la Internet, puede elegir una IP cualquiera.
Pero para estar seguro que ningún paquete de datos escape a la Internet, conviene usar IPs que sólo
son válidos dentro de su red privada y no pueden ser transferidos entre Sistemas de Internet.
Estas direcciones son:
•Clase A: 10.0.0.0
•Clase B: 172.16.0.0 hasta 172.31.0.0
•Clase C: 192.168.0.0
Sin embargo es posible instalar un gateway para la Internet, es decir, que la dirección externa del
gateway es conocida dentro de la Internet, pero las computadoras dentro de su red normalmente no
las pueden accesar, porque sus IPs no son transmitidos en la Internet. Los hosts de su red por otro
lado tendrán acceso a la WWW (World Wide Web).
(5) La Instalación de un Servidor de Dominio de Nombres para una red local (LAN) con gateway
bajo el Sistema Operativo LINUX usando BIND (Berkeley Internet Name Deamon: Demonio de
Nombres Internet de Berkeley).
Lo siguiente está basado en un supuesto de que usted sabe instalar y configurar tarjetas de red bajo
LinuX. Los comandos "ifconfig" y "ping localhost" pueden comprobar una configuración correcta
para cada computadora. Ahora nos dedicamos a conectar sus computadoras vía el DNS
configurando BIND. Usted tiene que tener instalado el paquete BIND, que contiene named
(pronunciado neimdii = el demonio de servidor) en la computadora que trabajará como servidor de
dominio. En este capitulo vamos a instalar un dominio ficticio. De este modo usted solo tiene que
reemplazar las IPs, los nombres de las computadoras y un par de detalles adicionales de su red.
Nuestro dominio ejemplo es para una red interna en un alula del instituto llamada aula3. El dominio
en el cual trabajaremos se llamara ciua.com.ar.
Una parte de la tabla de host (hosttable, usualmente el archivo /etc/hosts) muestra lo siguiente:
/etc/hosts 127.0.0.1 localhost.localdomain localhost
10.10.3.30 SERVER30.ciua.com.ar SERVER30
10.10.3.32 EQUIPO32.ciua.com.ar EQUIPO32
10.10.3.80 SERVER80.ciua.com.ar SERVER80
10.10.3.39 EQUIPO39.ciua.com.ar EQUIPO39
10.10.3.35 EQUIPO35.ciua.com.ar EQUIPO35
10.10.3.42 EQUIPO42.ciua.com.ar EQUIPO42
10.10.3.33 EQUIPO33.ciua.com.ar EQUIPO33
10.10.3.43 EQUIPO43.ciua.com.ar EQUIPO43
10.10.3.31 EQUIPO31.ciua.com.ar EQUIPO31
10.10.3.32 EQUIPO32.ciua.com.ar EQUIPO32
10.10.3.36 EQUIPO36.ciua.com.ar EQUIPO39
10.10.3.40 EQUIPO40.ciua.com.ar EQUIPO40
10.10.3.44 EQUIPO44.ciua.com.ar EQUIPO44
10.10.3.57 EQUIPO57.ciua.com.ar EQUIPO57
10.10.3.38 EQUIPO38.ciua.com.ar EQUIPO38
10.10.3.37 EQUIPO37.ciua.com.ar EQUIPO37
(5.1) Archivos de base de datos (database files)
La primera etapa será traducir la tabla de host a datos equivalentes de DNS. El DNS consiste de
varios archivos: Un archivo proyecta todos los nombres de hosts a direcciones IP. Otros archivos
vuelven a proyectar las IPs a nombres de hosts. La búsqueda de direcciones IP a nombres de hosts
es llamada reverse mapping (mapeo reverso) y cada red tiene su propio archivo para el mapeo
reverso.
He llamado el archivo que proyecta nombres a direcciones named.hosts. Los archivos que
proyectan las direcciones a hosts los llamé ciua.com.arcorrespondiendo a las dos redes de la
empresa ciua.
Aparte de estos existen dos archivos de datos que son mas o menos iguales para cada servidor.
Estos los llamé named.ca y named.local.
Para unir todos los archivos de base de datos, el Servidor de Nombres requiere un archivo de inicio
- usando BIND, este archivo usualmente es /etc/named.boot. Los archivos de base de datos son
específicos para el DNS. El archivo de inicio es específico para la implementación del Servidor de
Nombres - en nuestro caso usaremos BIND.
Los primeros dos bloques no le van a sorprender. La "A" indica dirección (address) y cada
ressource record mapea un nombre a una dirección. Tubo actúa como Router y tiene dos direcciones
asociados con su nombre y por eso tiene dos ressource records.
Formulemos una regla general para esto: Cuando un host tiene más de una interfaz de red
(multihomed host), se crea un address record "A" para cada alias que es único para una dirección.
PTR Records
Ahora creamos los mapeos de dirección a nombre. El archivo ciua.com.ar mapea direcciones a
nombres de hosts para la red 10.10.3. El ressource record para este mapeo es el PTR (pointer =
puntero, indicador) record. Existe un record para cada host de esta red. (Recuerde que en el DNS
son buscado nombres para direcciones). La dirección esta puesta en orden inversa y es adjuntado in-
addr.arpa.
Los siguientes records son los PTR records para la red 10.10.3.
PTR record @ IN SOA SERVER80.ciua.com.ar. root.ciua.com.ar. (
2001111602 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; default_ttl
)
@ IN NS SERVER80.
37 IN PTR EQUIPO37.
44 IN PTR EQUIPO44.
31 IN PTR EQUIPO31.
32 IN PTR EQUIPO32.
33 IN PTR EQUIPO33.
34 IN PTR EQUIPO34.
35 IN PTR EQUIPO35.
36 IN PTR EQUIPO36.
38 IN PTR EQUIPO38.
39 IN PTR EQUIPÒ39.
40 IN PTR EQUIPO40.
47 IN PTR EQUIPO47.
50 IN PTR EQUIPO50.
51 IN PTR EQUIPO51.
30 IN PTR EQUIPO30.
80 IN PTR SERVER80.
named.boot directory /var/named
primary ciua.com.ar named.hosts
primary 3.10.10.in-addr.arpa ciua.com.ar
primary 0.0.127.in-addr.arpa named.local
cache . named.cache
INDICE
Módulo V 1
(Administración Avanzada) 1
Introducción 1
Herramientas de Configuración 2
Linuxconf (RedHat): 2
COAS (Caldera) 3
Usuarios Especiales 3
La tabla de usuarios 3
Usuarios de Correo 3
Usuarios de FTP 4
Permisos Especiales 4
SUID (Set User ID) 4
Modo de uso: 5
SGID (Set Group ID) 5
4) Sticky bit 5
Archivos de Confifuración 6
Configuración de red 7
Configuración de una red usando DHCP 8
El objetivo de este capitulo es configurar una red usando: 8
Seguridad en la configuración DHCP 10
Contrucción automática del DNS 14
Entornos de Red 15
Bugs y limitaciones 17
Configuración de una red basada en DNS 17