iptables ! отрицание несколько адресов

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

kova
Сообщения: 6

iptables ! отрицание несколько адресов

Сообщение kova »

подскажите если кто знает как написать правила iptables когда нужно чтобы правило выполнялось для почти всех адресов кроме нескольких

iptables -t nat -A POSTROUTING -p tcp -d ! x.x.x.x -j SNAT .....

это правило будет выполняться для всех адресов кроме x.x.x.x, а нужно еще, чтобы оно работало и кроме y.y.y.y. просто добавить правило

iptables -t nat -A POSTROUTING -p tcp -d ! y.y.y.y -j SNAT .....

понятное дело не получится, потому что то что не равно x.x.x.x вполне может быть равным y.y.y.y
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: iptables ! отрицание несколько адресов

Сообщение Sleeping Daemon »

kova писал(а):
09.01.2007 14:25
подскажите если кто знает как написать правила iptables когда нужно чтобы правило выполнялось для почти всех адресов кроме нескольких

iptables -t nat -A POSTROUTING -p tcp -d ! x.x.x.x -j SNAT .....

это правило будет выполняться для всех адресов кроме x.x.x.x, а нужно еще, чтобы оно работало и кроме y.y.y.y. просто добавить правило

iptables -t nat -A POSTROUTING -p tcp -d ! y.y.y.y -j SNAT .....

понятное дело не получится, потому что то что не равно x.x.x.x вполне может быть равным y.y.y.y

Запретить эти адреса, а остальные разрешить.
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: iptables ! отрицание несколько адресов

Сообщение Olden Gremlin »

kova писал(а):
09.01.2007 14:25
подскажите если кто знает как написать правила iptables когда нужно чтобы правило выполнялось для почти всех адресов кроме нескольких

iptables -t nat -A POSTROUTING -p tcp -d ! x.x.x.x -j SNAT .....

это правило будет выполняться для всех адресов кроме x.x.x.x, а нужно еще, чтобы оно работало и кроме y.y.y.y. просто добавить правило

iptables -t nat -A POSTROUTING -p tcp -d ! y.y.y.y -j SNAT .....

понятное дело не получится, потому что то что не равно x.x.x.x вполне может быть равным y.y.y.y


если я правильно понял, то для адресов x.x.x.x и y.y.y.y в принципе не должен выполнятся SNAT (ну а зачем еще, кроме [DS]NAT/MASQ может понядобиться POSTROUTING?)
так все не просто, а очень просто! если конечно понимать то, чего мы хотим добиться от iptables'а.
вспоминаем аксиому - правила проверяются последовательно!
т.е. нам надо обработать x.x.x.x и y.y.y.y до того, как наступит момент SNAT.
последовательно выполняем команды:

Код: Выделить всё

iptables -t nat -A POSTROUTING -p tcp -d x.x.x.x -j RETURN
iptables -t nat -A POSTROUTING -p tcp -d y.y.y.y -j RETURN
iptables -t nat -A POSTROUTING -p tcp -j SNAT .....
man iptables
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
Аватара пользователя
WarlorD
Сообщения: 728
Статус: хочешь пропатчить KDE под FreeBSD - спроси меня как!
ОС: FreeBSD, Debian GNU\Linux

Re: iptables ! отрицание несколько адресов

Сообщение WarlorD »

угу, в данном случае search terminated и все будет именно как надо.
FreeBSD
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Спасибо сказали:
kova
Сообщения: 6

Re: iptables ! отрицание несколько адресов

Сообщение kova »

всем благодарен за советы

Olden Gremlin,
именно так я и поступил, поначалу затупил немного


Спасибо
Спасибо сказали: