В общем, на вопрос я вроде ответил. На сервере с помощью iptables можно закрыть доступ к определенным IP. Для самого сервера и для внутренней подсети, которая роутится через него. По именам можно резать с помощью прокси сервера.
P.S. Не по вашему вопросу, конечно, но все же. Вообще странные у вас iptables правила... Вот зачем это я вообще не понимаю:
-A INPUT -s 192.168.0.0/255.255.255.0 -i ppp0 -j DROP
Как пакеты из вашей внутренней подсети вообще теоретически могут приходить на внешний интерфейс ppp0? Зачем это правило?
Зачем вот тут так странно? Вы говорите принимать все related,established пакеты, следом логируете все не подходящие под это правило, а потом -j drop на них. Зачем, у вас дефолтовая политика и так drop...
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.0.0/255.255.255.0 -o ppp0 -j LOG
-A FORWARD -d 192.168.0.0/255.255.255.0 -o ppp0 -j DROP
А в конце зачем то вот это:
-A FORWARD -j LOG
-A FORWARD -j DROP
Смысл? Что еще вы пытаетесь логировать здесь? До сюда, если у вас только ppp0 и eth0 вообще ни один пакет уже не дойдет, на них есть терминальные правила еще до этого.
А вот от этого, как мне кажется только logrotate спасет:
-A INPUT -s 192.168.0.0/255.255.255.0 -i ppp0 -j LOG
У меня лично сервак один брутфорсили на 300-500 метров траффика в месяц, пока ssh не перевесил на другой порт. Хватало распухавшего auth.log. Смысл логировать каждый пакет, пришедший с инета на сервер?
Извиняюсь за критику, просто интересно
Если я не прав, объясните, почему именно сделано именно так