Tutorial de Redes

From Asociación de Robótica UC3M
Revision as of 17:07, 28 August 2012 by Jgvictores (talk | contribs)
Jump to navigation Jump to search

La pila de protocolos TCP/IP (Transfer Control Protocol / Internet Protocol) es el estándar de-facto utilizado en la mayor parte de redes y en Internet. Se compone de las siguientes 4 capas:

  • Capa Aplicación: DHCP, DNS, FTP, HTTP, IMAP, IRC, LDAP, SMTP, SSH, Telnet...
  • Capa Transporte: TCP, UDP...
  • Capa Internet: IP (IPv4, IPv6)...
  • Capa Enlace: MAC...

Configurar el acceso a Internet en una máquina con Linux

La mayoría de distribuciones actuales de GNU/Linux disponen de interfaces gráficas para la configuración de redes. Sin embargo, en la mayoría de los casos siguen presentes los mecanismos de bajo nivel. Muchos comandos están disponibles también en Windows (i.e. existe ipconfig en lugar de ifconfig).

Lo primero será ver los dispositivos disponibles:

$ ifconfig

Lo habitual es ver nuestra tarjeta de red como dispositivo de nombre eth0 o similar (lo no sirve para realizar conexiones de cara al exterior). Si no aparece ningún nombre semejante, es posible que esté deshabilitado. Podemos descubrir más dispositivos con:

$ ip link

Pongamos que aquí sí apareciese el dispositivo eth0. Podemos habilitarlo mediante el comando:

$ sudo ifconfig eth0 up  # o como usuario root en caso de no poder hacer sudo; omitiremos este comentario de aquí en adelante puesto que aplica a todo comando sudo.

La MAC está ligada al hardware, con ip link se ve como una dirección con el formato 00:11:22:33:22:11. La dirección IP del dispositivo se ve con el comando ifconfig, tiene el formato 192.168.0.22. Si no aparece, es posible que no se le haya sido asignada por el router o semejante (que de hecho se realiza por el protocolo DHCP). Podemos configurar la IP manualmente:

$ sudo ifconfig eth0 192.168.0.22

También es conveniente configurar nuestra máscara de red. Si suponemos que la subred es pequeña, podemos asignar la 255.255.255.0 (muchas veces 255.255.0.0 se pone por defecto):

$ sudo ifconfig eth0 netmask 255.255.255.0

Llegado a este punto podemos comprobar nuestra conectividad, probando a hacer un ping a la dirección IP nuestro router. No hay un estándar en direcciones IP de routers por defecto, pero sí existen listados por fabricante (i.e. http://www.techspot.com/guides/287-default-router-ip-addresses/). Si alguien ha cambiado la configuración del router y desconocemos su nueva IP, es posible que tengamos que resetearlo a través de un mecanismo explicado en su manual (habitualmente, pulsar el botón de reset durante un tiempo). Pongamos que leemos que su IP es la 192.168.0.1, entonces escribiremos:

$ ping 192.168.0.1

El router contestará si hay conectividad, que existe si se dan varias condiciones:

  • Debe haber conexión física.
  • Debemos estar en la misma subred.

Si todo ha ido bien hasta aquí, podemos establecer nuestra puerta de enlace. Suponiendo que queramos usar el propio router y su IP es la 192.168.0.1, podemos escribir:

$ sudo route add default gateway 192.168.0.1

Bajo los mismos supuestos, podremos hacer "ping" a cualquier IP globalmente accesible. ¿Qué nos falta para conectar con "google.com"? Establecer nuestros servidores de nombres (DNS). Podemos configurar los DNS editando el fichero /etc/resolv.conf. Si sabemos que un servidor con IP 194.179.50.2 puede actuar de DNS, podemos añadir una línea con esa información a /etc/resolv.conf mediante la siguiente línea:

$ sudo echo "nameserver 194.179.50.2" >> /etc/resolv.conf

Ahora comprobaremos que hemos configurado bien nuestro DNS:

$ ping google.com

Y si ha resultado, ¡a navegar!


Nótese que los cambios realizados mediante los comandos de la sección anterior se borrarán al reiniciar el equipo. Podemos actualizar el fichero /etc/network/interfaces con las mismas configuraciones, que se cargarán al arranque, o al deshabilitar la interfaz:

$ sudo ifdown eth1

Y volverla a habilitar:

$ sudo ifup eth1