Iptables无法阻止特定IP入站连接的问题求助
Iptables无法阻止特定IP入站连接的问题求助
大家好,我有一台用作网关的线上服务器,最近碰到个棘手的问题——明明配置了iptables规则来阻止特定IP访问80/443端口,但目标IP还是能正常连接到后端的Apache服务,实在摸不着头绪,想请各位帮忙排查下问题!
先给大家看下我当前的iptables规则:
# INPUT链规则 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j BLOCK_CHAIN -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j BLOCK_CHAIN # FORWARD链规则 -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i tun+ -j ACCEPT -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited # BLOCK_CHAIN自定义链规则 -A BLOCK_CHAIN -s 173.230.154.149/32 -j REJECT --reject-with icmp-host-prohibited -A BLOCK_CHAIN -m state --state NEW -j ACCEPT # PREROUTING链DNAT规则 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.100 -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.0.0.100
我的网络拓扑是这样的:
- 服务器公网IP:XX.XX.X.XX
- VPN网段:10.0.0.0/24(通过OpenVPN连接到内部的一台主服务器)
所有外网的Web请求都会通过DNAT转发到VPN里的10.0.0.100服务器上,其他功能都正常运行,唯独没法拦截173.230.154.149这个IP——它明显在攻击服务器,但按照上面的规则,它应该被BLOCK_CHAIN拒绝才对,可实际它还是能正常访问80和443端口的服务。
我本来的思路是:通过INPUT链把eth0上的80/443请求导向BLOCK_CHAIN,再在BLOCK_CHAIN里匹配173.230.154.149并拒绝,可这条规则完全没生效,有没有大佬能帮我看看哪里错了?
备注:内容来源于stack exchange,提问作者denn0n
相关产品推荐
相关产品推荐

