Servicios Varios

Anuncio
Administración de Redes
SERVICIOS DE RED
Profesor Eduardo Blanco
Departamento de Computación y T. I.
USB
Niveles de corrida
 0 - Halt the system
 1 - Single-user mode
 2 - Multi-user mode (without NFS)
 3 - Multi-user mode
 5 - Multi-user mode, graphical login
 6 - Reboot the system
 Fuente:
http://www.iodynamics.com/education/runlevel.html
Linux Run level scripts
 Todos los scripts estan /etc/init.d
 Cada nivel de corrida tiene un directorio con scripts,
por ejemplo /etc/rc0.d con links simbólicos a
/etc/init.d
 Existen dos tipos de script:


los K
los S
 Los scripts reciben parámetros como: start, stop,
status, restart, etc
 Fuente:
http://www.comptechdoc.org/os/linux/howlinuxworks/li
nux_hlrunscripts.html
Servicios/aplicaciones de red
 DHCP
 NAT
 Correo electrónico
 Archivos compartidos
 WWW/HTTP
 Información
 DNS
compartida
 Detección/corrección
de problemas
 Manejo de demonios
DHCP
Dynamic Host Configuration
Protocol
DHCP
 Objetivo: simplificar la configuración de
parámetros de red, adaptarse a ambientes
dinámicos (portátiles, ISP)
 Los parámetros de configuración son
“adquiridos temporalmente”
 Parámetros típicos: IP, máscara de red,
gateways, servidores DNS
Protocolo DHCP
 El cliente hace difusión pidiendo parámetros:
si hay un servidor DHCP en la red le responde.
 Los parámetros son alquilados (lease) por un
tiempo configurable. Cuando se alcanza la
mitad de ese tiempo, el cliente debe renovar el
alquiler
 El servidor mantiene la información de sus
alquileres DHCP otorgados
 El IP otorgado a un cliente puede ser fijo o
tomado de un rango (pool)
Configuración servidor DHCP
Crear /etc/dhcpd.conf (a partir de la muestra):
Subredes y rango de direcciones manejados por
dhcpd

Duración de los alquileres (en segundos)

Configuraciones para clientes (IP fijos asociados
a MAC address)

Netmask, ruta por defecto, dominio y servidores
DNS
Crear (p.e.,touch) la BD de alquileres en

/var/db/dhcp.leases
#dhcpd.conf.
# 2 interfaces de red, una a Internet otra a red con NAT
option domain-name “synack.net”;
option domain-name-servers gw.synack.net, gw2.synack.net;
option subnet-mask 255.255.255.0;
default-lease-time 600; # si cliente no especifica valor
max-lease-time 7200; # nunca sobrepasará este valor
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.51 192.168.1.60;
option broadcast-address 192.168.1.255;
option routers gw.synack.net;}
subnet 209.180.251.0 netmask 255.255.255.0 {
} # obligatorio para cada subred
host gandalf { # obligatorio para direcciones fijas
hardware ethernet 08:00:07:12:34:56;
fixed-address gandalf.synack.net; }
Cliente DHCP
 dhcpcd ( o pump en Red Hat)
 Configuración (Red Hat)
 /etc/sysconfig/network-scripts/ifcfg-interface
 En
lugar de parámetros fijos (IP, gateway,
netmask, etc.), sólo la variable
BOOTPROTO=dhcp
 Arranca automáticamente cuando se levanta
interfaz
Ifconfig eth0 up
NAT
Network Address Translation
NAT
 Objetivo: reducir la demanda por direcciones IP válidas
(IP-masquerading o Network-masquerading)
 Una organización:
utiliza direcciones inválidas (privadas) en su
intranet, por ejemplo, de las redes 10.0.0.0,
172.20.0.0 o 192.168.x.0
 requiere de al menos una dirección IP válida

 Los IPs (y puertos a veces) en datagramas son
traducidos en la interfaz con Internet
Tipos de NAT
 El tipo básico establece correspondencias
entre direcciones inválidas y direcciones
válidas. No puede haber más conexiones
simultáneas que direcciones válidas
 PAT (Port address translation) o NA(P)T :
traduce (dirección interna, puerto_x) a
(dirección válida, puerto_y), donde puerto_y es
escogido por el servidor. Permite compartir
una IP válida entre muchos (hasta 64000)
NAT en Linux
 Herramienta: iptables (antes ipchains)
 Permite NAT y también reglas de filtraje de
paquetes (firewall)
 Ejemplo:
> iptables ­t nat ­A POSTROUTING SNAT \
–to­source 128.138.198.1­128.138.198.10
Comentarios sobre NAT
 Ventajas:
