LINUX.ORG.RU
ФорумAdmin

iptables - блокирование определенного IP


0

1

Добрый вечер, коллеги :-) Вопрос элементарный, наверное - но что-то не могу разобраться: вот конфиг iptables сетевого шлюза:

*filter
-A FORWARD -s 192.168.1.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.10/32 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.1.20/32 -i eth1 -p tcp -m tcp --dport 3390 -j ACCEPT
COMMIT
*nat
-A PREROUTING -d 192.168.0.178/32 -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.10:3389
-A PREROUTING -d 192.168.0.178/32 -i eth1 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.1.20:3390
-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
COMMIT

Политика такая - разрешено все, проброшены 2 порта на 2 рабочих станции, шлюз объединяет 2 сети - внутренняя (192.168.1.0/24) и «внешний мир», 192.168.0.0/24. Мне нужно в этот скрипт вписать правило для OUTPUT, чтобы на определенный внешний IP пакеты не проходили. Попробовал вот так (для упрощения - нужно заблокировать 8.8.8.8):


*filter
-A FORWARD -s 192.168.1.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.10/32 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.1.20/32 -i eth1 -p tcp -m tcp --dport 3390 -j ACCEPT
-A OUTPUT -d 8.8.8.8 -j REJECT
COMMIT

Но в таком виде не сработало, пакеты успешно продолжают ходить. В чем тут ошибка, подскажите, пожалуйста :-)



Последнее исправление: garett (всего исправлений: 3)

Цепочка OUTPUT для пакетов, которые исходят именно от текущей системы, для транзитных пакетов применяется цепочка FORWARD.

Читайте документацию по IPABLES.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Можете пример привести, если не затруднит?

garett
() автор топика
Ответ на: комментарий от garett

Ещё раз, цепочка OUTPUT - пакеты, исходящие именно от шлюза, FORWARD - транзитные пакеты, исходящие от ПК из сети за шлюзом.

Нужно исправить вот это правило:

-A OUTPUT -d 8.8.8.8 -j REJECT 
К тому же важна очерёдность правил, если в цепочке есть правило, подходящее условиям, то сработает только это правило, нижние правила обрабатываться не будут.

Так понятнее?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от garett

Только либо добавляйте это правило самым первым, либо вместо '-A' указывайте '-I', что бы правило было первым в цепочке.

Вот почитайте: http://www.opennet.ru/docs/RUS/iptables/.

kostik87 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.