我正在运行一个服务器,该服务器需要打开 UDP 端口 1000:11000,以及打开 TCP 10011 和 30033 才能运行。
我设置了一组 iptables 规则以允许 SSH 和这些端口,并故意省略了 2010,因为我正在受到该端口的攻击。即使被告知要阻止传入 IP,服务器也不会阻止。需要拒绝的 IP 是:194.97.114.3。
我的 iptables 脚本:
service iptables restart
iptables --flush
iptables -P INPUT DROP
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 10011 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 194.97.114.3 -j DROP
iptables -I INPUT -p udp --destination-port 1000:2009 -j ACCEPT
iptables -I INPUT -p udp --destination-port 2011:11000 -j ACCEPT
service iptables save
这样,194.97.114.3 仍然能够连接到端口 2010。请帮助我。
编辑,iptables -L -v -N 输出:
Chain INPUT (policy DROP 2833 packets, 412K bytes)
pkts bytes target prot opt in out source destination
305K 26M ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:2011:11000
2910 128K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:1000:2009
145 19881 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
303 17915 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10011
41 1816 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:30033
393 28420 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
6 216 DROP all -- * * 194.97.114.3 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 415K packets, 37M bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain RH-Firewall-1-INPUT (0 references)
pkts bytes target prot opt in out source destination
答案1
你可以尝试关注我
echo > /etc/sysconfig/iptables
service iptables restart
iptables -I INPUT -p tcp -m state --state NEW -m multiport ! --dports 30033,10011,22 -j DROP
iptables -I INPUT -p udp -m multiport --dports 1000:2009,2011:11000 -j ACCEPT
iptables -I INPUT -p udp -m multiport -s 194.97.114.3 --dports 1000:2009,2011:11000 -j DROP
答案2
将 DROP 行移至 ACCEPT 行之前。