¿Cómo puedo configurar un persistente ip rule
en Linux (específicamente distribuciones basadas en Redhat)? ¿No hay un método incorporado? ¿Mi única opción es agregar /etc/rc.d/rc.local
o crear mi propio rc.d
script?
Editar: para aclarar, no me refiero a iptables
la ip
herramienta (que no creo que mucha gente conozca). En cualquier caso, la regla que intento persistir se agrega con el siguiente comando:
# ip rule add fwmark 1 lookup 100
# ip rule
...
32765: from all fwmark 0x1 lookup 100
...
La única referencia que he encontrado para hacer esto es de Novell: http://www.novell.com/support/viewContent.do?externalId=7008874&sliceId=1 que recomienda crear un rc.d
script
linux
networking
redhat
brent
fuente
fuente
ip rule add fwmark 1 lookup 100
Respuestas:
Como es habitual, me encuentro con la respuesta a mi propio problema poco después de preguntar :) Encontré una respuesta en http://grokbase.com/t/centos/centos/099bmc07mq/persisting-iproute2-routes-and-rules
En Redhat 5+, el
/etc/sysconfig/network-scripts/ifup-routes
script maneja losrule-*
archivos. Código relevante a continuación:Script para RHEL 6.5 (posiblemente mayores de 6 años):
fuente
Lo anterior es aproximadamente 3/4 de la respuesta: la pieza que falta es cómo formatear el archivo / etc / sysconf / network-scripts / rule-ethX. También debe agregar las tablas de enrutamiento a / etc / iproute2 / rt_tables:
Y agregue el archivo de regla / etc / sysconfig / network-scripts / rule-eth0:
Tenga en cuenta que los nombres de las tablas deben coincidir y son sensibles a mayúsculas y minúsculas.
fuente
tenga en cuenta que si usa prioridades en estos archivos de reglas para cualquiera de las reglas, debe usar prioridades para todas las reglas. De lo contrario, los que no tienen ninguna prioridad se agregan a la cadena de prioridad 0.
fuente