Создаю правила (я - вручную, с консоли, либо биллинг из скрипта - результат одинаковый) такого плана:iptables -A INPUT -s 192.168.1.1 -j DROP
iptables -A INPUT -d 192.168.1.1 -j DROP
iptables -A OUTPUT -s 192.168.1.1 -j DROP
iptables -A OUTPUT -d 192.168.1.1 -j DROPпоясню: правила создаются для блокирования доступа к роутеру (а соответственно и к инету) для пользователей, чей баланс исчерпан.
Доступ к роутеру блокируется всегда, нареканий нет. Но доступ к инету, по непонятным мне причинам, может сохраняться и не сохраняться.
По идее, пакеты, идущие в инет с адреса 192.168.1.1 адресованы сначала все-таки роутеру, т.е. попадают под определение правила?
В чем я не прав и как с этим боротьсяP.S. Вопрос прицепом: почему не работает правило
iptables -A INPUT -s 192.168.1.1 -d 192.168.1.1 -j DROP
хотя iptables проглатывает его без возражений и оно вроде бы корректно отображается в списке правил по команде iptables -L?
>По идее, пакеты, идущие в инет с адреса 192.168.1.1 адресованы сначала все-таки
>роутеру, т.е. попадают под определение правила?
>В чем я не прав и как с этим бороться
Использовать цепочку FORWARD, т.к. она отвечает за транзитные пакеты.
>P.S. Вопрос прицепом: почему не работает правило
>iptables -A INPUT -s 192.168.1.1 -d 192.168.1.1 -j DROP
Потому что правило безсмысленно.
>Создаю правила (я - вручную, с консоли, либо биллинг из скрипта -
>результат одинаковый) такого плана:
>
>iptables -A INPUT -s 192.168.1.1 -j DROP
>iptables -A INPUT -d 192.168.1.1 -j DROP
>iptables -A OUTPUT -s 192.168.1.1 -j DROP
>iptables -A OUTPUT -d 192.168.1.1 -j DROP
>
>По идее, пакеты, идущие в инет с адреса 192.168.1.1 адресованы сначала все-таки
>роутеру, т.е. попадают под определение правила?
>В чем я не прав и как с этим боротьсяiptables -A FORWARD -s 192.168.1.1 -j DROP
iptables -A FORWARD -d 192.168.1.1 -j DROPа вот если напрямую к серверу идут,то они могут идти к примеру на порт 3128,80 и т.п.
тоды чтоб закрыть надо еще вот так:iptables -A INPUT -s 192.168.1.1 --destination-port 3128 -j DROP
iptables -A OUTPUT -d 192.168.1.1 -- source-port 3128 -j DROPчтоб все закрыть то ты вроде правильно написал. Но форвард думаю нужно описать,
либо смотреть надо все правила в комплексе может у тебя что-нить выше отменяет то что ниже:).>
>P.S. Вопрос прицепом: почему не работает правило
>iptables -A INPUT -s 192.168.1.1 -d 192.168.1.1 -j DROP
>хотя iptables проглатывает его без возражений и оно вроде бы корректно отображается
>в списке правил по команде iptables -L?Проглатывает потому что синтаксис правильный :))), а правило просто кульное :).
Сам подумай как оно должно работать если речь идет о пакете,который направлен для 192.168.1.1 и идет от 192.168.1.1 - формально он до сервера и недойдет:) т.к. сам для себя:).