Economía de IP
 Protección contra escrutadores (scanners)
externos

 Problemas: Aplicaciones que utilizan dirección
IP. Por ejemplo, FTP, Ipsec,
Servidor Web
WWW/HTTP
Hospedaje de páginas Web
 Requiere un servidor de HTTP, escuchando
peticiones por puerto 80. Clientes usan
navegadores (Mozilla, IE, Opera, ...)
 Hyper Text Transmission Protocol: protocolo de
intercambio de páginas Web vía TCP, con
comandos en ASCII
 Solicitudes identificadas por un URL
(protocolo://máquina[:puerto]/dir/[archivo])
Hospedaje de páginas Web (cont.)
 Las páginas pueden ser estáticas o dinámicas
 Las dinámicas requieren generación de
contenido en línea, usando servidores que
acepten scripts
 Common Gateway Interface (CGI): mecanismo
para ejecución de scripts (Ej.: Perl, Python).
Los servicios en directorio cgi-bin
 Otros: JSP, ASP, PHP
Servidor HTTP Linux: Apache
 Servidor más usado en Internet
 Código abierto, estable, bien mantenido
 Permite páginas dinámicas
 Incluido en todas las distribuciones de Linux
 httpd: arranca como parte de los servicios
activos al iniciar la máquina (/etc/rc.d o
/etc/init.d)
Configuración
 Archivos en /etc/httpd o /etc/apache2
 httpd.conf o apache2.conf: incluye parámetros
como directorios por defecto, permisos,
máximo número de conexiones, módulos,
idioma.
 Apache usa módulos para seleccionar
funcionalidades opcionales, tales como control
de acceso, proxy, etc.
Caching y Servidores Proxy
 Un servidor proxy (proxy server) hace de intermediario
de las peticiones Web de una red hacia fuera (p.e.,
Internet)
 Permite optimizar accesos almacenando páginas
recientes (caching), filtrar, etc.
 Guarda las páginas recientemente cargadas (cache) y
las regresa si son solicitadas de nuevo, sin necesidad
de traerlas de Internet
 Software para Linux: squid
Manejo de demonios
inetd, xinetd
inetd/xinetd
 Son demonios que manejan otros demonios que
ofrecen servicios de red, para optimizar recursos
 Escucha peticiones en sus puertos respectivos (por
ejemplo, ssh en puerto 22) y activa el demonio
correspondiente para atender la petición
 Una vez que la tarea ha sido completada, elimina el
demonio creado
 xinetd incluye mejoras sobre inetd (archivos no
compatibles /etc/xinetd.conf vs. /etc/inetd.conf!)
DNS
Domain Name Service
Domain Name System
 Aplicación distribuida (cliente-servidor),
desarrollada en los 80
 Implementación estándar: BIND (v. 9)
Un espacio de nombres jerárquicos para hosts e IP
 Una tabla de hosts implementada como DB
distribuida
 Un resolver, para buscar en esa BD
 Un mecanismo para encontrar servicios en la red
(mail, por ejemplo)
 Un protocolo para intercambiar info. de nombres

Ejemplo registros DNS
 Archivo
forklift
IN
 Archivo
7
IN
“forward”
IN
MX
A
192.108.21.7
10 chimchim.xor.com
“reverse”
PTR forklift.xor.com
Ejemplo consulta DNS
root (“.”)
lair
ns.cs.colorado.edu
edu
berkeley.edu
cs.berkeley.edu
Resolución de vangogh.cs.berkeley.edu
Componentes de BIND
 Demonio (servidor) llamado named que
responde consultas directamente o
preguntando a otros (conserva un cache)
 Rutinas de librería (gethostbyname) que
resuelven las consultas contactando los
servidores DNS
 Interfaces de línea de comando: nslookup,
dig y host
Tipos de servidores DNS
 Authoritative: representante oficial de una zona
(dominio menos sus subdominios). Datos sobre una
zona incluyen servidores de nombre de todos sus
subdominios
 Master: servidor primario de una zona (info en disco)
 Esclavo: (secundario) copia de un master
 Stub: copia datos de servidores de nombre (no
hosts)
 Nonauthoritative: responde del cache (puede no ser
válida)
 Recursivo y no recursivos
Eficiencia y caching
 Caching aumenta eficiencia de búsqueda
Positivo (normal)
 Negativo: no existe host o dominio, servidor no
responde o es inalcanzable por problemas de
red

 Hace balance de carga:
 named ordena sus alternativas de servidores de
nombre por RTT, y responde con el más rápido

Reparte si existen varios IP al mismo nombre
(ejemplo, yahoo, google, etc.)
Actividades instalación de BIND
 Obtener nombre de dominio, escoger
servidores de nombre, obtener BIND
 Configurar resolver (clientes)
 Configurar y levantar named, y configurar
archivos hint en servidores
 Configurar, actualizar archivos de zona
Configurar resolver
 Separar servidores que responden a peticiones
externas de internas
 Dependiendo del tamaño de la organización,
se pueden tener un maestro y varios esclavos
 Para las peticiones desde adentro, una
jerarquía de caches y un gran forwarder
(guarda en cache resultados) en la interfaz con
Internet ahorran ancho de banda
Configuración de servidores BIND
 Archivos de configuración: named.conf, archivo
de hints (apuntadores a raíz “.”), y para
masters, el archivo de zona
 /etc/named.conf especifica
el rol del servidor (master, esclavo o stub) en
relación a cada zona
 Cómo permite copiar registros de recursos
locales
 Opciones globales

Definición de zona
Ejemplo:
zone “nombre de dominio” {
type master;
file “path”; # archivo información local
}
options {
directory “/var/named/”;
pid-file “/var/named/named.pid”;};
zone “synack.net” {
type master;
file “synack.forw”; // archivo con info local (master)
allow-transfer { 198.11.19.15;}; }; // puede obtener copia
zone “1.168.192.in-addr.arpa” {
type master;
file “named.rev”; }; // reverso, para direcciones privadas
zone “.” {
type “hint”; // apuntadores a servidores de dominio raiz
file “cache.db”; };
zone “teich.net” {
type “slave”;
file “teich.net.sec”; // guarda localmente copia del master
masters { 216.103.220.218; } ; };
Base de Datos de DNS
 Archivos de texto con dos tipos de entradas;
registros de recursos y comandos
 Registro de recursos: [name] [ttl] [class] type
data
 name es un host o un dominio
 ttl es el tiempo máximo aceptado en cache
 class es IN (Internet) o CH (ChaosNet) o HS
(Hesiod)
Tipos de registro DNS
 Zone: SOA (Start of Authority) y NS (Name
Server)
 Basic: A (nombre a IP), PTR (IP a nombre), MX
(Mail exchanger), etc.
 Security: keys, etc.
 Optional: CNAME (Canonical name, para
aliases), etc.
SOA
 Marca el principio de una zona o grupo de
recursos localizados en el mismo lugar del
espacio de nombres DNS
 Ej: (@ es zona actual cs.colorado.edu, de named.conf )
@ IN SOA ns.cs.colorado.edu. master.cs.col.edu
(serial ; refresh; retry;...)
 Designa name server, email del responsable,
número de serial (incrementado en cada
actualización), etc.
Registros NS
 Siguen después del SOA
 Designan servidores de nombres para zonas:
zone [ttl] IN NS nombre
 Ej:
cs.colorado.edu IN NS ns.cs.colorado.edu
cs.colorado.edu IN NS anchor.cs.colorado.edu
 El zone puede obviarse porque está en el SOA
Registros NS (cont.)
 Registros A: asocian nombre a IP
anchor IN A 128.138.243.100
 Registros PTR: asocian IP a nombre (reversa)
 Registros MX: asocia una o más máquinas
como encargadas del correo de un dominio
name [ttl] IN MX preference host
piper IN MX 10 piper
IN MX 20 mailhub # si piper no responde
Utilidad registros MX
 Cuando hay una máquina encargada del
correo
 Cuando el destinatario esta caído
 Cuando el destinatario no puede ser alcanzado
a través de Internet
 Cuando el destinatario no habla SMTP
 Cuando el administrador así lo decide!
Registros CNAME
 Asocian otros nombres (alias) a una máquina
 alias [ttl] IN CNAME nombre
 Ej:
ftp
IN CNAME anchor
kb IN CNAME kibblebits
Receta para agregar rápidamente
una nueva máquina
•
•
•
•
Escoger nombre e IP (resp. reglas locales)
Identificar máquina similar en subred (modelo)
Conectarse al servidor de nombres maestro
Buscar en /etc/named.conf:
– Desde options, la línea con directory, para
ubicar archivo de zona
– Desde zone, encontrar nombre de archivos forward
y reverse de la zona de la nueva máquina
Receta (cont.)
• Editar archivo forward. Ubicar registro de
máquina modelo, duplicarlo y cambiarlo con el
nombre e IP de la nueva máquina. P.e.
modelo IN A 128.138.243.100
IN MX 10 mail­serv
• Idem para archivo reverse
• Correr rndc reload
• Verificar con dig, ping, etc.
Descargar