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

Re: вопросы по iptables



Dmitry E. Oboukhov <dimka@avanto.org> wrote:
> > > > 1. а как удалить все правила связанные с определенным интерфейсом?
> > > > 
> > > > iptables -F FORWARD - удаляет все цепочки из FORWARD
> > > > 
> > > > а надо удалить только цепочки связанные с допустим eth0
> > > > 
> > > > 
> > > > 2. есть правило
> > > > 
> > > > iptables -i $IFNAME -t nat -A  POSTROUTING -j MASQUERADE
> > > > 
> > > > какой командой можно посмотерть все эти правила?
> > > > (по аналогии iptables -L)
> > > > а так же как удалять эти правила?
> > 
> > > Насколько я понимаю, речь идет к тому, чтобы создавать/удалять правила
> > > при поднятии/опускании интерфейса?
> > > Если да, то, как сказал Artem Chuprina, легче всего их удалять так же,
> > > как и создавал, заменяя -I/-A на -D.
> > Их можно _НЕ_ удалять. MASQUERADE это не SNAT, ему можно указать исходящий
> > интерфейс, и он сам будет маскарадить под ip который на указанном
> > интерфейсе.
> если их не удалить то потом при поднятии нового ppp на этом же месте
> (ppp5 допустим) на этот ppp окажется включен маскарадинг
> или тут привязка еще к IP появится?
Нет, наоборот. MASQUERADE не требует указания ip, он его сам по таблице
маршрутизации найдет. SNAT - требует. Там хоть 127.0.0.2 можно указать, ему
пофигу. Ты бы об'яснил - чего хочешь получить..

> > 
> > > Я обычно создаю некоторую часть файрволла скриптом, не зависящим, от
> > > свойств того или иного интерфейса. А потом, при его поднятии/опускании
> > > добавляю/удаляю зависимые от них правила в скриптах в if-up.d/if-down.d
> > > или их аналогах (/etc/ppp/ip-up.d и т.п.)
> > Проще делать отдельные чаины. Чтоб при if-down - просто 
> > iptables -F нужный_чаин. Быстрее ;)
> а можно примерчик?
iptables -t nat -N ppp0_nat
iptables -t nat -N ppp1_nat
iptables -t nat -N ppp{n}_nat

потом
iptables -t nat -A POSTROUTING -i ppp0 -j ppp0_nat
iptables -t nat -A POSTROUTING -i ppp1 -j ppp1_nat
iptables -t nat -A POSTROUTING -i ppp{n} -j ppp{n}_nat

когда надо - добавляешь в нужный канал нужный рулес:
iptables -t nat -A ppp0_nat -s x.y.z.0 -j MASQUERADE

когда уже ненадо - iptables -t nat -F ppp0_nat и всё.

PS: писал на память, мог ошибиться.



Reply to: