Actualmente usamos varios comandos para gestionar el tráfico IP y todo lo que le rodea: interfaces, rutas, túneles, ... Se decidió unificar el conjunto y proveer así un sólo comando con una sintaxis coherente y global. El comando se llama 'ip' y tiene la siguiente sintaxis:
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] |
Son varias opciones que influyen el comportamiento general de la herramienta. Todas las opciones empiezan por el carácter '-' y se pueden abreviar. Algunas opciones son:
-s, -stats, -statistics obtener más información
-f, -family especifica que familia de protocolo usar: inet, inet6 o link.
-r, -resolve imprime nombres DNS en lugar de direcciones de host
Es el objeto que queremos manejar o del cual buscamos informaciones. He aquí algunos ejemplos que también pueden ser abreviados:
link,l -- periférico de red
address,a -- dirección (IPv4 o IPv6) de periférico
route,r -- entrada en la tabla de routing
rule,ru -- regla en la base de datos de política (policy database)
maddress,maddr -- dirección multicast
tunnel,t -- tunnel sobre IP
Es el comando que se aplica al objeto. Se puede abreviar también:
add,a -- añadir un objeto
del,d -- borrar un objeto
set,s -- ajustar un objeto
show,list,l -- ver un objeto
Algunos posibles errores son:
Wrong syntax of command line -- problema de sintaxis
el núcleo devuelve un error a una petición NETLINK -- En este caso, ip imprime el mensaje de error prefijado por "RTNETLINK answers:"
Cannot open netlink socket: Invalid value -- Netlink no está configurado en el núcleo
Cannot talk to rtnetlink: Connection refused -- RTNETLINK no está configurado en el núcleo
Cannot send dumb request: Connection refused -- RTNETLINK no está configurado en el núcleo
RTNETLINK error: Invalid argument -- CONFIG_IP_MULTIPLES_TABLES no está configurado en el núcleo