Существует хороший шанс, что старый сервер, тот с 2.2.3 выполняет Red Hat или другой коммерческий Linux, который бэкпортирует патчи безопасности в одну исправленную версию в течение ее всего времени жизни. Более новая машина с 2.2.4 могла на самом деле иметь больше уязвимостей, особенно если бы она была установлена непосредственно из проекта Apache и никогда не сохранялась.
Работайте один или обе из этих команд на обеих машинах для наблюдения, каковы распределение они:
cat /etc/*release*
lsb_release -a
Если вы хотите заблокировать IP-адрес от использования правила MASQUERADE, вам необходимо поместить это правило в цепочку FORWARD
, не цепочка INPUT
.
iptables -I FORWARD -s 69.171.229.11 -j DROP
Я думаю, что последовательность неправильная.
То, что вы делаете с append, помещает его в конец цепочки. IPtables останавливается после первого совпадения. Так что может случиться так, что правило будет выполнено непосредственно перед тем, как оно попадет в правило блокировки. Убедитесь, что правило блокировки находится сверху. Вы можете использовать опцию -I, чтобы вставить его в определенное место в вашей цепочке.
iptables-save не делает ваши правила iptables постоянными, поэтому они будут потеряны после перезагрузки. Вместо этого он печатает вашу текущую конфигурацию iptables в STDOUT (см. manpages для iptables-save ). Поэтому после перезагрузки ваши iptables должны быть пустыми.
Возможно, вы захотите восстановить свои правила из этого файла после перезагрузки. Для этого используйте
iptables-restore < /etc/network/iptables
См. manpages для iptables-restore по этому поводу.
Как упомянул Патрик, правило
iptables -A INPUT -s 69.171.229.11 -j DROP
только предотвращает отправку пакетов на сам маршрутизатор - они будут все равно будут перенаправлены, если они адресованы правильно. Чтобы предотвратить это, добавьте правило
iptables -A FORWARD -s 69.171.229.11 -j DROP
FORWARD применяется к пакетам, которые маршрутизатор хочет пересылать, а INPUT применяется к пакетам, адресованным самому маршрутизатору.