Uploaded by Edgar Rogalsky

Práctica 1: Elementos básicos de la red TCP/IP

advertisement
Práctica 1. Elementos básicos de la red
1. Introducción
Los objetivos de esta práctica son:
•
•
•
•
Aprender aspectos prácticos de TCP/IP.
Familiarizarnos con el entorno de trabajo.
Configurar manualmente una conexión a Internet.
Montar una red básica.
Las prácticas se desarrollarán sobre plataformas GNU/Linux por la gran flexibilidad que tiene para
configurar redes y servidores, además de las ventajas que aporta por tratarse de software libre.
Los equipos se reinstalan periódicamente. No podemos confiar en dejar archivos o configuraciones
en el equipo y volverlos a encontrar en otra sesión.
Los ordenadores tienen dos tarjetas de red. Una está conectada a la red de la UJI y nos da acceso a
Internet. La otra tarjeta en principio no tiene nada conectado y la usaremos para hacer montajes
internos. En cada equipo los nombres de los dispositivos o tarjetas de red pueden variar.
En los equipos del laboratorio, debes iniciar Linux eligiendo la opción Ubuntu. La instalación de
Linux sólo tiene un usuario (login usuario y contraseña practicas); esta cuenta tiene privilegios de
administrador. Por favor, no modifiques la contraseña de esta cuenta porque eso puede impedir el
uso del equipo en la siguiente sesión de prácticas.
Inicia sesión gráfica con la cuenta usuario y abre un terminal Terminal o Konsole.
2. Conceptos básicos
Introducimos resumidamente conceptos necesarios que se verán a lo largo del curso.
Capa de enlace de datos
Un equipo se conecta en red a través de algún dispositivo, habitualmente integrado en el hardware
básico. En el laboratorio, los ordenadores se conectan mediante una red cableada ethernet. Otro
modo habitual de conectar en red es el WiFi. En ambos tipos de redes, el dispositivo o tarjeta de
red es mostrado por el sistema operativo a través de un nombre, por ejemplo wlan0 o eth0. El
dispositivo tiene un número o dirección única asignado por el fabricante, denominado dirección
MAC, o coloquialmente “la MAC”. La MAC tiene 48 bits que se escriben como 6 parejas de cifras
hexadecimales. Por ejemplo, 00:18:8b:de:06:db. Los equipos conectados entre sí directamente por
ethernet o WiFi forman lo que denominamos una LAN (Local Area Network) o red de área local.
Son redes de capa 2 (capa de enlace de datos).
Capa de red
Internet es una red IP (Internet Protocol). Se trata de una red de capa 3 (capa de red) que se
extiende mundialmente. Pero existen y podemos hacer otras redes de capa 3, conectadas o no con
Internet. Los componentes de una red IP necesitan dispositivos de red (de capa 2 ) para poder
comunicar.
Las ideas fundamentales de una IP son:
• Cada dispositivo conectado a la red tiene un número o dirección de protocolo IP que debe
ser único en la red. La llamaremos dirección IP o simplemente, la IP.
• En IPv4 (la versión 4 del protocolo IP), una IP tiene 32 bits.
• Para una escritura más cómoda, la IP en IPv4 se escribe como 4 números decimales,
x.y.z.k, donde cada número tiene 8 bits. Así por ejemplo, 150.128.97.91 es la IP de un
ordenador de la UJI.
• Grupos de direcciones IP forman una red IP. Normalmente las direcciones IP de una
red IP son directamente accesibles a través de la misma red de capa 2 (en nuestro
caso una LAN ethernet).
• Las IPs de una red IP tienen una característica común. Todas estas direcciones tienen
un mismo prefijo (un grupo de bits consecutivos, empezando por el primer bit). La
denominada máscara de red indica la longitud de este prefijo. Así 192.168.27.5/21
indica una IP que forma parte de un conjunto de IPs cuyos 21 primeros bits son los
mismos. La primera dirección de esta red sería la 192.168.24.0. Esta dirección no se
suele asignar a ningún equipo, sino que representa la dirección de la red. Sería la
dirección 192.168.24.0/21. La última dirección sería 192.168.31.255/21. También
tiene un significado especial y no se asigna a los equipos. A esta dirección de la llama
dirección de difusión o broadcast.
• La máscara de red antiguamente solía especificarse en notación decimal similar a la
de la IP, de modo que una máscara /21 se escribía como 255.255.248.0 que es un
número de 32 bits con los 21 primeros a 1 y el resto a 0.
• Dentro del conjunto de direcciones de Internet, existen ciertas IPs reservadas (a veces
se les llama privadas) que se caracterizan por no ser nunca encaminadas dentro de
Internet. Su propósito es que podamos construir otras redes IP (otras internets),
separadas de Internet, y con IPs que no coincidan con IPs que puedan estar usándose
en Internet (las llamadas direcciones públicas para distinguirlas de las privadas).
Los prefijos de direcciones IPs privadas son: 10.x.x.x/8, 172.16.x.x/12 y
192.168.x.x/16. Es decir, que emplearemos estas IPs por ejemplo para montar una
red en casa, separada de Internet, pero que podrá conectar con Internet haciendo
algunas transformaciones en los mensajes.
Obsérvese que las mismas IPs pueden usarse en muchos sitios, puesto que jamás se
encaminan en Internet.
• Los mensajes o paquetes IP se transmiten encapsulados en un protocolo de nivel inferior
(ethernet, WiFi, etc.).
• El nivel inferior no entiende las direcciones de IP, necesita una dirección física
(dirección MAC en el caso de Ethernet). Cuando un ordenador con una IP necesita
acceder a otra IP de su red, usa el nivel inferior, y a través del protocolo ARP (Address
Resolution Protocol), pregunta qué ordenador tiene la IP que busca y éste le responde
cuál es su dirección en el protocolo inferior, de modo que enviará los mensajes a esa
dirección.
El comando: ip n nos muestra las direcciones físicas de equipos de nuestra red que
recientemente han intercambiado mensajes con el nuestro. Se trata de una tabla
donde se “cachean” durante un breve periodo de tiempo las direcciones aprendidas.
• Si una IP no es directamente alcanzable (a través de la capa 2), al menos un equipo
directamente alcanzable (encaminador o router que está en nuestra red IP) se encargará de
encaminar los mensajes hacia dicha IP destino.
• El encaminador estará conectado a otra u otras redes con la misma situación, con lo que
por inducción podemos enviar mensajes IP a través de Internet.
En la práctica, para que un equipo quede conectado en una red IP es necesario:
• Saber qué IP debemos asignarle.
No podemos poner una IP cualquiera sino la que nos indique el administrador de la red. De
hecho es habitual que la IP se asigne automáticamente desde un servidor de configuración
automática (DHCP Dynamic Host Configuration Protocol), que ha sido configurado por el
administrador de la red.
• Que conozca qué IPs son directamente alcanzables.
Es decir, conocer la máscara de nuestra red.
• Qué IP actuará de puerta o router para conectarlo con otras redes IP. Este encaminador es
un equipo más de nuestra red. Debemos conocer su IP, por lo tanto nos la debe facilitar el
administrador de la red o también se puede configurar por DHCP.
DNS (situado en la capa de aplicación)
Las personas no recordamos números de 32 bits con facilidad, ni siquiera escritos en la notación
decimal. Y además, dada una empresa o institución, no tenemos forma de saber, la IP de sus
servidores, ya que la asignación de IPs no guarda relación con el nombre de la organización. Para
resolver este problema, existe un servicio denominado DNS (sistema de nombres de dominio) que
traducirá un nombre a una IP. Se trata de una base de datos distribuida y tolerante a fallos.
Por ejemplo, es fácil recordar www.uji.es. El servidor de nombres lo traduce, por ejemplo, a la
dirección 54.216.177.179. El DNS, pese a ser un servicio básico, opera en la capa de aplicación.
Los nombres de dominio forman una estructura jerarquizada. Mirando www.uji.es, debemos leerlo
como 'dominio www' (en este caso el dominio coincide con una máquina) que pertenece a uji, que
pertenece a es.
La consulta al DNS es un proceso automatizado a nivel de sistema operativo, pero es importante
conocerlo. Supongamos que escribimos en el navegador la URL https://es.wikipedia.org. El
navegador necesita saber la IP que corresponde a es.wikipedia.org. Para ello hace una llamada a
una biblioteca estándar del sistema operativo. Dicha llamada realiza la resolución del nombre y
para ello actúa como sigue:
•
•
•
•
Accede al archivo /etc/resolv.conf. Busca en él el primer nameserver.
Le pregunta a la IP de este nameserver (servidor DNS) por el dominio es.wikipedia.org.
El servidor puede que tenga la IP en caché, en ese caso, nos la devuelve y listo.
Si no la tiene,
• Pregunta a los servidores DNS de más alto nivel quién se encarga de org.
• Consulta a los servidores de 'org' cuál es el servidor de wikipedia.
• Consulta al servidor de wikipedia cuál es la IP de es y nos devuelve la respuesta.
En Ubuntu el fichero /etc/resolv.conf suele tener como servidor de
nombres una IP de tipo 127.0.0.x. Esa IP es una dirección especial llamada
que conecta con el propio ordenador. El ordenador tiene un servidor de
nombres con la configuración de servidores de nombres externos. Estos
servidores externos pueden verse con la orden nmcli device show (las
líneas donde pone DNS).
Puedes averiguar por tu cuenta cuáles son los dominios de primer nivel (es, org, com, etc.). Los de
segundo nivel, en España por ejemplo, pueden alquilarse, de modo que el arrendatario obtiene los
derechos de explotación de ese dominio, de ahí la palabra dominio. Existen unas empresas
registradoras, que permiten dar de alta y arrendar los nombres de dominio.
3. Órdenes a utilizar en la práctica
Aunque hay entornos gráficos para realizar algunas de las configuraciones que se hacen durante
las prácticas, para aprender el funcionamiento es preferible usar directamente las órdenes en un
terminal, los scripts y los ficheros de configuración. Por un lado, vemos exactamente los cambios
que aplicamos y es más fácil restaurar el sistema. Por otro, en muchas ocasiones trabajando sobre
redes nos vemos obligados a emplear únicamente un terminal y un editor simple.
A continuación se presentan algunas de las órdenes que se van a utilizar. Puedes buscar más
información sobre estas órdenes, pero siempre es de ayuda la orden man para consultar las
opciones disponibles.
• sudo su. Con esta orden pasaremos a ser administrador del sistema con la misma cuenta
usuario. El carácter de espera de orden del teminal (prompt) cambia de $ a #.
• ip address. Orden usada para configurar la IP de dispositivos o interfaces de red.
Ejemplos (no los ejecutes):
• ip address muestra la lista de dispositivos con sus MAC y las IPs asignadas.
• ip link set dev eth0 up activan el dispositivo de red eth0.
• ip link set dev eth0 down desactiva el dispositivo de red eth0.
• ifconfig eth0 192.168.1.50 netmask 255.255.255.0 broadcast 192.168.1.255 activa y
configura el dispositivo eth0 con la IP 192.168.1.50 con la máscara indicada y su
correspondiente dirección de broadcast. Se borra cualquier dirección IP que tuviese
antes. También añade automáticamente la ruta a la red a la que pertenece la IP
configurada. (Esta orden está obsoleta).
• ip address add 192.168.1.50/24 broadcast 192.168.1.255 dev eth0 configura el
dispositivo eth0 con la IP 192.168.1.50 con la máscara indicada (24 bits) y su
correspondiente dirección de broadcast. Un dispositivo de red puede tener asignadas
más de una dirección IP. Esta orden no activa la tarjeta de red. Cuando se active la
tarjeta de red (o si está activa previamente), la orden también añade
automáticamente la ruta a la red a la que pertenece la IP configurada. En este
ejemplo la red es 192.168.1.0/24.
• ip address del 192.168.1.50/24 dev eth0 borra esa IP. La orden no desactiva la tarjeta
de red.
• ip route. Con esta orden se consulta o se modifica la tabla de rutas del ordenador. La tabla
de rutas indica por qué dispositivo de red debe enviarse cada paquete IP según la dirección
destino.
Ejemplos:
• ip route (ip r) muestra las rutas (de la tabla principal de encaminamiento).
• ip route add 192.168.33.44/32 dev eth0 añade una ruta a esa IP (sólo a esa dirección
porque se indica una máscara /32) y dice que está directamente alcanzable por eth0.
• ip r a 192.168.33.44/32 via 192.168.1.56 añade una ruta a la dirección IP
192.168.33.44 a través del router con IP 192.168.1.56. La interfaz utilizada, si no se
especifica, se deduce a partir de la interfaz por la que es directamente alcanzable el
router. La dirección IP del router debe ser alcanzable directamente (debe haber una
ruta en la tabla de rutas y de debe estar conectada por la capa de enlace de datos).
• ip route add default via 192.168.1.1 añade la “ruta por defecto”, es decir, todo lo que
no tiene una ruta específica se encamina por ese router.
• ip route del default borra la ruta por defecto.
• ping. Es la orden con la que se suele hacer la primera prueba de conectividad. Es como si
jugásemos al “ping pong” con un destino. Si funciona, sabemos que puede fluir tráfico en
los dos sentidos (ida y vuelta). Si no funciona, no sabemos en qué sentido está el problema
(la ida al destino o la vuelta desde el destino).
Veamos un ejemplo (no es para probarlo en el ordenador). Tenemos un dispositivo de red eth0
que conectamos debidamente poniendo el cable de red. Supongamos que el administrador de la
red nos dice que la IP que debemos asignar a nuestro equipo es 1.2.3.4 y la red ip tiene 8 bits para
diferenciar las direcciones de su red. La puerta por defecto es la primera IP de la red. Entonces,
como 32-8=24, la máscara a emplear es /24, es decir los 3 primeros bytes son fijos (es el prefijo
común de la red) y el último cambia para cada dirección IP de la red. Por ello, el primer equipo de
la red es el 1.2.3.1, de modo que la configuración puede hacerse, siguiendo las 3 reglas expuestas
en el apartado anterior:
1. ip link set eth0 up (abreviable a ip l s eth0 up). Activamos el dispositivo de red.
2. ip address add 1.2.3.4/24 dev eth0 Configura la IP y añade ruta a su red IP; podríamos
comprobar los cambios con ip address e ip route.
3. ip route add default via 1.2.3.1 Configura la ruta por defecto.
En ese momento podríamos hacer pruebas, en este orden (si una falla, hay que corregir la
configuración antes de pasar a la siguiente):
1. ping 1.2.3.1 (ping al router). Sabríamos que la red local funciona y el router parece que
existe.
2. ping 8.8.8.8 (es un equipo de Google siempre encendido). Aquí ya sabemos que tenemos
acceso a Internet.
3. ping www.google.com con lo que comprobamos que la resolución DNS también funciona.
4. Configuración manual
Vamos a desconfigurar la red del ordenador y luego intentaremos configurarla manualmente.
Para que los ordenadores del laboratorio tengan acceso a Internet hay que
autenticarse antes a través de algún navegador web. En los ejercicios se
supone que inicialmente habéis abierto alguna página web ajena a la UJI.
No cerréis la ventana del navegador con la que os habéis autenticado.
Ejercicio 1:
1. Observa tu ordenador por detrás. Hay un cable que lo conecta a una roseta de color blanco.
Las rosetas con etiquetas azules y amarillas las usaremos para montajes internos.
2. Desde el terminal, hazte administrador con la orden sudo su.
3. Comprueba la configuración de tu equipo con las órdenes ip address e ip route.
La IP de la red de la UJI es del tipo 150.128.x.y. Fíjate en qué dispositivo está asignada.
Puede que todos los equipos no tengan los mismos nombres para los dispositivos de red.
También verás unos dispositivos especiales (por ejemplo lo y docker0) que no vamos a usar.
Estos últimos son dispositivos de red virtuales.
4. Averigua y guarda la configuración de red del ordenador (IP, máscara y puerta por defecto)
correspondiente a la tarjeta que conecta con la red de la UJI.
5. Anota los servidores de nombres configurados (si en el fichero /etc/resolv.conf aparece
nameserver 127.0.0.1, consúltalo con nmcli dev show).
6. Vamos a desconfigurar la red. La red está configurada automáticamente por DHCP. Debes
introducir la órden siguiente para evitar que el sistema de configuración automática del
equipo interfiera con las órdenes manuales que daremos después: systemctl stop
NetworkManager
7. Fíjate que sigues teniendo acceso a Internet ya que la tarjeta de red sigue teniendo la
dirección IP. Desactiva el dispositivo de red que tiene la IP de la UJI (ip link set eth0 down,
en el caso de que el dispositivo sea el eth0). Después es esto ya no debes tener acceso a
Internet ni a la red local.
8. Cambia el cable de red a la otra tarjeta de red del ordenador y prueba a conectarte a
Internet. No deberías tener acceso porque el servidor DHCP de la UJI no debe asignar una
dirección IP a esa tarjeta.
9. Configura manualmente todos los parámetros de la red para salir a Internet con la tarjeta
que acabas de conectar, usando las órdenes explicadas anteriormente en esta práctica.
10. Cuando esté configurado, comprueba que hay conectividad, mediante el comando ping,
siempre en este orden:
a. Primero al router 150.128.48.1
b. Después a un ordenador externo, elegimos el 8.8.8.8, servidor de nombres de
Google.
c. Por último a un nombre, por ejemplo wikipedia.org.
11. Vuelve a dejar el cable en la tarjeta que debe conectar con la red de la UJI de forma que
volverás a tener acceso a Internet por esa tarjeta.
12. Activa la tarjeta que usabas inicialmente y desactiva la que acabas de configurar
manualmente.
13. Reinicia NetworkManager para que configure la tarjeta de forma automática, usando la
orden:
systemctl start NetworkManager. Esto invocará al DHCP y lo configurará todo.
NetworkManager puede tardar en reconfigurar la red. Si necesitáis la red podéis reiniciar el
ordenador.
14. Comprueba que todo está como al principio, con un ping wikipedia.org
Fin Ejercicio 1
5. Finalización de la práctica
Por favor deja los equipos conectados a la red de la UJI y quita los cables
adicionales. Apaga el ordenador al finalizar la clase.
6. Cuestiones
Algunas cuestiones de repaso sobre la práctica.
1. ¿Cuántos bits tendría el prefijo de red de una red IP con máscara 255.255.248.0?
2. En un dispositivo o tarjeta de red, ¿podemos tener asignada más de una dirección IP?
3. ¿Crees que tener asignadas direcciones IP de la misma red IP en diferentes dispositivos del
mismo ordenador puede dar problemas?
4. ¿Es necesario tener configurado un servidor DNS externo para que funcione nuestra red IP?
Download