Curso Basico Ponencia 3

Embed Size (px)

Citation preview

Curso Bsico para la formacin de Administradores Informticos

El soporte de redAntonio Durn

El soporte de red en gnuLinex

0. Introduccin a TCP/IP1. Configuracin de red2. Acceso remoto3. Transferencia de archivos4.Archivos en red

Introduccin a TCP/IP

Nivel IP

Direcciones

Redes

Rutas

Nivel TCP

Puertos

Nivel DNS

Nombres

Configuracin de red

Interfaces

Cada uno se identifica por un nombre:

lo: interfaz de bucle local. Trfico interno a la mquina.

eth0, eth1...: dispositivos ethernet.

wlan0, wlan1...: dispositivos wireless.

Configuracin IP

Configuracin manual:

ifconfig

Listar dispositivos:

#ifconfig

Configurar dispositivos:

#ifconfig eth0 172.21.232.2 netmask 255.255.252.0 broadtcast 172.21.235.255

Activar / desactivar dispositivos ya configurados:

#ifconfig eth0 up

#ifconfig eth0 down

Configuracin IP

Configuracin manual:

route

Listar tabla de rutas:

#route

mejor: #route -n

Aadir entradas a la tabla de rutas:

Acceso a la red 172.44.200.0/24 a travs del host 172.21.232.3:

#route add -net 172.44.200.0/24 gw 172.21.232.3

Adjudicar pasarela por defecto:

#route add default gw 172.21.232.1

Configuracin IP

Configuracin manual:

route

Borrar entradas de la tabla de rutas:

Borrar acceso a la red 172.44.200.0/24 a travs del host 172.21.232.3:

#route del -net 172.44.200.0/22 gw 172.21.232.3

Borrar ruta por defecto:

#route del default

Configuracin IP

Fichero /etc/network/interfaces

Nombres de interfaces:

auto lo eth0

Configuracin del interfaz local:

iface lo inet loopback

Configuracin esttica:

iface eth0 inet static

address 192.168.1.1

netmask 255.255.255.0

Configuracin IP

Fichero /etc/network/interfaces

Configuracin automtica por dhcp:

iface eth0 inet dhcp

Activar/desactivar interfaces:

#ifup eth0

#ifdown eth0

Configuracin IP

Diagnstico

ping

Comprobar que una mquina remota se encuentra encendida y accesible.

$ping 172.21.232.2

traceroute

Muestra la ruta que toman los paquetes al ir por la red.

$traceroute google.es

Configuracin DNS

Fichero /etc/hostname

Nombre que la mquina usa para referirse a ella misma.

Fichero /etc/dhclient.conf

Nombre que la mquina enva al servidor DHCP para que sea incluido en la base de datos DNS. Slo presente en los equipos que adquieren su direccin IP por dhcp:

send host-name aula-pro.elbrocense.ex

En los IES: dnsmasq = dhcpd + bind

Configuracin DNS

Fichero /etc/host.conf

Orden de bsqueda de nombres:

order hosts, bind

Fichero /etc/hosts

Base de datos local de correspondencias nombre/IP

127.0.0.1 localhost

127.0.0.1 aula-pro.elbrocense.exaula-pro

Configuracin DNS

Fichero /etc/resolv.conf

Resolucin de nombres no presentes en la BD local

Clientes:

domain elbrocense.ex

nameserver 172.21.232.2

Servidor:

domain elbrocense.ex

nameserver 172.21.232.2

nameserver 80.58.0.33

nameserver 80.58.32.97

....

Configuracin DNS

Diagnstico

Obtener la direccin IP asociada a un nombre consultando al servidor DNS por defecto.

$host aula-pro

Obtener el nombre asociado a una direccin IP consultando al servidor DNS por defecto.

$host 172.21.232.23

Preguntar a otro servidor de nombres:

$host google.es 62.81.0.1

Configuracin con dpkg

dpkg-reconfigure etherconf

Configuracin IP

Automtica por dhcp (para los clientes)

Manual con direcciones estticas (para el servidor)

Configuracin DNS

Modifica hostname, hosts, resolv.conf

