Curso Básico para la formación de Administradores Informáticos El soporte de red Antonio Durán
El soporte de red en gnuLinex 0. Introducción a TCP/IP 1. Configuración de red 2. Acceso remoto 3. Transferencia de archivos 4.Archivos en red
Introducción a TCP/IP Nivel IP Direcciones Redes Rutas Nivel TCP Puertos Nivel DNS Nombres
Configuración de red Interfaces Cada uno se identifica por un nombre: lo: interfaz de bucle local. Tráfico interno a la máquina. eth0, eth1...: dispositivos ethernet.  wlan0, wlan1...: dispositivos wireless.
Configuración IP Configuración 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
Configuración IP Configuración manual: route Listar tabla de rutas: #route mejor: #route -n Añadir entradas a la tabla de rutas: Acceso a la red 172.44.200.0/24 a través 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
Configuración IP Configuración manual: route Borrar entradas de la tabla de rutas: Borrar acceso a la red 172.44.200.0/24 a través 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
Configuración IP Fichero /etc/network/interfaces Nombres de interfaces: auto lo eth0 Configuración del interfaz local: iface lo inet loopback Configuración estática: iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0
Configuración IP Fichero /etc/network/interfaces Configuración automática por dhcp: iface eth0 inet dhcp Activar/desactivar interfaces: #ifup eth0 #ifdown eth0
Configuración IP Diagnóstico ping Comprobar que una máquina 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
Configuración DNS Fichero /etc/hostname Nombre que la máquina usa para referirse a ella misma. Fichero /etc/dhclient.conf Nombre que la máquina envía al servidor DHCP para que sea incluido en la base de datos DNS. Sólo presente en los equipos que adquieren su dirección IP por dhcp: send host-name “aula-pro.elbrocense.ex” En los IES: dnsmasq = dhcpd + bind
Configuración DNS Fichero /etc/host.conf Orden de búsqueda 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.ex aula-pro
Configuración DNS Fichero /etc/resolv.conf Resolución 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 ....
Configuración DNS Diagnóstico Obtener la dirección IP asociada a un nombre consultando al servidor DNS por defecto. $host aula-pro Obtener el nombre asociado a una dirección 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
Configuración con dpkg dpkg-reconfigure etherconf Configuración IP Automática por dhcp (para los clientes) Manual con direcciones estáticas (para el servidor) Configuración DNS Modifica hostname, hosts, resolv.conf Hay que modificar a mano dhclient.conf
Configuración 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 Configuración: /etc/inetd.conf
Configuración 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
Configuración de servicios Fichero /etc/inetd.conf TCP Wrappers: netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd Configuración 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.
Configuración 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
Configuración de servicios Otra forma de restringir accesos: iptables Diferente de tcp wrappers: Funciona a nivel IP, por lo que también puede filtrar ICMP y otros protocolos. Deniega las conexiones antes de que estas lleguen a producirse: los wrappers las aceptan, y, a continuación, las cierran si no se aceptan. Pueden especificarse reglas mucho más elaboradas: incluir nombres de máquina, comodines, etc. Largo de contar: se verá algo en Tema 5.
Configuración de servicios Diagnóstico netstat Lista las conexiones actuales de la máquina y los servicios que tiene escuchando. También muestra información sobre sockets Unix (funcionamiento interno, no relacionados con IP). Listar todas los sockets conectados: $netstat Listar sólo los sockets TCP/IP conectados: $netstat --inet Incluir los puertos en los que hay demonios escuchando: $netstat –inet -a
Configuración de servicios Diagnóstico netstat No hacer resolución de nombres: $netstat -n Mostrar los procesos a los que pertenece cada socket. Debe ejecutarse como superusuario. #netstat -p Mostrar sólo los sockets que escuchan: $netstat -l
Configuración de servicios Diagnóstico netcat Pequeña utilidad que lee y escribe datos a través de conexiones de red, usando los protocolos tcp y udp.  Muy útil a la hora de solucionar problemas relacionados con la accesibilidad. Crear una conexión 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 envíe se muestra por pantalla.
Configuración de servicios Diagnóstico netcat También útil para comprobar las restricciones de acceso. Restringimos el acceso al servidor VNC en los alumnos de modo que sólo 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
Configuración de servicios Diagnóstico 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
Configuración de servicios Diagnóstico 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 sólo los paquetes con origen o destino en una dirección o nombre de máquina determinados: #tcpdump host 172.21.232.2
Configuración de servicios Diagnóstico tcpdump Mostrar sólo los paquetes con origen o destino en una dirección y/o un puerto determinados: #tcpdump host 172.21.232.2 and port 21 Mostrar sólo paquetes TCP: #tcpdump tcp Mostrar todos los paquetes menos algunos: #tcpdump not port 22 No hacer resolución de nombres: #tcpdump -n
Configuración de servicios Diagnóstico tcpdump Modo promiscuo El interfaz recoge todos los paquetes que pasan por él, incluyendo aquellos que no van dirigidos a su dirección MAC ni a la de difusión. Útil en redes en bus: hubs. Desde un ordenador podemos ver todo el tráfico del segmento compartido de la red. En los I.E.S, red conmutada: switches. A una máquina sólo llegan los paquetes que van destinados a ella. No podemos ver el tráfico completo de la red. Posibles soluciones: ARP poisoning (dsniff).
Configuración de servicios Diagnóstico tcpdump Modo promiscuo Sin embargo, todas las conexiones exteriores, así como la autenticación y la resolución de nombres, pasan por el servidor del I.E.S., por lo que si podemos observar ese tráfico con tcpdump. ethereal Otro sniffer, en modo gráfico. Comprende muchos protocolos: ideal para mirar dentro de los paquetes.
Acceso remoto Necesidad de acceso a máquinas remotas: Objetivo: No usar el servidor como estación de trabajo. Antes: telnet. Sesión interactiva de linea de comandos con un sistema Unix. Principal problema: uso de claves en texto plano. Ahora: ssh. Mismo concepto, pero la comunicación 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 Configuración en los I.E.S.: Todas las máquinas tienen cliente y servidor ssh instalados. Podemos acceder a cualquier máquina 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 máquina local: ssh aula-pro Acceso como otro usuario: ssh -l profesor_prueba aula-pro  ssh profesor_prueba@aula-pro Util para comprobar la autenticación LDAP de un cliente sin tener que desplazarnos a abrir una sesión gráfica.
Acceso remoto Configuración 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 Configuración 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 máquina 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 máquina.
Acceso remoto X Forwarding ssh da acceso a consola de texto Necesidad de ejecutar aplicaciones gráficas en remoto Primero hay que permitir el acceso: xhost Permitimos el acceso a todo el mundo #xhost + Pemitimos el acceso desde la máquina 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 través 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 máquinas remotas Desde siempre: ftp Mas reciente: sftp Reemplazo, más 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 conexión de control. Puerto 20 para los datos. Problemas: Uso de contraseñas en texto plano. La transmisión de de los datos tampoco se puede cifrar.
Transferencia de archivos FTP Servidores: wu-ftpd, ftpd Clientes: ftp (consola), gftp (gráfico), FileZilla (Wind*ws) Uso: $ftp 172.21.232.2 Necesitamos usuario/contraseña de la máquina 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 transmisión de archivos. Comandos muy parecidos a ftp.
Transferencia de archivos Cliente SCP Parte del paquete ssh Utiliza conexiones ssh cifradas para la transmisión 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 máquina 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 máquina 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 máquina local: #scp aula-pro:/tmp/test /home Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la máquina remota aula-o01: #scp aula-pro:/tmp/test aula-o01:/home
Archivos en red Inconvenientes de los anteriores métodos de transferencia de archivos: Incómodos: conectar primero y luego transferir archivos. Acceso no uniforme: las aplicaciones deben saber donde residen los datos físicamente.
Archivos en red Solución: Montar sistemas de archivos remotos: Se añade 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 Características: Sistema nativo de Unix/Linux. Funciona a través de RPC (Remote Procedure Call). Un servidor exporta un directorio. El cliente monta ese directorio.
Archivos en red: NFS Configuración del servidor. Paquetes necesarios: nfs-common nfs-kernel-sever Ficheros de configuración: /etc/exports Logs /var/log/messages
Archivos en red: NFS Configuración del servidor. /etc/exports Es la lista de control de acceso para los sistemas de archivos que pueden ser montados por clientes NFS. Cada línea contiene un punto de exportación y una lista de clientes a los que se permite montar el sistema. Cada cliente puede incluir entre paréntesis las opciones específicas para ese cliente.
Archivos en red: NFS Configuración 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 Configuración 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 Diagnóstico Para que nfs funcione debe estar funcionando el portmapper tanto en el servidor como en el cliente. En el servidor, además, debe funcionar mountd. Comprobación de servicios ofrecidos por el portmapper local: #rpcinfo -p
Archivos en red: NFS Diagnóstico Comprobación de servicios ofrecidos por el portmapper remoto: #rpcinfo -p 172.21.232.2
Archivos en red: SAMBA Características: Sistema que implementa el protocolo SMB en sistemas Unix/Linux. Creado para compartir archivos entre sistemas Unix y Wind*ws. También válido 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 compartición de archivos e impresión 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 Configuración del servidor: /etc/samba/smb.conf Formato del fichero: Secciones: [seccion] Parámetros: nombre = valor Descripción de las secciones: Cada sección (menos [global]) define un recurso compartido. El nombre de la sección es el nombre del recurso y los parámetros dentro de la sección definen los atributos de los recursos compartidos.
Archivos en red: SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [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 Configuración del servidor: /etc/samba/smb.conf Descripción de algunos parámetros: 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 contraseña para acceder al servicio. Los privilegios serán los de la cuenta de invitado. Read Only Acceso en modo sólo lectura.
Archivos en red: SAMBA Configuración del servidor: /etc/samba/smb.conf Descripción de algunos parámetros: path Directorio al que se dará acceso al usuario del servicio. En caso de servicios de impresión es donde se almacenará los datos a imprimir antes de enviarlos a la impresora. writable Sinónimo 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 Configuración del servidor: /etc/samba/smb.conf Sección [homes]: Si existe esta sección, se pueden crear al vuelo servicios conectando a los clientes a sus directorios personales. Cuando se recibe una petición se comprueban todas las secciones existentes. Si ninguna de ella coincide se trata el nombre de sección dado como nombre de usuario y se busca en el fichero de contraseñas local.
Archivos en red: SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [homes]: Si se encuentra el usuario y la contraseña es correcta, se crea un nuevo recurso compartido clonado la sección [homes]. #mount -t smbfs //172.21.232.2/linex /mnt/ -o username=linex
Archivos en red: SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [printers]: Esta sección funciona parecido a la de  [homes], pero con impresoras. Si esta sección existe, los usuarios pueden conectar a cualquier impresora definida en el fichero printcap local. Cuando se recibe una petición 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 sección debe ser “printable”.

Curso Basico Ponencia 3

  • 1.
    Curso Básico parala formación de Administradores Informáticos El soporte de red Antonio Durán
  • 2.
    El soporte dered en gnuLinex 0. Introducción a TCP/IP 1. Configuración de red 2. Acceso remoto 3. Transferencia de archivos 4.Archivos en red
  • 3.
    Introducción a TCP/IPNivel IP Direcciones Redes Rutas Nivel TCP Puertos Nivel DNS Nombres
  • 4.
    Configuración de redInterfaces Cada uno se identifica por un nombre: lo: interfaz de bucle local. Tráfico interno a la máquina. eth0, eth1...: dispositivos ethernet. wlan0, wlan1...: dispositivos wireless.
  • 5.
    Configuración IP Configuraciónmanual: 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
  • 6.
    Configuración IP Configuraciónmanual: route Listar tabla de rutas: #route mejor: #route -n Añadir entradas a la tabla de rutas: Acceso a la red 172.44.200.0/24 a través 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
  • 7.
    Configuración IP Configuraciónmanual: route Borrar entradas de la tabla de rutas: Borrar acceso a la red 172.44.200.0/24 a través 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
  • 8.
    Configuración IP Fichero/etc/network/interfaces Nombres de interfaces: auto lo eth0 Configuración del interfaz local: iface lo inet loopback Configuración estática: iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0
  • 9.
    Configuración IP Fichero/etc/network/interfaces Configuración automática por dhcp: iface eth0 inet dhcp Activar/desactivar interfaces: #ifup eth0 #ifdown eth0
  • 10.
    Configuración IP Diagnósticoping Comprobar que una máquina 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
  • 11.
    Configuración DNS Fichero/etc/hostname Nombre que la máquina usa para referirse a ella misma. Fichero /etc/dhclient.conf Nombre que la máquina envía al servidor DHCP para que sea incluido en la base de datos DNS. Sólo presente en los equipos que adquieren su dirección IP por dhcp: send host-name “aula-pro.elbrocense.ex” En los IES: dnsmasq = dhcpd + bind
  • 12.
    Configuración DNS Fichero/etc/host.conf Orden de búsqueda 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.ex aula-pro
  • 13.
    Configuración DNS Fichero/etc/resolv.conf Resolución 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 ....
  • 14.
    Configuración DNS DiagnósticoObtener la dirección IP asociada a un nombre consultando al servidor DNS por defecto. $host aula-pro Obtener el nombre asociado a una dirección 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
  • 15.
    Configuración con dpkgdpkg-reconfigure etherconf Configuración IP Automática por dhcp (para los clientes) Manual con direcciones estáticas (para el servidor) Configuración DNS Modifica hostname, hosts, resolv.conf Hay que modificar a mano dhclient.conf
  • 16.
    Configuración de serviciosDos 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 Configuración: /etc/inetd.conf
  • 17.
    Configuración de serviciosFichero /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
  • 18.
    Configuración de serviciosFichero /etc/inetd.conf TCP Wrappers: netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd Configuración 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.
  • 19.
    Configuración de serviciosFichero /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
  • 20.
    Configuración de serviciosOtra forma de restringir accesos: iptables Diferente de tcp wrappers: Funciona a nivel IP, por lo que también puede filtrar ICMP y otros protocolos. Deniega las conexiones antes de que estas lleguen a producirse: los wrappers las aceptan, y, a continuación, las cierran si no se aceptan. Pueden especificarse reglas mucho más elaboradas: incluir nombres de máquina, comodines, etc. Largo de contar: se verá algo en Tema 5.
  • 21.
    Configuración de serviciosDiagnóstico netstat Lista las conexiones actuales de la máquina y los servicios que tiene escuchando. También muestra información sobre sockets Unix (funcionamiento interno, no relacionados con IP). Listar todas los sockets conectados: $netstat Listar sólo los sockets TCP/IP conectados: $netstat --inet Incluir los puertos en los que hay demonios escuchando: $netstat –inet -a
  • 22.
    Configuración de serviciosDiagnóstico netstat No hacer resolución de nombres: $netstat -n Mostrar los procesos a los que pertenece cada socket. Debe ejecutarse como superusuario. #netstat -p Mostrar sólo los sockets que escuchan: $netstat -l
  • 23.
    Configuración de serviciosDiagnóstico netcat Pequeña utilidad que lee y escribe datos a través de conexiones de red, usando los protocolos tcp y udp. Muy útil a la hora de solucionar problemas relacionados con la accesibilidad. Crear una conexión 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 envíe se muestra por pantalla.
  • 24.
    Configuración de serviciosDiagnóstico netcat También útil para comprobar las restricciones de acceso. Restringimos el acceso al servidor VNC en los alumnos de modo que sólo 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
  • 25.
    Configuración de serviciosDiagnóstico 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
  • 26.
    Configuración de serviciosDiagnóstico 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 sólo los paquetes con origen o destino en una dirección o nombre de máquina determinados: #tcpdump host 172.21.232.2
  • 27.
    Configuración de serviciosDiagnóstico tcpdump Mostrar sólo los paquetes con origen o destino en una dirección y/o un puerto determinados: #tcpdump host 172.21.232.2 and port 21 Mostrar sólo paquetes TCP: #tcpdump tcp Mostrar todos los paquetes menos algunos: #tcpdump not port 22 No hacer resolución de nombres: #tcpdump -n
  • 28.
    Configuración de serviciosDiagnóstico tcpdump Modo promiscuo El interfaz recoge todos los paquetes que pasan por él, incluyendo aquellos que no van dirigidos a su dirección MAC ni a la de difusión. Útil en redes en bus: hubs. Desde un ordenador podemos ver todo el tráfico del segmento compartido de la red. En los I.E.S, red conmutada: switches. A una máquina sólo llegan los paquetes que van destinados a ella. No podemos ver el tráfico completo de la red. Posibles soluciones: ARP poisoning (dsniff).
  • 29.
    Configuración de serviciosDiagnóstico tcpdump Modo promiscuo Sin embargo, todas las conexiones exteriores, así como la autenticación y la resolución de nombres, pasan por el servidor del I.E.S., por lo que si podemos observar ese tráfico con tcpdump. ethereal Otro sniffer, en modo gráfico. Comprende muchos protocolos: ideal para mirar dentro de los paquetes.
  • 30.
    Acceso remoto Necesidadde acceso a máquinas remotas: Objetivo: No usar el servidor como estación de trabajo. Antes: telnet. Sesión interactiva de linea de comandos con un sistema Unix. Principal problema: uso de claves en texto plano. Ahora: ssh. Mismo concepto, pero la comunicación se cifra para preservar la confidencialidad de los datos.
  • 31.
    Acceso remoto Programasrelacionados Programa servidor: sshd. Escucha en el puerto 22. Programa cliente: ssh. Otros programas cliente de la suite ssh: scp, sftp
  • 32.
    Acceso remoto Configuraciónen los I.E.S.: Todas las máquinas tienen cliente y servidor ssh instalados. Podemos acceder a cualquier máquina 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.
  • 33.
    Acceso remoto Usode ssh: Acceso como el mismo usuario que tenemos en la máquina local: ssh aula-pro Acceso como otro usuario: ssh -l profesor_prueba aula-pro ssh profesor_prueba@aula-pro Util para comprobar la autenticación LDAP de un cliente sin tener que desplazarnos a abrir una sesión gráfica.
  • 34.
    Acceso remoto Configuraciónsshd: 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.
  • 35.
    Acceso remoto Configuraciónssh: 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 máquina 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 máquina.
  • 36.
    Acceso remoto XForwarding ssh da acceso a consola de texto Necesidad de ejecutar aplicaciones gráficas en remoto Primero hay que permitir el acceso: xhost Permitimos el acceso a todo el mundo #xhost + Pemitimos el acceso desde la máquina aula-pro: #xhost +aula-pro
  • 37.
    Acceso remoto XForwarding 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 través de ssh; las aplicaciones automaticamente se jecutan en el lugar deseado: #ssh -X 172.21.232.2 #ethereal
  • 38.
    Transferencia de archivosNecesidad de mover archivos entre máquinas remotas Desde siempre: ftp Mas reciente: sftp Reemplazo, más seguro, de ftp. scp Transferencia de archivos con sintaxis parecida al comando cp.
  • 39.
    Transferencia de archivosFTP Caracteristicas: Basado en cliente/servidor Puerto 21 para la conexión de control. Puerto 20 para los datos. Problemas: Uso de contraseñas en texto plano. La transmisión de de los datos tampoco se puede cifrar.
  • 40.
    Transferencia de archivosFTP Servidores: wu-ftpd, ftpd Clientes: ftp (consola), gftp (gráfico), FileZilla (Wind*ws) Uso: $ftp 172.21.232.2 Necesitamos usuario/contraseña de la máquina remota.
  • 41.
    Transferencia de archivosCliente 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*
  • 42.
    Transferencia de archivosCliente 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
  • 43.
    Transferencia de archivosCliente SFTP Parte del paquete ssh Utiliza conexiones ssh cifradas para la transmisión de archivos. Comandos muy parecidos a ftp.
  • 44.
    Transferencia de archivosCliente SCP Parte del paquete ssh Utiliza conexiones ssh cifradas para la transmisión 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 máquina remota aula-pro: #scp /tmp/test aula-pro:/home
  • 45.
    Transferencia de archivosCliente SCP Copiar el archivo /tmp/test de la maquina local al directorio /home/ de la máquina 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 máquina local: #scp aula-pro:/tmp/test /home Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la máquina remota aula-o01: #scp aula-pro:/tmp/test aula-o01:/home
  • 46.
    Archivos en redInconvenientes de los anteriores métodos de transferencia de archivos: Incómodos: conectar primero y luego transferir archivos. Acceso no uniforme: las aplicaciones deben saber donde residen los datos físicamente.
  • 47.
    Archivos en redSolución: Montar sistemas de archivos remotos: Se añade un sistema de archivos remoto a la estructura de directorios del sistema local. Las aplicaciones no saben que los datos son remotos.
  • 48.
    Archivos en red:NFS Características: Sistema nativo de Unix/Linux. Funciona a través de RPC (Remote Procedure Call). Un servidor exporta un directorio. El cliente monta ese directorio.
  • 49.
    Archivos en red:NFS Configuración del servidor. Paquetes necesarios: nfs-common nfs-kernel-sever Ficheros de configuración: /etc/exports Logs /var/log/messages
  • 50.
    Archivos en red:NFS Configuración del servidor. /etc/exports Es la lista de control de acceso para los sistemas de archivos que pueden ser montados por clientes NFS. Cada línea contiene un punto de exportación y una lista de clientes a los que se permite montar el sistema. Cada cliente puede incluir entre paréntesis las opciones específicas para ese cliente.
  • 51.
    Archivos en red:NFS Configuración 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.
  • 52.
    Archivos en red:NFS Configuración 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
  • 53.
    Archivos en red:NFS Diagnóstico Para que nfs funcione debe estar funcionando el portmapper tanto en el servidor como en el cliente. En el servidor, además, debe funcionar mountd. Comprobación de servicios ofrecidos por el portmapper local: #rpcinfo -p
  • 54.
    Archivos en red:NFS Diagnóstico Comprobación de servicios ofrecidos por el portmapper remoto: #rpcinfo -p 172.21.232.2
  • 55.
    Archivos en red:SAMBA Características: Sistema que implementa el protocolo SMB en sistemas Unix/Linux. Creado para compartir archivos entre sistemas Unix y Wind*ws. También válido para compartir impresoras. El servidor exporta directorios. Los clientes montan los directorios exportados.
  • 56.
    Archivos en red:SAMBA Programas del lado servidor: smbd Es el demonio que proporciona servicios de compartición de archivos e impresión a clientes Wind*ws. nmbd Servidor de nombres NetBIOS para proporcionar servicios de nombres NetBIOS sobre IP a los clientes.
  • 57.
    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
  • 58.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Formato del fichero: Secciones: [seccion] Parámetros: nombre = valor Descripción de las secciones: Cada sección (menos [global]) define un recurso compartido. El nombre de la sección es el nombre del recurso y los parámetros dentro de la sección definen los atributos de los recursos compartidos.
  • 59.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [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
  • 60.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Descripción de algunos parámetros: 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 contraseña para acceder al servicio. Los privilegios serán los de la cuenta de invitado. Read Only Acceso en modo sólo lectura.
  • 61.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Descripción de algunos parámetros: path Directorio al que se dará acceso al usuario del servicio. En caso de servicios de impresión es donde se almacenará los datos a imprimir antes de enviarlos a la impresora. writable Sinónimo 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.
  • 62.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [homes]: Si existe esta sección, se pueden crear al vuelo servicios conectando a los clientes a sus directorios personales. Cuando se recibe una petición se comprueban todas las secciones existentes. Si ninguna de ella coincide se trata el nombre de sección dado como nombre de usuario y se busca en el fichero de contraseñas local.
  • 63.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [homes]: Si se encuentra el usuario y la contraseña es correcta, se crea un nuevo recurso compartido clonado la sección [homes]. #mount -t smbfs //172.21.232.2/linex /mnt/ -o username=linex
  • 64.
    Archivos en red:SAMBA Configuración del servidor: /etc/samba/smb.conf Sección [printers]: Esta sección funciona parecido a la de [homes], pero con impresoras. Si esta sección existe, los usuarios pueden conectar a cualquier impresora definida en el fichero printcap local. Cuando se recibe una petición 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 sección debe ser “printable”.