Redes TCP/IP con GNU/Linux Redes Esencial Redes TCP/IP con GNU/Linux
Redes Esencial Fundamentos Basicos
● Dividido en siete capas Modelo Osi ● Creado en 1984 ● Dividido en siete capas ●http://web.frm.utn.edu.ar/comunicaciones/mod elo_osi.html
● Permite seguir el camino hacia un dispositivo Ejemplo: traceroute www.google.com.ar Traceroute
● Define el medio (cable, aire, fibra óptica, etc) Capa 1: Física ● Define el medio (cable, aire, fibra óptica, etc) ● Define las características de los materiales ● Transmite el flujo de bits a través del medio ● Maneja las señales eléctricas
● Direccionamiento físico (MAC Address) Capa 2: Enlace de Datos ● Direccionamiento físico (MAC Address) ● Topología de la red (Estrella, Bus, Mesh, etc) ● Acceso al medio y detección de errores ● Transforma las señales en datos (tramas) ● Ethernet, ISDN, PPP, DSL, FDDI
● Protocolos enrutables (IP, ICMP, IPX, Appletalk) Capa 3: Red ● Protocolos enrutables (IP, ICMP, IPX, Appletalk) ● Protocolos de enrutamiento (RIP, OSPF, BGP) ● Que los datos lleguen del origen al destino ● Trabaja con paquetes
● Transporte de un dispositivo a otro ● TCP (orientado a conexión) Capa 4: Transporte ● Transporte de un dispositivo a otro ● TCP (orientado a conexión) ● UDP (noorientado a conexión) ● Sockets (IP:PUERTO | 192.168.0.100:80)
● Sesiones entre dos extremos ● Puede ser prescindible Capa 5: Sesión ● Sesiones entre dos extremos ● Puede ser prescindible ● Control de diálogo (HalfDuplex, FullDuplex)
● Formateo de datos (ASCII, UTF8, etc) ● Cifrado de datos Capa 6: Presentación ● Formateo de datos (ASCII, UTF8, etc) ● Cifrado de datos ● Compresión de datos
● Define protocolos a utilizar por aplicaciones Capa 7: Aplicación ● Define protocolos a utilizar por aplicaciones ● Suele ser utilizado por las aplicaciones ● HTTP, FTP, IMAP, SMTP, SSH, etc
Switches ● Operan en la capa de enlace (Capa 2) ● Interconectan dispositivos en una misma red ● Se basan en las direcciones MAC ● Pueden ser gestionables o no
Routers ● Operan en la capa de red (Capa 3) ● Interconectan diferentes redes ● Pueden elegir la mejor ruta hacia un dispositivo
● Familia de protocolos de internet TCP/IP ● Familia de protocolos de internet ● Los dos más importantes son TCP e IP ● Más de 100 protocolos diferentes ● Desarrollado en 1972 por el US DOD ● Actualmente se utiliza la versión 4 (IPv4) ● Suele ser descrito en base al modelo OSI
● Asocian puertos con aplicaciones Puertos TCP y UDP ● Asocian puertos con aplicaciones ● Tanto para salida como para entrada ● Ej: Apache HTTPD → TCP/80
● Un número binario de 32bits Direcciones IP ● Un número binario de 32bits ● Permite 4.294.967.296 direcciones (232) ● Expresables en 4 grupos de 0 a 254 ● Ejemplo: 192.168.0.100
Direcciones IP Clases ● Clase A: 0.0.0.0 – 127.255.255.255 ● Clase B: 128.0.0.0 – 191.255.255.255 ● Clase C: 192.0.0.0 – 223.255.255.255 ● Clase D: 224.0.0.0 – 239.255.255.255 ● Clase E: 240.0.0.0 – 255.255.255.255
Direcciones IP Privadas ● Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts) Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts) Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts)
● Permiten dividir las direcciones en red/host Máscara de Subred ● Permiten dividir las direcciones en red/host ● Para organizar las redes ● Se crean en base a los bits ● Se le restan a las direcciones
Máscara de subred (ejemplos) IP: 192.168.000.001 Máscara: 255.255.255.000 ----red---- -host- IP: 192.168.000.001 Máscara: 255.255.000.000 --red-- --host--
Clasificación de las Redes
Herramietnas de Calculo de Red ● whatmask: Whatmask 202.54.1.2/27 Whatmask 192.168.1.0/24 ●Sipcalc: sipcalc eth0 Sipcalc 192.168.1.0/24 Otro --> http://www.subnet-calculator.com/subnet.php?net_class=A
Herramietnas de Calculo de Red
Herramietnas de Calculo de Red
1 - ¿ Cuantas capas tiene el modelo OSI ? Definir brevemente cada una. Ejercicios 1 - ¿ Cuantas capas tiene el modelo OSI ? Definir brevemente cada una. 2 - ¿ Que dispositivos fisicos conoce y en que capa del modelo OSI encajan ? 3 - ¿ Que protocolos conocen ? Mencionar alguna caracteristica 4 - ¿ Que tres tipos de clase de redes conoce? ¿ Que rango de direcciones tienen ? ¿Que mascaran tienen ?
Configuración de la Red
Configura el nombre de host Es utilizado por /etc/init.d/hostname.sh Para cambios nopermanentes podemos usar: hostname o /proc/sys/kernel/hostname /etc/sysconfig/network Campo HOSTNAME=jmr.rinoluz.com.ar Nombre del Equipo
Asignar Hostname [root@jmr ~]# hostname -f jmr.rinoluz.com.ar Lista los alias [root@jmr ~]# hostname -a jmr cabresto cat /proc/sys/kernel/hostname sysctl kernel.hostname Editar /etc/sysctl.conf kernel.domainname = rinoluz.com.ar kernel.hostname = jmr Sysctl -p (para activarlo) Domainname (-f, -a,-s,-d,i) Asignar Hostname
● Formato: <IP> <HOSTNAME>.<DOMAIN> <ALIAS> Ejemplo: 127.0.0.1 localhost.localdomain localhost /etc/hosts
● Define los protocolos y sus números asignados /etc/protocols
Puertos bien conocidos ●Puertos TCP y UDP asignados a aplicaciones Definidos por el IANA http://en.wikipedia.org/wiki/List_of_TCP_and_U DP_po Puertos bien conocidos
●Definiciones de puertos y aplicaciones conocidos /etc/services
Lista los servidores de nombres (DNS) a utilizar nameserver 192.168.0.1 nameserver 192.168.0.2 Si utilizamos DHCP se actualiza automáticamente /etc/resolv.conf
Configuracion de acceso: passwd,group,shadow,hosts,networks,protoco ls,services,ethers Algunas distros usan el servicio ncsd para cachear /var/db esta la base /etc/nsswitch.conf
● Nos permite ver / configurar interfaces de red Ejemplos: ifconfig ifconfig eth0 10.0.0.1 netmask 255.0.0.0 ifconfig eth0 up ifconfig eth0 down ifconfig
ifconfig (Muestra las interfaces activas) ifconfig a (Muestra todas las interfaces) ifconfig eth0 10.0.0.1 netmask 255.255.255.0 (Define la dirección 10.0.0.1/24) ifconfig eth0 down (Deshabilita la interfaz) ifconfig
● Definen las puertas de enlace a las redes Rutas ● Definen las puertas de enlace a las redes ● Podemos tener varias rutas ● Siempre existe una por default ● Pueden ser estáticas o dinámicas
● Podemos tener varias rutas ● Siempre existe una por default ● Rutas ● Archivos ● Podemos tener varias rutas ● Siempre existe una por default ● Rutas
Se definen con el comando 'route': Sintaxis: route { add | del } [ -net | -host] target [netmask nm] [gw gw] [reject] [[dev] interface] route add default gw 192.168.0.1 route del default route add net 10.0.0.0 netmask 255.0.0.0 dev eth0 route del net 10.0.0.0 netmask 255.0.0.0 Rutas estáticas
● Consulta si un dispositivo de red responde (Utiliza ICMP Echo Request) Ejemplo: ping www.google.com.ar Ping
● Opciones comunes: C Cantidad de paquetes a enviar I Intervalo de tiempo entre cada paquete S Define el tamaño de los paquetes a enviar T Define el valor del campo TimeToLive (ttl) Ping
Permite conectarnos a puertos TCP Ejemplos: telnet www.google.com.ar 80 telnet smtp.gmail.com 25 Telnet
Traceroute/Tracepath Permite seguir el camino hacia un dispositivo Ejemplo: traceroute www.google.com.ar Traceroute/Tracepath
Comandos: Ftp servidor Luego nos logueamos con usuario y clave Comandos mas usados mput,mget,put,get,bin,lcd Cliente FTP
Muestra conexiones y puertos en escucha netstat lnpt (puertos TCP en escucha) netstat s (estadísticas de conexión) netstat c (actualiza la info cada 2 segundos) netstat
1 – Setear el nombre del equipo pcxx.aula5.ub Ejercicios I 1 – Setear el nombre del equipo pcxx.aula5.ub 2 – Setear el archivo /etc/hosts para que contenga todas las pc del aula 3 - ¿ Que archivo contiene los protocolos y servicios? 4 – Configurar el dns para que use el de google 5 - ¿ Que archivo contiene informacion acerca de en que orden resuelve los nombres de hosts ? 4 – Configurar la interface de red con la ip provista por el profesor
1 – Listar todas las placas Ejercicios II 1 – Listar todas las placas 2 – Probar el ping con la loopback enviando dos paquetes 3 – Configurar una ruta con el default gateway provisto por el profesor. Probar la conectividad con el gateway 4 – Probar conectividad mediante un script con todos los hostname del /etc/hosts 5 – ¿ Cuantos salto da hasta que llega a www.google.com ?
2 – ¿ Con que comando me puedo conectar a un ftp ? Ejercicios III 1 – Chequear si los puertos 80,22,443,21 estan abiertos en www.google.com 2 – ¿ Con que comando me puedo conectar a un ftp ? 3 – Conectarse al ftp provisto por el usuario y bajarse el archivo ej.sh 4 – Listar las estadisticas tcp y udp 5 – Listar las conexiones activas de red
Configuración de Interfaces
/etc/network/interfaces Configuración de las interfaces (Debian) auto lo eth0 eth1 iface eth0 inet address 192.168.14.10 netmask 255.255.0.0 gateway 192.168.1.1 hwaddress ether 02:01:02:03:04:08 dns-nameservers 192.168.2.254 up route add default gw 192.168.2.1 down route del default gw 192.168.2.1 iface eth1 inet dhcp /etc/network/interfaces
/etc/sysconfig/network-scripts/ifcfg-ethx Configuración de las interfaces (Red-Hat) DEVICE=eth0 BOOTPROTO=static DHCPCLASS= HWADDR=00:50:56:be:62:95 IPADDR=148.173.69.206 NETMASK=255.255.254.0 ONBOOT=yes MACADDR=00:50:56:be:62:95 /etc/sysconfig/network-scripts/ifcfg-ethx
/etc/sysconfig/network-scripts/ifcfg-ethx Configuración de las interfaces (Red-Hat) DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-ethx
BOOTPROTO= (none,bootp,dhcp) BROADCAST= DEVICE= DHCP_HOSTNAME DNS{1,2}= PEERDNS= yes no ETHTOOL_OPTS="autoneg off speed 100 duplex full" GATEWAY= HWADDR= IPADDR MACADDR NETMASK NETWORK ONBOOT= yes no USERCTL= yes no
Subir / Bajar interfaces (/etc/network/interfaces) ifup a, ifdown a (Subir / Bajar todas las interfaces) ifup IF, ifdown IF (Subir / Bajar una interfaz) Ejemplo: ifup eth0 ifup / ifdown
3 – Bajar la interface con el script correspondiente Ejercicios I 1 – Configurar dos interfaces una con ip fija y la otra dhcp (datos ip fija provistos por el profesor) 2 – Levantar la interface con el servicio y chequear que tome los valores correspondientes 3 – Bajar la interface con el script correspondiente 4 – Levantar la interface con el script correspondiente
Bibliografia Fabian Portantier www.portantier.com.ar Rino Rondan www.itrestauracion.com.ar