Hay que modificar a mano dhclient.conf

Configuracin de servicios

Dos tipos de servicios de red:

Stand alone

Funcionan independientemente como cualquier otro programa

Se inician al arrancar el sistema

Gestionados por inetd

No esta siempre funcionando

El demonio inetd los despierta cuando alguien quiere acceder a ellos

Configuracin: /etc/inetd.conf

Configuracin de servicios

Fichero /etc/inetd.conf

Una linea por servicio. Formato:

Nombre TipoSocket Protocolo wait/nowait usuario programa args

Servicios internos atendidos por el propio inetd:

echo dgram udp wait root internal

Servicios atendidos por programas externos:

talk dgram udp wait nobody /usr/sbin/in.talkd in.talkd

Configuracin de servicios

Fichero /etc/inetd.conf

TCP Wrappers:

netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd

Configuracin TCP wrappers:

Fichero /etc/hosts.allow

Acceso permitido si se encuentra la entrada

Fichero /etc/hosts.deny

Acceso denegado si se encuentra la entrada

Si la entrada no se encuentra, se permite.

Configuracin de servicios

Fichero /etc/hosts.allow

Permitir acceso a los hosts de nuestra red (servidor):

ALL: 172.21.232.0/255.255.252.0

Permitir acceso solo a algunas direcciones (clientes);

ALL: 172.21.232.2, 172.21.232.3...

Fichero /etc/hosts.deny

Negar el acceso al resto:

ALL: ALL

Configuracin de servicios

Otra forma de restringir accesos: iptables

Diferente de tcp wrappers:

Funciona a nivel IP, por lo que tambin puede filtrar ICMP y otros protocolos.

Deniega las conexiones antes de que estas lleguen a producirse: los wrappers las aceptan, y, a continuacin, las cierran si no se aceptan.

Pueden especificarse reglas mucho ms elaboradas: incluir nombres de mquina, comodines, etc.

Largo de contar: se ver algo en Tema 5.

Configuracin de servicios

Diagnstico

netstat

Lista las conexiones actuales de la mquina y los servicios que tiene escuchando. Tambin muestra informacin sobre sockets Unix (funcionamiento interno, no relacionados con IP).

Listar todas los sockets conectados:

$netstat

Listar slo los sockets TCP/IP conectados:

$netstat --inet

Incluir los puertos en los que hay demonios escuchando:

$netstat inet -a

Configuracin de servicios

Diagnstico

netstat

No hacer resolucin de nombres:

$netstat -n

Mostrar los procesos a los que pertenece cada socket. Debe ejecutarse como superusuario.

#netstat -p

Mostrar slo los sockets que escuchan:

$netstat -l

Configuracin de servicios

Diagnstico

netcat

Pequea utilidad que lee y escribe datos a travs de conexiones de red, usando los protocolos tcp y udp. Muy til a la hora de solucionar problemas relacionados con la accesibilidad.

Crear una conexin para comprobar si el servidor ssh es accesible:

$nc 172.21.232.2 22

Todo lo que escribas se manda al servidor remoto, y todo lo que el servidor enve se muestra por pantalla.

Configuracin de servicios

Diagnstico

netcat

Tambin til para comprobar las restricciones de acceso.

Restringimos el acceso al servidor VNC en los alumnos de modo que slo pueda conectarse a l desde el ordenador del profesor.

#iptables -t mangle -A PREROUTING -i eth0 -d $HOSTNAME -s ! $PROFESOR -p tcp --destination-port 5900 -j DROP

Configuracin de servicios

Diagnstico

netcat

Poner netcat escuchando en el puerto 5900 (VNC) en un alumno.

$netcat -l -p 5900

Comprobar que desde otro alumno no podemos acceder al servicio:

$netcat aula-o01 5900

Configuracin de servicios

Diagnstico

tcpdump

Muestra los paquetes que pasan por un interfaz de red. Muy til a la hora de depurar cualquier problema relacionado con la red.

Mostrar todos los paquetes que pasan por el interfaz eth0:

#tcpdump -i eth0

