Re: загрузка правил iptables
В Вто, 24/02/2009 в 18:20 +0300, Vladimir Elizarov пишет:
> Доброго времени суток! (с)
>
> Несколько вопросов по топику
> 1. Как правильно загружать правила iptables, все правила в одном файлом
> при поднятие wan-интерфейса? Или для каждого интерфейса (lo,lan итд)
> делать отдельный файл с правилами конкретно для него?
Тут стандарта не существует, каждый делает как ему удобнее. Я пришёл к
такому:
1. Все правила разделил на те, которые не зависят от интерфейса и те,
которые зависят.
2. Те, которые не зависят (их, по крайней мере в моей задаче, 95%)
загружаю из /etc/iptables/iptables.rules.boot с помощью iptables-restore
3. Те, которые зависят загружаю из
shell-скриптов /etc/iptables/*_[up_down], которые используют iptables
Например, есть ограничения скорости HTB, входящая (к клиентам, делится
на город и мир), исходящая (в Интернет, делится на город и мир), в
iptables ставятся марки, так вот в /etc/iptables/iptables.rules.boot
примерно такое:
=======================
...
*mangle
:SHAP - [0:0]
:SHAP_CLIENT - [0:0]
:SHAP_CLIENT_gorod - [0:0]
:SHAP_CLIENT_mir - [0:0]
:SHAP_INET - [0:0]
:SHAP_INET_gor - [0:0]
:SHAP_INET_mir - [0:0]
-A FORWARD -j SHAP
-A SHAP_CLIENT -m set --set gorod_nets src -g SHAP_CLIENT_gorod
-A SHAP_CLIENT -g SHAP_CLIENT_mir
-A SHAP_INET -m set --set gorod_nets dst -g SHAP_INET_gorod
-A SHAP_INET -g SHAP_INET_mir
...
=======================
Скрипты при поднятии интерфейсов:
Для локалки:
=======================
iptables -A SHAP -t mangle -o $IFNAME -j SHAP_CLIENT
=======================
Для Интернета:
=======================
iptables -A SHAP -t mangle -o $IFNAME -j SHAP_INET
=======================
> 2. sh-скрипты с правилами должны находиться в /usr/local/sbin?
По скольку правила к дистрибутиву отношения никакого не имеют, тут их
хранить противопоказано. Лучше в /etc.
--
Покотиленко Костик <casper@meteor.dp.ua>
Reply to: