Difference between revisions of "Tutorial de Redes"
Jgvictores (talk | contribs) |
Jgvictores (talk | contribs) |
||
Line 19: | Line 19: | ||
Lo habitual es ver nuestra tarjeta de red como dispositivo de nombre '''eth0''' o similar (el dispositivo '''lo''' no sirve para realizar conexiones de cara al exterior; un dispositivo inalámbrico '''wlan0''' sí lo podemos utilizar). Si no aparece ningún nombre semejante, es posible que esté deshabilitado. Podemos descubrir más dispositivos con: | Lo habitual es ver nuestra tarjeta de red como dispositivo de nombre '''eth0''' o similar (el dispositivo '''lo''' no sirve para realizar conexiones de cara al exterior; un dispositivo inalámbrico '''wlan0''' sí lo podemos utilizar). Si no aparece ningún nombre semejante, es posible que esté deshabilitado. Podemos descubrir más dispositivos con: | ||
− | $ ip | + | $ ip l |
− | Pongamos que aquí sí apareciese el dispositivo '''eth0'''. Si no está habilitado (no aparece al teclear 'ifconfig'), podemos habilitarlo mediante el comando: | + | Pongamos que aquí sí apareciese el dispositivo '''eth0'''. Si figura como DOWN, comprueba el cable hasta que figure como UP. Si no está habilitado (está en 'ip l' pero no aparece al teclear 'ifconfig'), 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. | $ 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. |
Revision as of 23:11, 26 February 2014
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.
En la práctica y pese al modelo de 7 capas ISO/OSI, conviene entender estas las redes en un contexto de 4 capas:
- Capa Aplicación (la más alta): DHCP (asignación automática de IPs), DNS (relación nombres de dominios con direcciones IP), FTP (transferencia de ficheros punto a punto), HTTP (habitual para contenidos web como páginas HTML), IMAP (para email), IRC (para chats), LDAP (listados de emails), SMTP (también para email), SSH (terminal remota segura), Telnet (terminal remota)...
- Capa Transporte: TCP (más fiablilidad), UDP (más rapidez)...
- Capa Internet: IP (IPv4, IPv6)...
- Capa Enlace: MAC...
Estas capas se montan encima de una capa física (cable ethernet o wifi). Como nota adicional, en comunicaciones TCP/IP se suele hablar de "puertos". Permiten distintos canales de comunicación entre máquinas con IPs. Como nomenclatura adicional, cabe destacar que se suele llamar "socket" al par IP+puerto. Las comunicaciones HTTP suelen utilizar el puerto 80 (o 8080 cuando éste está ocupado).
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 (e.g. 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 (el dispositivo lo no sirve para realizar conexiones de cara al exterior; un dispositivo inalámbrico wlan0 sí lo podemos utilizar). Si no aparece ningún nombre semejante, es posible que esté deshabilitado. Podemos descubrir más dispositivos con:
$ ip l
Pongamos que aquí sí apareciese el dispositivo eth0. Si figura como DOWN, comprueba el cable hasta que figure como UP. Si no está habilitado (está en 'ip l' pero no aparece al teclear 'ifconfig'), 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
Esto siginificaría que nuestra subred ejemplo abarca desde 192.168.0.0 hasta 192.168.0.254 (una máscara 255.255.0.0 abarcaría de 192.168.0.0 hasta 192.168.255.254). 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
/etc/network/interfaces
auto eth0 # encender interfaz eth0 iface eth0 inet dhcp # que eth0 trate de obtener IP por DHCP