Mostrar solo los paquetes del puerto 80 (HTTP):

#tcpdump port 80

Mostrar slo los paquetes con origen o destino en una direccin o nombre de mquina determinados:

#tcpdump host 172.21.232.2

Configuracin de servicios

Diagnstico

tcpdump

Mostrar slo los paquetes con origen o destino en una direccin y/o un puerto determinados:

#tcpdump host 172.21.232.2 and port 21

Mostrar slo paquetes TCP:

#tcpdump tcp

Mostrar todos los paquetes menos algunos:

#tcpdump not port 22

No hacer resolucin de nombres:

#tcpdump -n

Configuracin de servicios

Diagnstico

tcpdump

Modo promiscuo

El interfaz recoge todos los paquetes que pasan por l, incluyendo aquellos que no van dirigidos a su direccin MAC ni a la de difusin.

til en redes en bus: hubs. Desde un ordenador podemos ver todo el trfico del segmento compartido de la red.

En los I.E.S, red conmutada: switches. A una mquina slo llegan los paquetes que van destinados a ella. No podemos ver el trfico completo de la red. Posibles soluciones: ARP poisoning (dsniff).

Configuracin de servicios

Diagnstico

tcpdump

Modo promiscuo

Sin embargo, todas las conexiones exteriores, as como la autenticacin y la resolucin de nombres, pasan por el servidor del I.E.S., por lo que si podemos observar ese trfico con tcpdump.

ethereal

Otro sniffer, en modo grfico.

Comprende muchos protocolos: ideal para mirar dentro de los paquetes.

Acceso remoto

Necesidad de acceso a mquinas remotas:

Objetivo: No usar el servidor como estacin de trabajo.

Antes: telnet. Sesin interactiva de linea de comandos con un sistema Unix. Principal problema: uso de claves en texto plano.

Ahora: ssh. Mismo concepto, pero la comunicacin se cifra para preservar la confidencialidad de los datos.

Acceso remoto

Programas relacionados

Programa servidor: sshd. Escucha en el puerto 22.

Programa cliente: ssh.

Otros programas cliente de la suite ssh: scp, sftp

Acceso remoto

Configuracin en los I.E.S.:

Todas las mquinas tienen cliente y servidor ssh instalados.

Podemos acceder a cualquier mquina por ssh, siempre que lo hagamos desde una IP de las permitidas en hosts.allow (Por defecto, las 15 primeras del primer rango)

Por tanto, podemos resolver problemas sin necesidad de desplazamiento: necesario conocimiento de los comandos shell.

Acceso remoto

Uso de ssh:

Acceso como el mismo usuario que tenemos en la mquina local:

ssh aula-pro

Acceso como otro usuario:

ssh -l profesor_prueba aula-pro

ssh profesor_prueba@aula-pro

Util para comprobar la autenticacin LDAP de un cliente sin tener que desplazarnos a abrir una sesin grfica.

Acceso remoto

Configuracin sshd:

Fichero /etc/ssh/sshd_config. Algunas opciones:

Port 22

Protocol 2

X11Forwarding yes

IgnoreRhosts yes

Fichero /etc/ssh/ssh_host_rsa_key.pub

Almacena la clave de host. Usada para evitar suplantaciones.

Acceso remoto

Configuracin ssh:

Fichero ~/.sshd/known_hosts

Guarda las claves de hosts para todos los hosts a los que el usuario ha accedido.

Si cambia una clave de host de una mquina conocida e intentamos acceder a ella, ssh dar un error advirtiendonos de que el certificado ha cambiado.

Para evitarlo, borrar la entrada correspondiente a esta mquina.

Acceso remoto

X Forwarding

ssh da acceso a consola de texto

Necesidad de ejecutar aplicaciones grficas en remoto

Primero hay que permitir el acceso:

xhost

Permitimos el acceso a todo el mundo

#xhost +

Pemitimos el acceso desde la mquina aula-pro:

#xhost +aula-pro

Acceso remoto

X Forwarding

2 posibles soluciones:

abrir sesion ssh con servidor, y lanzar las aplicaciones indicando el display del cliente:

#ssh 172.21.232.2

#ethereal display=172.21.232.10:0

X Forwarding a travs de ssh; las aplicaciones automaticamente se jecutan en el lugar deseado:

#ssh -X 172.21.232.2

#ethereal

Transferencia de archivos

Necesidad de mover archivos entre mquinas remotas

Desde siempre: ftp

Mas reciente:

sftp

Reemplazo, ms seguro, de ftp.

scp

Transferencia de archivos con sintaxis parecida al comando cp.

Transferencia de archivos

FTP

Caracteristicas:

Basado en cliente/servidor

Puerto 21 para la conexin de control.

Puerto 20 para los datos.

Problemas:

Uso de contraseas en texto plano.

La transmisin de de los datos tampoco se puede cifrar.

Transferencia de archivos

FTP

Servidores:

wu-ftpd, ftpd

Clientes:

ftp (consola), gftp (grfico), FileZilla (Wind*ws)

Uso:

$ftp 172.21.232.2

Necesitamos usuario/contrasea de la mquina remota.

Transferencia de archivos

Cliente FTP

Comandos:

Listar archivos:

ftp>ls

Bajar un fichero.

ftp>get fichero

ftp>mget fichero1 fichero2 otro*

Subir un fichero:

ftp>put fichero

ftp>mput fichero1 fichero2 otro*

Transferencia de archivos

Cliente FTP

Comandos:

Cambiar de directorio:

ftp> cd dir

Crear y borrar directorios:

ftp>mkdir dir

ftp>rmdir dir

Otros comandos: pompt, passive

Cerrar la sesion:

ftp>bye

Transferencia de archivos

Cliente SFTP

Parte del paquete ssh

Utiliza conexiones ssh cifradas para la transmisin de archivos.

Comandos muy parecidos a ftp.

Transferencia de archivos

Cliente SCP

Parte del paquete ssh

Utiliza conexiones ssh cifradas para la transmisin de archivos.

Sintaxis de uso muy parecida al comando cp:

#scp [[user@]host]:file1 [[user@]host]:file2

Copiar el archivo /tmp/test de la maquina local al directorio /home/ de la mquina remota aula-pro:

#scp /tmp/test aula-pro:/home

Transferencia de archivos

Cliente SCP

Copiar el archivo /tmp/test de la maquina local al directorio /home/ de la mquina remota aula-pro:

#scp /tmp/test aula-pro:/home

Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la mquina local:

#scp aula-pro:/tmp/test /home

Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la mquina remota aula-o01:

#scp aula-pro:/tmp/test aula-o01:/home

Archivos en red

Inconvenientes de los anteriores mtodos de transferencia de archivos:

Incmodos: conectar primero y luego transferir archivos.

Acceso no uniforme: las aplicaciones deben saber donde residen los datos fsicamente.

Archivos en red

Solucin: Montar sistemas de archivos remotos:

Se aade un sistema de archivos remoto a la estructura de directorios del sistema local.

Las aplicaciones no saben que los datos son remotos.

Archivos en red: NFS

Caractersticas:

Sistema nativo de Unix/Linux.

Funciona a travs de RPC (Remote Procedure Call).

Un servidor exporta un directorio.

El cliente monta ese directorio.

Archivos en red: NFS

Configuracin del servidor.

Paquetes necesarios:

nfs-common

nfs-kernel-sever

Ficheros de configuracin:

/etc/exports

Logs

/var/log/messages

Archivos en red: NFS

Configuracin del servidor.

/etc/exports

Es la lista de control de acceso para los sistemas de archivos que pueden ser montados por clientes NFS.

Cada lnea contiene un punto de exportacin y una lista de clientes a los que se permite montar el sistema.

Cada cliente puede incluir entre parntesis las opciones especficas para ese cliente.

Archivos en red: NFS

Configuracin del servidor.

/etc/exports

/home 172.21.232.*(rw)

/home *.elbrocense.ex(rw)

/var 172.21.232.3(ro, no_root_squash)

Opciones:

ro, rw: modo lectura o lectura/escritura.

