Как я могу настроить персистентность ip rule
в Linux (особенно в дистрибутивах на основе Redhat)? Нет ли встроенного метода? Является ли мой единственный вариант добавления /etc/rc.d/rc.local
или создания собственного rc.d
сценария?
Изменить: Для пояснения я не имею в виду, iptables
но ip
инструмент (с которым я не думаю, что многие люди знакомы). В любом случае правило, которое я пытаюсь сохранить, добавляется с помощью следующей команды:
# ip rule add fwmark 1 lookup 100
# ip rule
...
32765: from all fwmark 0x1 lookup 100
...
Единственная ссылка, которую я нашел для этого, - от Novell: http://www.novell.com/support/viewContent.do?externalId=7008874&sliceId=1, в которой рекомендуется создать rc.d
скрипт
linux
networking
redhat
казарка
источник
источник
ip rule add fwmark 1 lookup 100
Ответы:
Как обычно, я наткнулся на ответ на свою проблему вскоре после того, как спросил :) Нашел ответ на http://grokbase.com/t/centos/centos/099bmc07mq/persisting-iproute2-routes-and-rules
На Redhat 5+
/etc/sysconfig/network-scripts/ifup-routes
скрипт обрабатываетrule-*
файлы. Соответствующий код ниже:Скрипт для RHEL 6.5 (возможно, старше 6+):
источник
Выше приведено около 3/4 ответа - отсутствует часть о том, как отформатировать файл / etc / sysconf / network-scripts / rule-ethX. Вам также необходимо добавить таблицы маршрутизации в / etc / iproute2 / rt_tables:
И добавьте файл правил / etc / sysconfig / network-scripts / rule-eth0:
Обратите внимание, что имена таблиц должны совпадать и чувствительны к регистру.
источник
обратите внимание, что если вы используете приоритеты в этих файлах правил для какого-либо из правил, вы должны использовать приоритеты для всех правил. В противном случае те, у кого нет приоритетов, все добавляются в цепочку приоритетов 0.
источник