Eugene Berdnikov пишет:
On Fri, Jun 06, 2008 at 07:33:54PM +0400, Artem Chuprina wrote:
Eugene Berdnikov -> debian-russian@lists.debian.org @ Fri, 6 Jun 2008 18:35:59
+0400:
EB> ...
EB> iptables -A fw:int <какие-то условия> -j fw::limit
EB> iptables -A fw:dmz <какие-то условия> -j fw::limit
EB> iptables -A fw:ext <какие-то условия> -j fw::limit
EB> ...
EB> iptables -A fw::limit <какое-то групповое ограничение лимитов>
EB> ...
А это нам не свернет все лимиты в _одну_ группу? Насколько я понимаю
принцип работы линуксового файрвола, произойдет именно это - лимит будет
один на все пакеты, прошедшие по этой цепочке. А мне надо _несколько
одинаковых_. Местами даже не одинаковых - параметры limit для разных
пакетов различны.
А, в таком случае скриптом удобней, конечно.
Да во многих случаях удобнее. Я честно говоря не совсем понял про:
iptables -A FORWARD -i int -j fw:int
т.е у Вас интерфейсы переименованы? Я честно говоря подобным не пользуюсь... и
точно
не знаю можно-ли переименовать vlanы. Скрипт на ferm мне удобен тем что просто
копируется
с другой машины, потом правятся переменные, запускается ferm и получается
скрипт на выходе.
В принципе там все так-же как и в iptables но есть возможность задавать
переменные как по
отдельности так и списком, например есть несколько списков внутренних хостов с
разным доступом.
Кому-то одни сервисы кому-то другие. Так вот удобно создать список и
оперировать им для
перечисления всех возможных вариантов.
Типа:
chain CASHIERS {
def $ALLOWED = (
www.xxx.ru
www.yyy.ru
www.zzz.ru
);
daddr $ALLOWED goto COUNT-ULOG;
saddr $ALLOWED goto COUNT-ULOG;
#Разрешим ICQ
proto (tcp udp) dport aol goto COUNT-ULOG;
proto (tcp udp) sport aol goto COUNT-ULOG;
#Все остальное запрещаем
DROP;
}
#Бухгалтерский трафик обработаем в CASHIERS
saddr $CASHIERS goto CASHIERS;
daddr $CASHIERS goto CASHIERS;
-----------------------
Когда надо добавить еще что-то для доступа через год-другой, не вспоминаем
мучительно логику работы
файрволла на данном сервере а тупо добавляем еще один адрес в список и он добавится везде где фигурирует
этот список.
Ну и сами правила нагляднее, типа:
table filter {
chain INPUT {
policy DROP;
#Отправим пакеты входящие на компьютер в ULOG
ULOG;
# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# allow local packets
interface lo ACCEPT;
# allow local interfaces
interface $LANIF ACCEPT;
# respond to icmp
proto icmp ACCEPT;
# allow BIND connections
proto (tcp udp) dport domain ACCEPT;
# allow IPsec
proto udp dport 500 ACCEPT;
proto (esp ah) ACCEPT;
# allow SSH connections
proto tcp dport ssh ACCEPT;
# allow pptp connections
proto (tcp udp) dport 1723 ACCEPT;
proto 47 ACCEPT;
# allow dxcluster connections
proto (tcp udp) dport 8000 ACCEPT;
}
Удобно и наглядно во многих случаях, но конечно как было уже замечено именно
ferm умеет только
полностью перегружать правила :(
Олег.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]