Administración de Redes SERVICIOS DE RED Profesor Carlos Figueira Departamento de Computación y T. I. USB Administración de Redes: Servicios de Red Carlos Figueira/USB Servicios/aplicaciones de red ● DHCP ● Correo electrónico ● NAT ● Archivos compartidos ● WWW/HTTP ● ● Manejo de demonios ● DNS Administración de Redes: Servicios de Red ● Información compartida Detección/corrección de problemas Carlos Figueira/USB DHCP Dynamic Host Configuration Protocol Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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) Administración de Redes: Servicios de Red Carlos Figueira/USB 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 BOOTP (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 Administración de Redes: Servicios de Red Carlos Figueira/USB #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; } Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB NAT Network Address Translation Administración de Redes: Servicios de Red Carlos Figueira/USB NAT ● ● ● Objetivo: reducir la demanda por direcciones IP válidas (IP­masquerading o Network­masquerading) Una organización: – utiliza direcciones inválidas en su intranet, por ejemplo, de las redes 10.0.0.0, 172.20.0.0 o 192.168.x.0 – dispone de al menos una dirección IP válida Los IP (y puertos a veces) en datagramas son traducidos en la interfaz con Internet Administración de Redes: Servicios de Red Carlos Figueira/USB 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) Administración de Redes: Servicios de Red Carlos Figueira/USB Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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, Administración de Redes: Servicios de Red Carlos Figueira/USB Servidor Web WWW/HTTP Administración de Redes: Servicios de Red Carlos Figueira/USB 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]) Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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) Administración de Redes: Servicios de Red Carlos Figueira/USB 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. Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB Manejo de demonios inetd, xinetd Administración de Redes: Servicios de Red Carlos Figueira/USB 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!) Administración de Redes: Servicios de Red Carlos Figueira/USB DNS Domain Name Service Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB Ejemplo registros DNS ● Archivo “forward” forklift ● 7 IN A 192.108.21.7 IN MX 10 chimchim.xor.com Archivo “reverse” IN Administración de Redes: Servicios de Red PTR forklift.xor.com Carlos Figueira/USB Ejemplo consulta DNS root (“.”) lair ns.cs.colorado.edu edu berkeley.edu cs.berkeley.edu Resolución de vangogh.cs.berkeley.edu Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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.) Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB Definición de zona Ejemplo: zone “nombre de dominio” { type master; file “path”; # archivo información local } Administración de Redes: Servicios de Red Carlos Figueira/USB 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; } ; }; Administración de Redes: Servicios de Red Carlos Figueira/USB 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) Administración de Redes: Servicios de Red Carlos Figueira/USB 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. Administración de Redes: Servicios de Red Carlos Figueira/USB 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. Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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 Administración de Redes: Servicios de Red Carlos Figueira/USB 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! Administración de Redes: Servicios de Red Carlos Figueira/USB Registros CNAME ● Asocian otros nombres (alias) a una máquina ● alias [ttl] IN CNAME nombre ● Ej: ftp IN CNAME anchor kb CNAME kibblebits IN Administración de Redes: Servicios de Red Carlos Figueira/USB Conexión entre zonas ● La zona “padre” debe tener los registros NS para cada zona delegada (sub­dominio) cs IN NS ns.cs.colorado.edu IN NS piper.cs.colorado.edu ; conexion ns.cs IN A 128.138.243.151 piper.cs IN A 128.138.204.4 Administración de Redes: Servicios de Red Carlos Figueira/USB Receta para agregar rápidamente una nueva máquina 1. Escoger nombre e IP (resp. reglas locales) 2. Identificar máquina similar en subred (modelo) 3. Conectarse al servidor de nombres maestro 4. Buscar en /etc/named.conf: 1. Desde options, la línea con directory, para ubicar archivo de zona 2. Desde zone, encontrar nombre de archivos forward y reverse de la zona de la nueva máquina Administración de Redes: Servicios de Red Carlos Figueira/USB Receta (cont.) 5.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 9. Idem para archivo reverse 10. Correr rndc reload 11. Verificar con dig, ping, etc. Administración de Redes: Servicios de Red Carlos Figueira/USB