Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 REDES DE COMPUTADORES | REDES Y SISTEMAS DISTRIBUIDOS Título de la práctica Sesión Laboratorio Material utilizado CONFIGURACIÓN BÁSICA DE REDES Configuración de clientes 2.7 PCs y Routers Linksys OBJETIVOS El objetivo general de este boletín de prácticas es configurar los PCs del laboratorio de forma que puedan acceder a alguna de las subredes IP del mismo, haciendo para ello uso de las tarjetas Ethernet que tienen instaladas. En concreto, los alumnos aprenderán varias cuestiones relacionadas con la configuración de hosts en los siguientes sistemas operativos Windows Server y Linux Fedora. RECURSOS El laboratorio donde se realizan las prácticas está equipado con los siguientes recursos: • • • PCs con sistemas operativos Windows y Linux. Cada uno de los PCs tiene instaladas dos tarjetas Ethernet 10/100. Routers Linksys. INTRODUCCIÓN El conjunto de sesiones que forman la práctica 2 de la asignatura, al cual se le ha dado el nombre genérico de Configuración y Administración de Redes, consta de 6 sesiones prácticas de laboratorio destinadas cada una de ellas a abordar muchas de las cuestiones relacionadas con las fases básicas de configuración de una red: configuración de hosts, establecimiento de topologías y encaminamiento, selección de las reglas de filtrado de tráfico, traducción de direcciones IP y monitorización de la red. Aunque idealmente la primera fase que debería llevarse a cabo sería la segmentación de la red en subredes, el estudio de las topologías, y la configuración del encaminamiento, en nuestro caso comenzaremos por la configuración básica de hosts con el fin de afianzar los conceptos antes de abordar cuestiones más complejas, como la configuración de routers. Por tanto, esta sesión estará únicamente centrada en la configuración de hosts que se encuentran ubicados en subredes ya definidas e interconectadas entre sí. En la siguiente sesión se verá entonces cómo crear dichas subredes. La configuración de hosts se verá desde la perspectiva de las dos familias de sistemas operativos más utilizados actualmente: sistemas Windows y sistemas Linux. Como se verá, existen diferencias a la hora de llevar a cabo el establecimiento de los parámetros de funcionamiento, pero se trata sólo de diferencias superficiales, si acaso de interfaz, ya que los parámetros configurados y la semántica que hay detrás de ellos es la misma. Para la realización de la práctica, se asume que el alumno posee los conocimientos mínimos del manejo de dichos sistemas operativos, y que por tanto no es necesario proporcionar otro tipo de detalles que no estén exclusivamente relacionados con la red. © 2009 DITEC. Universidad de Murcia - Página 1 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 El plan de trabajo de esta sesión, al igual que el del resto de las sesiones, consistirá en las siguientes etapas: 1. Lectura del boletín por parte del alumno 2. Presentación de los programas y ficheros de configuración 3. Realización, por parte del alumno, de los ejercicios propuestos. PARTE A: PARÁMETROS BÁSICOS RELACIONADOS CON LA CONFIGURACIÓN TCP/IP Como ya se ha comentado, independientemente del sistema operativo con el que estemos trabajando, existen un conjunto de valores de configuración en los cuales se basará la conexión a la red del host. El conocimiento a priori de dichos parámetros es fundamental en aquellas redes en las cuales no se está haciendo uso de una asignación dinámica de direcciones mediante DHCP. Por tanto, se deberá contactar con los administradores de la red para obtener la siguiente información: • • • • • • Dirección IP que se le asignará al host. Debe ser única, al menos, dentro de la subred a la cuál pertenecerá el host. Máscara de red. Se utilizará para que el host sepa determinar si el equipo al cuál se le desea enviar un paquete forma parte de la misma subred que el host. Dirección IP de la red (opcional). Dirección de la subred a la cual pertenece el host. En muchos casos no es necesario especificarlo ya que se puede derivar a partir de los dos primeros parámetros. Dirección IP de broadcast (opcional). Dirección del broadcast de la subred. También se puede determinar a partir de los dos primeros parámetros. Dirección del enrutador (router o gateway). Dirección IP del equipo encargado de enviar los paquetes a otros hosts que no se encuentren dentro de la subred del host que estamos configurando. Dado que dicho router poseerá varias direcciones IP, la dirección proporcionada debe ser aquella que pertenezca a la misma subred que el host. Dirección del Servidor de Nombre de Dominio (DNS). Dirección IP del servidor que se encargará de realizar la conversión de nombres de dominio en direcciones IP y viceversa. Los parámetros anteriores deben conocerse para todas aquellas interfaces que queramos configurar, ya que un host puede tener varias interfaces que configurar (por ejemplo una interfaz de acceso telefónico, una interfaz Ethernet y una interfaz inalámbrica). PARTE B: CONFIGURACIÓN DE CLIENTES WINDOWS 2008 SERVER Esta sección no pretende ser una guía exhaustiva de cómo configurar todos los parámetros relacionados con los distintos protocolos de red a los que da soporte Windows. Única y exclusivamente, nos centraremos en la configuración de redes TCP/IP en este sistema operativo, dejando las cuestiones relacionadas con WinS, NetBIOS, etc. para otras asignaturas. La configuración de un host Windows 2008 Server es muy similar a la de cualquier otro host basado en el uso de Windows 2000/XP en cualquiera de sus versiones. Por tanto, lo explicado aquí para el sistema Windows 2008 Server, que es el que se encuentra instalado en el laboratorio en el cual se realizan las prácticas, será de utilidad en otras versiones. © 2009 DITEC. Universidad de Murcia - Página 2 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 CONFIGURACIÓN DE LOS VALORES TCP/IP Las distintas conexiones de red de un host Windows 2008 (lo que en Linux se conoce como interfaces de red) se pueden mostrar desde el Panel de Control accediendo a “Centro de redes y recursos compartidos”. Para esta asignatura sólo son de interés aquellas conexiones etiquetadas como “Conexión de área local”, puesto que se corresponderán con la conexión Ethernet del host. Dichas conexiones se crean automáticamente cuando el sistema operativo reconoce la tarjeta Ethernet e instala los controladores necesarios para utilizarla. A partir de ese instante, es responsabilidad del usuario o del administrador configurar correctamente la conexión para que haga uso de la red de área local instalada. Para ello, modificaremos las propiedades del protocolo TCP/IP de la siguiente forma: 1. Localizar la conexión de red activa (si no aparece ninguna es que el hardware Ethernet no está correctamente instalado). 2. Con el botón derecho del ratón seleccionar las “Propiedades” de dicha conexión. 3. A continuación seleccionar las “Propiedades” del protocolo TCP/IPv4 Esto hará que aparezca un diálogo similar al que muestra la figura: Como podemos apreciar, esta ventana nos permite, en primer lugar, seleccionar si la dirección IP será asignada de forma dinámica mediante DHCP (Obtener una dirección IP automáticamente) o de forma estática (Usar la siguiente dirección IP). En el caso de que la asignación sea estática, debemos entonces especificar la dirección IP, máscara de subred, puerta de enlace predeterminada y servidores DNS primario y secundario. Aunque es posible especificar además otras opciones de configuración más avanzadas, estas se encuentran fuera del ámbito de esta práctica. ACTIVACIÓN / DESACTIVACIÓN DE LAS CONEXIONES Una vez configurada la conexión, el siguiente paso es la activación de la misma. En la mayoría de los casos, cuando el equipo trabaja simplemente como host, es decir, sin actuar como elemento intermedio de interconexión con otra red (router, traductor de direcciones, etc.), es conveniente desactivar también todas aquellas conexiones que no se vayan a utilizar. © 2009 DITEC. Universidad de Murcia - Página 3 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 Para activar o desactivar una conexión basta con seleccionar dicha conexión, pulsar el botón derecho del ratón, y seleccionar Desactivar, si ésta estaba activada, o Activar, si se encontraba desactivada. En el caso de activación, eso implicará su registro en la red, la inicialización de ciertas tablas internas, y la obtención de una nueva dirección IP si la asignación es dinámica. En el caso de que la conexión se encontrara ya previamente establecida, pero se hayan detectado problemas, es posible también solicitar la reparación de la conexión. Esto implica la desactivación y activación del hardware, el reseteo de las tablas internas y un nuevo registro en la red. Una vez que una conexión se encuentra activada, en cualquier momento podemos averiguar los parámetros de configuración actuales de la conexión mediante la selección de la opción Estado, también pulsando con el botón derecho del ratón sobre la conexión. Otra forma de obtener información detallada acerca de todas las conexiones de red es ejecutar la orden ipconfig /all desde la línea de comandos. EJERCICIOS PROPUESTOS Por grupos, y haciendo uso cada grupo de un PC, llevar a cabo los siguientes ejercicios: 1. Configurar manualmente los valores TCP/IP del equipo de la siguiente forma: a. Dirección IP: Dirección IP válida de la subred 192.168.1.0/24 a partir de la 192.168.1.10. b. Máscara de Subred: Máscara asociada a la subred 192.168.1.0/24. c. Puerta de enlace por defecto: Router de la subred, es decir, 192.168.1.1. d. Servidor DNS: 155.54.1.1. 2. Verificar que la conexión se ha activado correctamente. Para ello utilizar el programa ping (Inicio – Ejecutar). Comprobar que se consigue llegar tanto a un equipo de la propia subred como al router y al servidor de DNS. 3. Restaurar la configuración automática de los valores TCP/IP y repetir el apartado 2. PARTE C: CONFIGURACIÓN DE CLIENTES LINUX Estudiaremos ahora cómo llevar a cabo la configuración de interfaces de red en el sistema operativo Linux. Aunque lo aquí descrito se refiere principalmente a las distribuciones Fedora Core, que es la que se encuentra instalada en el laboratorio, los conceptos son fácilmente trasladables a otras distribuciones. En el caso de Linux, veremos dos formas distintas de llevar a cabo la especificación de los parámetros de funcionamiento. Por un lado, veremos el uso de las órdenes ifconfig, route y dhclient, las cuales nos permiten cambiar las opciones en cualquier momento. Por otro lado, veremos también cómo expresar los parámetros mediante ficheros de configuración que se procesan automáticamente durante la activación de los servicios de red. Las interfaces de red se crean de forma dinámica y por tanto no requieren de la presencia de ficheros de dispositivo. En la mayoría de los casos las interfaces de red se crean automáticamente por los controladores de dispositivo mientras se inicia y localiza el hardware. El nombre depende de la interfaz a la que representa y de la tecnología de red subyacente a dicha interfaz. Por ejemplo, el controlador Ethernet crea interfaces eth[0..n] secuencialmente según va encontrado tarjetas Ethernet. La primera tarjeta que encuentra es eth0, la segunda eth1, etc. © 2009 DITEC. Universidad de Murcia - Página 4 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 USO DE LAS ÓRDENES IFCONFIG, ROUTE Y DHCLIENT El programa usado más comúnmente para asignar direcciones y otros parámetros a las interfaces de red en Linux es la orden ifconfig (interface configure). Lo normal será usar una orden similar a la siguiente: root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up En este caso estamos configurando la interfaz Ethernet eth0, con dirección IP 192.168.0.1 y máscara de red 255.255.255.0. El ‘up’ del final de la orden le dice al interfaz que debería activarse, pero normalmente se puede omitir, ya que es el valor por defecto. Para desactivar una interfaz, simplemente tiene que ejecutar ifconfig eth0 down. El núcleo asume ciertas cosas cuando configura interfaces. Por ejemplo, puede especificarse la dirección de red y difusión de una interfaz, pero si no se hace, como en el ejemplo anterior, entonces el núcleo obtendrá dichos valores basándose en la máscara que se le proporciona. Si no se llegara a indicar la máscara, se asumirá que es la máscara estándar relacionada con el tipo de dirección IP asignada (es decir, 8 bits si es de clase A, 16 si es de clase B y 24 si es de clase C). En nuestro ejemplo, el núcleo establece una dirección de red 192.168.0.0 y una dirección de difusión 192.168.0.255. Hay otras muchas opciones para la orden ifconfig. Las más importantes son: up Esta opción activa una interfaz (y es la opción por defecto). down Esta opción desactiva una interfaz. [-]arp Esta opción activa o desactiva el uso del protocolo de resolución de direcciones (address resolution protocol) sobre la interfaz. [-]promisc Esta opción activa o desactiva el modo promiscuo de la interfaz. Cuando se selecciona, todas las tramas que circulan por la red serán recibidas por la interfaz mtu N Este parámetro le permite especificar la MTU (Maximum Transmission Unit) del dispositivo. netmask <direc> Este parámetro le permite asignar la máscara de red a la que pertenece el dispositivo. [-]broadcast [direc] Este parámetro le permite activar y asignar la aceptación de paquetes destinados a la dirección de difusión, o desactivarla por completo. Una vez configurada la dirección de la interfaz, es necesario establecer los parámetros del encaminamiento, es decir, especificar de qué forma se hará llegar los paquetes a los equipos destinatarios de los mismos. Cada máquina tiene una lista de reglas, llamada tabla de encaminamiento. Esta tabla tiene columnas que suelen contener, al menos, cuatro campos: el primero es una dirección de destino (una dirección de red o una dirección IP concreta), el segundo es (opcionalmente) la dirección IP de otra máquina que cogerá el paquete en su siguiente paso a través de la red (es decir, será un router), el tercero es una máscara de red y el cuarto es el nombre de la interfaz por © 2009 DITEC. Universidad de Murcia - Página 5 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 la que se va a enviar el paquete. Las reglas (es decir, las filas de la tabla) están ordenadas de tal manera que las primeras son las que tienen la máscara de red más restrictiva (es decir con más 1’s), y las últimas son las que tienen la máscara de red menos restrictiva. En Linux puede ver esta tabla usando las siguientes órdenes: root# /sbin/route -n root# /bin/netstat -r Para manipular esta tabla se usa una orden especial. Esta instrucción toma sus argumentos de la línea de órdenes y, utilizando llamadas al sistema, pide al núcleo que añada, borre o modifique entradas en la tabla de encaminamiento. Dicha orden se llama route. Un ejemplo sencillo. Imagine que tiene una red Ethernet. Le han dicho que pertenece a una red clase C con dirección 192.168.1.0. Le han dado la dirección IP 192.168.1.10 para su uso y también que 192.168.1.1 es un router conectado a Internet. El primer paso es configurar la interfaz como se describió anteriormente. Puede usar una orden como: root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up Aunque el sistema crea una entrada en la tabla de rutas, podríamos añadirla para decirle al núcleo que los paquetes destinados a todas las máquinas con direcciones que se ajusten a 192.168.1.*, deberán ser enviados al dispositivo Ethernet. Debería usar una orden similar a: root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 Fíjese en el uso del parámetro -net para especificar al programa route que esta entrada es una regla para una red completa. Otra opción es -host, que indica una vía específica a una dirección IP en particular. Esta ruta le permitirá establecer conexiones IP con todas las estaciones de su segmento Ethernet. En el caso en el que queramos acceder a estaciones de fuera de nuestra subred, debemos también especificar cuál es el router que se utilizará por defecto. En este caso, la ruta por defecto se ajusta a todo destino posible pero con prioridad mínima (la máscara de red es 0.0.0.0), por lo que si existe cualquier otra entrada que se ajuste a la dirección requerida, será la que se use en lugar de la ruta por defecto. En el ejemplo anterior se podría usar una orden como: root# route add default gw 192.168.1.1 eth0 El parámetro gw (gateway) le dice a la orden route que lo que le sigue es la dirección IP, o nombre, de una pasarela o router a la que se deberían enviar todos los paquetes que se ajusten a esta entrada para futuro encaminamiento. Por otro lado, en el caso de que la configuración de la interfaz deba obtenerse dinámicamente mediante el uso del protocolo DHCP, Linux proporciona una orden llamada dhclient que permite obtener instantáneamente la configuración TCP/IP de una interfaz del servidor DHCP de la subred. El uso de dicha orden es muy sencillo, por ejemplo se muestra a continuación cómo configurar la interfaz eth0 mediante DHCP: root# dhclient eth0 Por último, antes de concluir esta sección, deberíamos dejar constancia de la existencia de un tipo especial de interfaz que resulta especialmente útil. La interfaz ‘loopback’ es un tipo © 2009 DITEC. Universidad de Murcia - Página 6 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 especial de interfaz que permite a un ordenador hacer conexiones consigo mismo. Hay varias razones por las que podría querer hacer esto. Por ejemplo, puede que desee probar algún tipo de programa sin interferir con alguien más en su red. Por convención, la dirección de red IP 127.0.0.1 ha sido asignada específicamente para el dispositivo de pruebas. Configurar la interfaz loopback es simple, y aunque normalmente viene configurada, la forma de hacerlo sería: root# ifconfig lo 127.0.0.1 root# route add -host 127.0.0.1 lo CONFIGURACIÓN BASADA EN FICHEROS Los valores de configuración de las interfaces pueden especificarse también haciendo uso de ficheros concretos del sistema. Por ejemplo, en la distribución de Fedora Core, la configuración de la red se almacena en ficheros específicos de configuración que se encuentran en los directorios /etc/sysconfig y /etc/sysconfig/network-scripts. En el directorio /etc/sysconfig/network-scripts encontramos un fichero de configuración para cada interfaz de red que tengamos. Así, podemos encontrar un fichero ifcfg-lo para la interfaz de red loopback, y un fichero ifcfg-eth0 para la interfaz de red eth0. Dichos ficheros contienen los datos necesarios para configurar la interfaz de red correspondiente. Para ver el formato de dichos ficheros, lo mejor será que analicemos un ejemplo concreto: # Fichero ifcfg-eth0 # DEVICE=eth0 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.6.1 NETMASK=255.255.255.0 NETWORK=192.168.6.0 BROADCAST=192.168.6.255 GATEWAY=192.168.6.100 # # # # # # # # Nombre de la interfaz ¿Iniciar iterfaz al arrancar? (yes|no) Protocolo de asignación dinámica (none,bootp,dhcp) Dirección IP de la interfaz Máscara de red Dirección de la Subred Dirección de broadcast Router por defecto Otros ficheros de configuración importantes son /etc/sysconfig/network y /etc/resolv.conf. Veamos un ejemplo del contenido de /etc/sysconfig/network, el cual es bastante autoexplicativo. #/etc/sysconfig/network NETWORKING=yes HOSTNAME=ditec.um.es GATEWAY=155.54.1.200 GATEWAYDEV=eth0 # # # # Las funciones de red se encuentran activadas Nombre del host Router por defecto que se empleará Interfaz usada para llegar al router por defecto /etc/resolv.conf es el fichero de configuración del sistema de resolución de nombres DNS (Domain Name System). Su formato es bastante simple. Es un fichero de texto con una palabra clave por línea. Hay tres palabras clave de uso frecuente, que son: domain Esta palabra clave especifica el nombre de dominio local. search Esta especifica una lista de dominios alternativos para completar el nombre de una máquina. © 2009 DITEC. Universidad de Murcia - Página 7 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 nameserver Ésta, que puede utilizarse varias veces, especifica una dirección IP de un servidor de nombres de dominio para consultarlo cuando se resuelvan nombres. Por tanto, básicamente se necesita saber a qué dominio pertenecen las máquinas y la dirección IP del servidor de nombres (nameserver) local que se vaya a usar. Un ejemplo de /etc/resolv.conf es el siguiente: #/etc/resolv.conf domain inf.um.es search inf.um.es um.es nameserver 155.54.1.1 nameserver 155.54.15.240 Este ejemplo especifica que el nombre de dominio por defecto para añadir a los nombres no cualificados (esto es, nombres de máquinas suministrados sin dominio) es dif.um.es, y que si no se encuentra la máquina en este dominio intentemos también el dominio um.es directamente. Se proporcionan dos entradas de servidor de nombres, cada uno de los cuales puede ser llamado por el código de resolución de nombres para traducir el nombre. ACTIVACIÓN / DESACTIVACIÓN DE INTERFACES En Linux disponemos de varias alternativas para activar o desactivar cada una de las interfaces creadas, así como la alternativa de incluso activar o desactivar todo lo relacionado con los servicios de red. En lo que se refiere a cada una de las interfaces, podemos hacer uso de la orden ifup o ifdown desde el directorio /etc/sysconfig/network-scripts. Por ejemplo, podríamos desactivar la interfaz eth0 mediante: root# ifdown eth0 También se puede hacer uso de la orden ifconfig para el mismo propósito: root# ifconfig eth0 down Por último, también es posible desactivar, activar o reiniciar los servicios de red del host. Para ello tenemos dos formas distintas de hacerlo: 1. Utilizar el script network localizado en /etc/init.d/, con el parámetro start, stop, restart en función de lo que queramos hacer. Por ejemplo, /etc/init.d/network restart para reiniciar la red. 2. Utilizar la orden service de forma análoga a la alternativa anterior, es decir, reiniciar la red mediante la llamada service network restart . © 2009 DITEC. Universidad de Murcia - Página 8 Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 2 EJERCICIOS PROPUESTOS Por grupos, y haciendo uso cada grupo de un PC, llevar a cabo los siguientes ejercicios: 1. Configurar los valores TCP/IP del equipo, usando las órdenes ifconfig y route, de la siguiente forma: a. Dirección IP: Dirección IP válida de la subred 192.168.1.0/24 a partir de la 192.168.1.10. b. Máscara de Subred: Máscara asociada a la subred 192.168.1.0/24. c. Puerta de enlace por defecto: Router de la subred, es decir, 192.168.1.1. d. Servidor DNS: 155.54.1.1. 2. Verificar que la conexión se ha activado correctamente. Para ello utilizar el programa ping. Comprobar que se consigue llegar tanto a un equipo de la propia subred como al router y al servidor de DNS. 3. Llevar a cabo la configuración anterior utilizando los ficheros de configuración que se han analizado en este boletín. Repetir también la prueba del apartado 2. 4. Restaurar los ficheros de configuración y la configuración automática de los valores TCP/IP, y repetir el apartado 2. APÉNDICE A. RED DEL LABORATORIO PARA LA SESIÓN 2 DE LA PRÁCTICA 2 Conmutador Router 1 Router 2 WAN WAN WAN WAN Router 4 Router 3 WAN WAN Router 6 Router 5 © 2009 DITEC. Universidad de Murcia - Página 9