You are on page 1of 6

http://structio.sourceforge.net/guias/AA_Linux_colegio/direcciones-enrutamiento-y-transporte.

html

Anterior

3. Direcciones, enrutamiento y transporte


Captulo 6. Administracin de una red con Linux

3. Direcciones, enrutamiento y transporte


Indicadores de Logros
Emplea direcciones IP y configura direcciones privadas para una red local.
Puede configurar enrutamiento en una red local.

3.1. Lectura: Direcciones, enrutamiento y transporte


En una red TCP/IP, cada computador tiene como identificacin una direccin IP nica. Esta
direccin consta de 32 bits, y suele escribirse como 4 nmeros/bytes separando unos de otros por
punto (cada uno es un nmero entre 0 y 255), por ejemplo 66.35.250.209. Cmo TCP/IP se diseo
para interconectar redes, una direccin IP consta de una parte que identifica de forma nica la red y
otra que identifica de forma nica el computador dentro de la red. Una mscara de red determina
que parte identifica la red y cules computadores en la red puede denotarse con el nmero de bits
del comienzo de la direccin que identifican la red (e.g 16 si los primeros 16 bits identifican la red)
o como otra direccin que al hacer la operacin lgica y con la direccin IP dar la direccin de red
(por ejemplo 255.255.0.0 es una mscara que indica que los primeros 16 bits de una direccin IP
son la direccin de red).
Al disear una red debe escogerse una direccin de red junto con la mscara de acuerdo al nmero
de computadores, algunas posibilidades son:
/8 o 255.0.0.0
16777216 computadores
/12 o 255.242.0.0
1048576 computadores
/16 o 255.255.0.0
65536 computadores
/24 o 255.255.255.0
255 computadores
Adems la direccin de red que escoja debe ser nica para no producir conflictos con otras redes en
caso de conectarse a Internet y puede facilitar la interconexin de diversas redes y el enrutamiento
al interior de una organizacin.
Para facilitar la adopcin de redes TCP/IP en organizaciones, el RFC 1918 destin algunas
direcciones de red para usar al interior de organizaciones (no puede haber computadores en Internet
con esas direcciones):
10.0.0.0 - 10.255.255.255

mscara /8
172.16.0.0 - 172.31.255.255
mscara /12
192.168.0.0 - 192.168.255.255
mscara /16
Para nuestra plataforma de referencia, recomendamos emplear direcciones entre 192.168.1.1 y
192.168.1.255 con mscara de red /24 o 255.255.255.0. O en caso de contar con ms redes en el
mismo colegio, la segunda con direcciones entre 192.168.2.1 y 192.168.2.255 y as sucesivamente.
Adems de usar direcciones privadas, se facilita el crecimiento de la infraestructura de redes y la
configuracin del enrutamiento entre unas y otras
Como se present en la descripcin de las capas en redes TCP/IP (ver Redes, protocolos e Internet),
el protocolo IP mantiene una tabla de enrutamiento que asocia direcciones de red con compuertas,
es decir con computadores conectados a la misma red que pueden retransmitir informacin a la red
destino.
Puede ver la tabla de enrutamiento esttico en /proc/net/route o mejor con route o con
netstat -r. Entre los campos de cada entrada de esta tabla estn: red destino, mascara de la red
destino, interfaz por la cual enviar/recibir paquetes con ese destino, compuerta a la cual enviar para
retransmisin (o * si se envia a toda la red conectada a la interfaz), opciones entre las que puede
aparecer: U enrutamiento funcionando, H destino es un computador, G destino es una compuerta, !
ruta rechazada.
Hay una compuerta por defecto (default) a la se envia todo paquete que no tiene un destino en la
tabla de enrutamiento. La compuerta por defecto corresponde a la configurada como gateway de
la interfaz de red en el archivo /etc/network/interfaces
De requerirse pueden agregarse compuertas con route add por ejemplo, para agregar una ruta a la
red 192.168.2.0/24 usando como compuerta 192.168.1.60 que est en la misma red:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.60

Y pueden elminarse de forma anloga con route del.


Para determinar problemas de enrutamiento o en general de la red, puede emplear algunas
herramientas de diagnstico por ejemplo:
traceroute
Disponible en el paquete traceroute, presenta las direcciones de los computadores y
enrutadores que transmiten un paquete hasta llegar a su destino. Por ejemplo
traceroute 192.168.2.2

netstat -s
ste presenta estadsticas sobre IP, ICMP y TCP
ip link list

Que presenta direcciones MAC (debe instalar primero el paquete iproute


tcpdump
Disponible en el paquete tcpdump permite analizar el trfico de una red TCP/IP. Desde la
cuenta root puede usarse este programa para examinar todo el trfico que circule por una red.
Y para realizar configuraciones a los protocolos IP y TCP:
/etc/hosts
En este archivo se listan nombres asociados a la direccin IP de algunos computadores, por
ejemplo:
127.0.0.1
192.168.1.1

localhost
servidor.micolegio.edu.co servidor

sysctl
Para configurar algunas variables del kernel relacionadas con redes (ver Configuracin del
kernel). Los cambios que pueden hacerse con sysctl tambin se pueden hacer escribiendo en
los archivos del directorio /proc/sys/net/ipv4. Algunos son:
net/ipv4/ip_local_port_range
El cul determina el rango de puertos que pueden usarse.
net/ipv4/ip_forward
Que habilita reenvio en puertos IP. Esto es indispensable para hacer enmascaramiento y
para que el sistema actue como enrutador. Tambin puede establecerse en el archivo
/etc/network/options con
ip_forward=yes

ip_default_ttl
Establece el tiempo de vida por defecto de paquetes que salgan.
ipchains
Para configurar enmascaramiento o un contrafuegos[207].
3.1.1. Caso: Conexin de dos redes de rea local
Suponga que hay dos redes LAN con direcciones privadas que desea interconectar, cada una tiene
un concentrador, una tiene direcciones de la forma 192.168.1.x (i.e 192.168.1.0 con netmask
255.255.255.0 o ms breve 192.168.1.0/24), y la otra 192.168.2.x.
Para que las dos redes mantengan cada una su concentrador, se requerira un computador conectado
a ambas redes que pueda retransmitir los paquetes a la red apropiada, y se tendra que configurar el

enrutamiento en cada red (puede ser en cada computador o en la compuerta por defecto de cada
uno), para que envie paquetes dirigidos a la otra red por el computador intermediario.
Para conectarse a ambas redes el computador intermediario debera tener dos tarjetas de red, una
conectada a la primera red (digamos eth0 con direccin 192.168.1.200), la otra a la segunda
(digamos eth1 con direccin 192.168.2.100) y debe estar configurado para retransmitir paquetes.
La interfaz de red para la tarjeta conectada a la red 192.168.1.x, debe configurarse con una
direccin en esa red. Por ejemplo la primera tarjeta conectada a la red 192.168.1.x puede asociarse
con la interfaz eth0 con direccin 192.168.1.200 con:
ifconfig eth0 192.168.1.200 netmask 255.255.255.0

o podra configurarse en /etc/networks/interfaces con:


iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Una vez configuradas las dos tarjetas, podra configurar el enrutamiento primero habilitando
reenvio de paquetes IP:
echo 1 > /proc/sys/net/ipv4/ip_forward

o para que la configuracin sea tomada durante el arranque en el archivo


/etc/network/options (ver Inicializacin del sistema):
ip_forward=yes
spoofprotect=yes
syncookies=no

despus puede configurar desde la lnea de comandos (o un script durante el arranque del sistema)
el enrutamiento de acuerdo a las interfaces:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1

Para que otros computadores de la red 192.168.1.x se puedan comunicar con otros de 192.168.2.x y
viceversa, debera configurar en los que se comunicaran o en las computertas de cada red (EN
AMBOS) al intermediario. Por ejemplo si 192.168.1.2 se conectar con 192.168.2.2, en el primero
debe usar:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.200

y en el segundo
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.100

despus de hacer esta configuracin en los dos, puede probar por ejemplo desde 192.168.2.2
ping 192.168.1.2

Si tiene problemas en la conexin, puede verificar las tablas de enrutamiento (con route o netstat
-r) o puede rastrear la ruta que toman los paquetes con traceroute, por ejemplo desde 192.168.2.2:
traceroute 192.168.1.2

3.1.2. Caso: Enmascaramienton


En caso de que cuente con una conexin a Internet en el servidor de su red, bien sea permanente o
espordica (por ejemplo con un modem), le ser posible establecer conexiones desde cualquier
computador de la red con computadores en Internet empleando enmascaramiento (note que todas
las direcciones IP de la red local son privadas y no corresponden a direcciones IP reales,
globlamente localizables, as que sin enmascaramiento NO podran emplear Internet).
El computador que conecte a Internet debe tener al menos dos interfaces de red adems de
loopback: una tipo ethernet para comunicarse con la red interna y otra para comunicarse con
Internet (por ejemplo una interfaz PPP). Cada una de las interfaces tendr una direccin IP, la de la
interfaz conectada a Internet ser una direccin IP real, localizable en el mundo entero (digamos
1.2.3.4) y la otra ser una direccin privada no utilizable en Internet (digamos 192.168.1.1).
Al emplear enmascaramiento las conexiones iniciadas en un computador de la red privada pasarn
por el servidor, el cual cambiar la direccin del computador que inicia la conexin por la del
mismo servidor y reenviar la informacin a Internet. De esta forma el computador que conteste en
Internet responder al servidor, el cual podr ajustar la direccin de la informacin que reciba para
que llegue al computador dentro de la Intranet.
Para configurar enmascaramiento [208] en Debian instale el paquete ipmasq, el cual instala el
script ipmasq, lo ejecuta y prepara el proceso de inicializacin para ejecutarlo siempre durante el
arranque (vea Inicializacin del sistema. ipmasq configura el computador donde se instala para
hacer enmascaramiento y como contrafuegos bsico (que tras la instalacin permite iniciar todo tipo
de conexin desde la red interna hacia la externa con un poco de seguridad [209]). El contrafuego
puede restringirse agregando reglas para ipchains en archivos del directorio
/etc/ipmasq/rules.
En el caso de una conexin a Internet usando ppp, puede crear el archivo /etc/ipmasq/ppp
para que las reglas del contrafuegos sean configuradas cuando pppd inicia o termina una conexin.

3.2. Lecturas recomendadas: Direcciones, enrutamiento y transporte


Net-HOWTO. 5.1.2. IP Addresses, an Explanation. http://linuxdoc.org/HOWTO/NetHOWTO/c135.html#AEN138
Net-HOWTO. 5.5.1. What"s in a name ? http://linuxdoc.org/HOWTO/NetHOWTO/x398.html#AEN404
Puede consultar ms sobre enmascaramiento despus de instalar el paquete ipmasq en el
directorio /usr/share/doc/ipmasq y en las pgina man de ipmasq-rule que
indica como agregar reglas al contrafuego.

3.3. Ejercicios: Direcciones, enrutamiento y transporte


3.3.1 Suponga que a una red como la de la plataforma de referencia, desea agreguarsele un
.
computador cliente, qu pasos deben seguirse y cmo se configura?

[207] Contrafuego

del ingls firewall

[208] Para

emplear enmascaramiento el kernel debe ser compilado con las opciones


CONFIG_FIREWALL, CONFIG_IP_FIREWALL, CONFIG_IP_FORWARD, y
CONFIG_IP_MASQUERADE (configuraciones ya hechas en los kernels por defecto de Debian).
[209] ipmasq

computador

evita algunos ataques que emplean spoofing, es decir suplantacin de la IP de un