martes, enero 09, 2007

Configuración avanzada de TCP/IP en Linux (I)

Aunque hace tiempo que no toco las características avanzadas de rutado en Linux, voy a hacer una serie de notas sobre cosas que estoy releyendo para empezar el Advance Routing Howto e IPROUTE2 Utility Suite Howto de Linux. En primer lugar, comentar que en este documento no se habla de rutado con protocolos dinámicos, sino de rutados estáticos, manejo de las tablas de kernel, manejo del arp, etc.

En primer lugar, el comando básico que utiliza Linux para manejar toda la configuración de red es iproute2, que sustituye a los tradicionales arp,ifconfig y route, aunque cualquiera de estos comandos sigue funcionado en Linux actualmente. Estos comandos tienen su equivalente con ayuda de la orden ip (normalmente está instalado en /sbin).

En primer lugar podemos ver los interfaces que tenemos en la máquina. Normalmente esto se realiza con la orden ifconfig -a, que nos da información sobre los interfaces, MACs y direcciones IP se sustituye por ip addr ls:

root@xxxx ~]# ip addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20e:a6ff:fe95:c4a5/64 scope link
        valid_lft forever preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

Para sacar la tabla de rutas, el netstat -rn se sustituye por ip route ls:

[root@xxxx ~]# ip route ls 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
169.254.0.0/16 dev eth0 scope link
Como puede verse, no tiene ninguna ruta por defecto y sólo tiene la ruta de link - o sea de la subred - y la ruta para la subred que se asigna en caso de intentar obtener IP sin presenciua de DHCP. Notar que esta es una de las múltiples tablas que puede usar de ruta Linux, concretamente esta es la tabla principal, conocida por main.

Por último para ver la tabla de arp, se utiliza normalmente arp -na, pues con el nuevo comando sería ip neigh ls

[root@xxxx ~]# ip neigh ls
192.168.1.10 dev eth0 lladdr xx:xx:xx:xx:xx:xx REACHABLE

Los ejemplos anteriores están en la introducción de la Advance Routing Howto. Los objetos que maneja el comando ip están en la siguiente tabla:

Objeto Descripción
link Maneja toda la información asociada con la interfaz: si está levantado o caído, direcciones MAC locales, soporte de multicast, si está en modo promiscuo o no, MTU, nombre de las interfaces, etc
addr Maneja la asignación de direcciones IP a las interfaces.
route Maneja las tablas de rutas del sistema
rule Permite las definición de reglas en tablas para su uso por el sistema de rutado.
neigh Maneja las tablas ARP del sistema
tunnelManeja la creación de túneles entre sistemas
maddr Maneja las direcciones multicast
mroute Maneja el caché de rutado multicast del sistema
monitor y rtmon Monitorizar diversos objetos del sistema

Technorati Tags: ,

No hay comentarios: