Итак, я реализовал другой набор правил iptables, и теперь, если я их включу, lighttpd просто навсегда загрузит страницы с поддержкой php (например, wp). Нагрузки на сервер нет, загрузка процессора остается низкой.
Вот мой конфиг, в чем может быть причина?
*filter :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :fail2ban-ssh - [0:0] -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 2012 -j ACCEPT -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -i lo -j ACCEPT -A OUTPUT -j ACCEPT -A INPUT -j DROP COMMIT
Вам не хватает правила для приема трафика на основе существующего трафика (правила, которое делает iptables отслеживающим состояние). Это должно быть вашим самым первым правилом:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Вы блокируете входящие ответы DNS, и, очевидно, lighttpd (или wp) настроен на преобразование IP-адресов в имена хостов.
Вы сможете исправить это чем-то вроде
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
поскольку UDP-пакеты для ответов DNS исходят из порта 53.
Поскольку подробности о полной настройке неизвестны, я могу предложить вам следующее. Непосредственно перед правилом отбрасывания добавьте правило для ЖУРНАЛА всего трафика. Затем проверьте журналы системного журнала на предмет отбрасываемых пакетов. Вы будете знать, какие типы пакетов отбрасываются или отклоняются, тогда вы можете создать правило на основе тех типов пакетов, которые будут разрешены.
Причина в отсутствии комментариев и логов:
Можете ли вы сказать, что делает каждая строка примерно через месяц?
Вы сравнивали журнал своего брандмауэра iptables до и после того, как это применили?
Эти два вопроса должны помочь вам найти проблему: вы что-то слишком сильно блокируете ...