You are on page 1of 11

I P ROUT E

Que ès?.
Funcionalidad.
Sintaxis.
Objetos.
Què es?
● Conjunto de herramientas muy potentes
para administrar interfaces de red y
conexiones en sistemas Linux.
● Reemplaza completamente las
funcionalidades presentes en ifconfig,
route, y arp y las extiende llegando a
tener características similares a las
provistas por dispositivos exclusivamente
dedicados al ruteo 11y control de tráfico.
Funcionalidades

● QoS (Quality of service
● múltiples tablas de ruteo
● Balanceo de carga
● Definición de túneles
Sintaxis
ip [ Opciones ] Objeto [ Comando
[ Argumentos ]]

✔Opciones:
➢ -V[ersion]

➢ -s[tatistics]

➢ -r[esolve] |

➢ -f[amily] { inet | inet6 | ipx | dnet | link }

o[neline] | -t[imestamp] }
Objetos
➢link: Para configurar los objetos físicos o lógicos de
la red.

➢address: Manejo de direcciones asociadas a los
diferentes dispositivos.

➢neighbour: Permite a los usuarios ver los enlaces de
vecindad, añadir nuevas entradas de vecindad y
borrar las antiguas.

➢rule: Permite a los usuarios ver las políticas de
enrutado y cambiarlas.

➢route: Permite a los usuarios ver las tablas de
enrutado y cambiar las reglas de las tablas.
Objetos
➢tunnel: Permite a los usuarios ver los túneles IP y
sus propiedades, y cambiarlos.

maddr: Permite a los usuarios ver las direcciones

multienlace y sus propiedades, y cambiarlas.

➢mroute: Permite a los usuarios establecer, cambiar
o borrar el enrutado multienlace.

➢monitor: Permite a los usuarios monitorizar
continuamente el estado de los dispositivos,
direcciones y rutas.
Ejemplo:
Se expone el siguiente caso:

Tenemos una maquina con mas de una interfaz, e
intetamos hacer balanceo de carga entre las
mismas.

Se deben seguir estos pasos:

** Se debe tener claro que funcion cumple cada
interfaz y que queremos de ella.
** Ahora haces algunos ajustes en los parametros de
ruteo, asì:

echo #* > /proc/sys/net/ipv4/route/gc_interval

De la misma manera en los siguientes archivos:
gc_elasticity, gc_timeout, max_delay, max_size, gc_thresh.

** Seguidamente se definen las tablas de ruteo en
RT_TABLES de esta manera:

echo “#* reserved values” > /etc/iproute2/rt_tables
echo “255 local” > /etc/iproute2/rt_tables

Esto se hace por la cantidad de tablas que se necesitan
nombrar.

#* Se refiere a un numero aleatorio que identifica cada
tabla.
** Despues de haber definido lo anterior se empezara
la configuracion de la interfaces:

ip link set dev $DEV up
ip addr add ip/mask dev $DEV

** Ahora se crearan las rutas de la red local:

route add 127.0.01 lo
route add $IP $DEV

** Creamos rutas en la tabla main:

ip route add $ID/MASK dev $DEV $IP
Se repite este procedimiento dependiendo del
numero de tablas necesarias.
** Creacion de tablas a salidas de internet.

ip route add $ID/MASK* dev $DEV* src $IP* table T*

ip route add default via $GW* dev $DEV* src $IP proto
static table T*

** Encaminamos paquetes y creamos reglas.

ip rule add prio 50 table main
ip rule add prio 201 from $ID/MASK* table T*

Asì hasta completar el numero de tablas por interface.
** Finalmente hacemos el balanceo de carga entre las
interfaces.

ip route add default table T* proto static/
nexthop via $GW* dev $DEV* weight 1/
nexthop via $GW* dev $DEV* weight 1

Todo lo que esta diferenciado por un * hace refencia a
que se hace de acuerdo a las necesidades y la
configuracion dada a cada salida (interfaz).