Apache-2.2
在 iptables 中阻止了 IP,但仍然在 apache 日誌中看到它
我正在執行帶有 Apache 2/MySQL 的 Centos 6.0 伺服器。我已經執行了 iptables。我今晚按照以下步驟使用 iptables 阻止來自 IP 的所有流量:
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP iptables -A OUTPUT -d xxx.xxx.xxx.xxx -j DROP service iptables save service iptables restart
但是我仍然在我的 Apache 訪問日誌中不斷地看到這個 IP 的命中,即使在我重新啟動 Apache 之後也是如此。iptables 肯定正在執行,它絕對是正確的 IP 地址。
這些是我的 iptables 條目的其餘部分:
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable 3 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 4 ACCEPT tcp -- anywhere anywhere tcp dpt:http 5 ACCEPT tcp -- anywhere anywhere tcp dpt:https 6 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:30000 7 ACCEPT icmp -- anywhere anywhere icmp echo-request 8 REJECT all -- anywhere anywhere reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- anywhere anywhere reject-with icmp-port-unreachable Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere
我錯過了什麼?
起初我建議你使用
system-config-firewall
orsystem-config-firewall-tui
。有一個“自定義規則”部分將為您執行此操作。如果您想手動執行此類操作,則必須在 tcp dpt:http 的“接受”之前插入規則。最簡單的方法是:
iptables -I INPUT 1 -s xxx.xxx.xxx.xxx -j DROP
(在位置 1 插入,而不是 Append )
您的第一個 iptables 規則允許您嘗試阻止的流量。
1 ACCEPT all -- anywhere anywhere
訂單很重要。