curso basico ponencia 3
Post on 16-Apr-2017
1.568 Views
Preview:
TRANSCRIPT
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.
top related