Tabla de contenidos
En una red TCP/IPv4, cada computador tiene como identificación una dirección IP única. Esta dirección consta de 32 bits, y suele escribirse como 4 números/bytes separando unos de otros por punto (cada uno es un número entre 0 y 255), por ejemplo 66.35.250.209. Cómo TCP/IP se diseño para interconectar redes, una dirección 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 máscara de red determina que parte identifica la red y cuáles computadores en la red puede denotarse con el número de bits del comienzo de la dirección que identifican la red (e.g 16 si los primeros 16 bits identifican la red) o como otra dirección que al hacer la operación lógica y con la dirección IP dará la dirección de red (por ejemplo 255.255.0.0 es una máscara que indica que los primeros 16 bits de una dirección IP son la dirección de red).
Al diseñar una red debe escogerse una dirección de red junto con la máscara de acuerdo al número de computadores, algunas posibilidades son:
16777216 computadores
1048576 computadores
65536 computadores
255 computadores
Además la dirección de red que escoja debe ser única para no producir conflictos con otras redes en caso de conectarse a Internet y puede facilitar la interconexión de diversas redes y el enrutamiento al interior de una organización. La labor de asignación de direcciones IP en una red local la puede hacer un administrador de red o puede hacerse dinámicamente con el protocolo DHCP.
Para facilitar la adopción de redes TCP/IPv4 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):
máscara /8
máscara /12
máscara /16
Por ejemplo en su red local puede emplear direcciones entre 192.168.1.1 y 192.168.1.255 con máscara de red /24 o 255.255.255.0. O en caso de contar con más redes en la misma organización, la segunda con direcciones entre 192.168.2.1 y 192.168.2.255 y así sucesivamente. Además de usar direcciones privadas, se facilita el crecimiento de la infraestructura de redes y la configuración del enrutamiento entre unas y otras.
Como se presentó en la descripción 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 información a la red destino. En una red de área local no es necesario configurarla, pero si se requiere por ejemplo para interconectar varias redes de área local en una misma organización.
Puede ver la tabla de enrutamiento estático en con route -n show o con netstat -r. Entre los campos de cada entrada de esta tabla están: red destino, puerta de enlace, banderas, uso, MTU, interfaz por la cual enviar/recibir paquetes con ese destino,
Hay un destino por defecto (default
) al
que se envia todo paquete que no tiene un destino en la tabla de
enrutamiento. Este destino por defecto o puerta de enlace se
configura en el archivo /etc/mygate
. En una
red local conectada a Internet, el servidor debe emplear como
puerta de enlace la que le haya dado el proveedor de Internet, y
cada computador de la red local debe emplear la IP del servidor.
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:
sudo route add 192.168.2/24 192.168.1.60
Y pueden eliminarse de forma análoga con route delete.
Para determinar problemas de enrutamiento o en general de la red, puede emplear algunas herramientas de diagnóstico por ejemplo:
Presenta las direcciones de los computadores y enrutadores que transmiten un paquete hasta llegar a su destino. Por ejemplo
traceroute 192.168.2.2
Éste presenta estadísticas sobre IP, ICMP y TCP
Que presenta direcciones MAC junto con IPs asociadas
Permite analizar el tráfico de una red TCP/IP. Desde la cuenta root puede usarse este programa para examinar todo el tráfico que circule por una red. Por ejemplo para verificar lo que se transmite por la interfaz re0:
sudo tcpdump -i re0 -n -ttt
Fuera de las tablas de enrutamiento y ARP, la funcionalidad de redes a nivel de kernel se puede controlar con:
/etc/hosts
En este archivo se listan nombres asociados a la dirección IP de algunos computadores, por ejemplo:
127.0.0.1 localhost 192.168.1.1 Jesus.miescuela.edu.co Jesus
Para configurar algunas variables del
kernel relacionadas con redes.
Los cambios pueden hacerse permanentes modificando
el archivo /etc/sysctl.conf
.
Resaltamos la variable net.inet.ip.forwarding
que debe activarse para que un sistema opere como enrutador.
Que permite controlar el
tráfico de paquetes en el kernel y por tanto controlar
la funcionalidad de
cortafuegos[24].
Se configura de manera permanente en el archivo /etc/pf.conf
(o el archivo especificado
en la variable pf_rules
de
rc.conf.local
o rc.conf
). Para
que pf entre en operación en cada arranque del
sistema, agregue a rc.conf.local
la línea:
pf=""
Una vez esté operando si hace cambios al archivo de configuración puede lograr que reinicie y vuelva a leerlo con:
# sudo pfctl -f /etc/pf.conf
El archivo de configuración /etc/pf.conf
tiene una sintaxis bastante entendible que permite definir
variables y tablas.
Las secciones de este capítulo explican algunas configuraciones típicas que pueden hacerse con pf y los correspondientes cambios a su archivo de configuración.