no_root_squash: Permite montar el sistema sin restricciones para el superusuario.

Archivos en red: NFS

Configuracin del cliente.

Montar a mano el /home del servidor en el directorio /home local:

#mount -t nfs 172.21.232.2:/home /home

Fichero /etc/fstab:

172.21.232.2:/home /home nfs rsize=1024,wsize=1024,timeo=20,retrans=10,intr,auto,rw 0 0

Archivos en red: NFS

Diagnstico

Para que nfs funcione debe estar funcionando el portmapper tanto en el servidor como en el cliente. En el servidor, adems, debe funcionar mountd.

Comprobacin de servicios ofrecidos por el portmapper local:

#rpcinfo -p

Archivos en red: NFS

Diagnstico

Comprobacin de servicios ofrecidos por el portmapper remoto:

#rpcinfo -p 172.21.232.2

Archivos en red: SAMBA

Caractersticas:

Sistema que implementa el protocolo SMB en sistemas Unix/Linux.

Creado para compartir archivos entre sistemas Unix y Wind*ws.

Tambin vlido para compartir impresoras.

El servidor exporta directorios.

Los clientes montan los directorios exportados.

Archivos en red: SAMBA

Programas del lado servidor:

smbd

Es el demonio que proporciona servicios de comparticin de archivos e impresin a clientes Wind*ws.

nmbd

Servidor de nombres NetBIOS para proporcionar servicios de nombres NetBIOS sobre IP a los clientes.

Archivos en red: SAMBA

Programas del lado cliente:

smbclient

Cliente parecido al ftp para acceder a recursos SMB en los servidores.

#smbclient //172.21.232.2/trastero

#smbclient //172.21.232.2/trastero -U linex

mount

Montar sistemas compartidos por SAMBA casi igual que si fuesen NFS:

mount -t smbfs //172.21.232.2/trastero /mnt/

mount -t smbfs //172.21.232.2/trastero /mnt/ -o username=linex

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Formato del fichero:

Secciones:

[seccion]

Parmetros:

nombre = valor

Descripcin de las secciones:

Cada seccin (menos [global]) define un recurso compartido. El nombre de la seccin es el nombre del recurso y los parmetros dentro de la seccin definen los atributos de los recursos compartidos.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [global]:

workgroup = elbrocense.ex

load printers = yes

guest account = linex

log file = /var/log/samba/log.%m

smb passwd file = /etc/samba/smbpasswd

null passwords = yes

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Descripcin de algunos parmetros:

browseable

Controla si este recurso se ve en la lista de recursos disponibles.

comment

Comentario descriptivo que aparece junto al revurso.

guest ok

No se necesita contrasea para acceder al servicio. Los privilegios sern los de la cuenta de invitado.

Read Only

Acceso en modo slo lectura.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Descripcin de algunos parmetros:

path

Directorio al que se dar acceso al usuario del servicio. En caso de servicios de impresin es donde se almacenar los datos a imprimir antes de enviarlos a la impresora.

writable

Sinnimo invertido de Read Only.

printable

Si est activo, los clientes pueden abrir, escribir y enviar ficheros de spool en el directorio especificado para el servicio.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [homes]:

Si existe esta seccin, se pueden crear al vuelo servicios conectando a los clientes a sus directorios personales.

Cuando se recibe una peticin se comprueban todas las secciones existentes. Si ninguna de ella coincide se trata el nombre de seccin dado como nombre de usuario y se busca en el fichero de contraseas local.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [homes]:

Si se encuentra el usuario y la contrasea es correcta, se crea un nuevo recurso compartido clonado la seccin [homes].

#mount -t smbfs //172.21.232.2/linex /mnt/ -o username=linex

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [printers]:

Esta seccin funciona parecido a la de [homes], pero con impresoras.

Si esta seccin existe, los usuarios pueden conectar a cualquier impresora definida en el fichero printcap local.

Cuando se recibe una peticin se comprueban todas las secciones. Si ninguna coincide se trata el nombre dado como un nombre de impresora y se busca en el fichero printcap.

Esta seccin debe ser printable.