Centos Linux服务器,安装DA控制面板,感觉还不错,Iptable脚本
vim iptables.sh
chmod 777 iptables.sh
#!/bin/sh
#海外服务器代购网(www.hwhost.net)# 设置默认防火墙策略
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -X -t nat
iptables -X -t mangle
iptables -Z
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP# 允许端口进出
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT# 允许端口进出
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
iptables -A INPUT -p tcp –dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 25 -j ACCEPT
iptables -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 53 -j ACCEPT
iptables -A INPUT -p udp –dport 53 -j ACCEPT
iptables -A OUTPUT -p udp –sport 53 -j ACCEPT
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 80 -j ACCEPT
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 110 -j ACCEPT
iptables -A INPUT -p tcp –dport 2222 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 2222 -j ACCEPT
iptables -A INPUT -p tcp –dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 3306 -j ACCEPT
iptables -A INPUT -p tcp –dport 35000:35999 -j ACCEPT /*proftpd被动连接需要的端口*/
iptables -A OUTPUT -p tcp –sport 35000:35999 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /*允许本机访问本机*/
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT# 打开 syncookie (轻量级预防 DOS 攻击)
sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null# 设置默认 TCP 连接痴呆时长为 3800 秒(此选项可以大大降低连接数)
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null# 设置支持最大连接树为 30W(这个根据内存和 iptables 版本来,每个 connection 需要 300 多个字节)
sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null# 防止SYN攻击 轻量
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT# 对于不管来自哪里的ip碎片都进行控制,允许每秒通过100个碎片
iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT# icmp包通过的控制,防止icmp黑客攻击
iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT# 丢弃坏的TCP包
iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j LOG –log-prefix “New not syn:”
iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j DROPiptables-save > /etc/sysconfig/iptables
service iptables restart
./iptables.sh
执行脚本后,系统自动重启IPtable,设置即可生效。
声明: 本文由( admin )原创编译,转载请保留链接: DirectAdmin服务器专用Iptable脚本