[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: