подскажите если кто знает как написать правила 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
iptables ! отрицание несколько адресов
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 1450
Re: iptables ! отрицание несколько адресов
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
Запретить эти адреса, а остальные разрешить.
-
- Сообщения: 365
- Статус: RAP22-RIPE
- ОС: Debian GNU/Linux Wheezy
Re: iptables ! отрицание несколько адресов
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
-
- Сообщения: 728
- Статус: хочешь пропатчить KDE под FreeBSD - спроси меня как!
- ОС: FreeBSD, Debian GNU\Linux
Re: iptables ! отрицание несколько адресов
угу, в данном случае search terminated и все будет именно как надо.
FreeBSD
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
-
- Сообщения: 6
Re: iptables ! отрицание несколько адресов
всем благодарен за советы
Olden Gremlin,
именно так я и поступил, поначалу затупил немного
Спасибо
Olden Gremlin,
именно так я и поступил, поначалу затупил немного
Спасибо