[root@vultr scripts]# cat iptables.sh
#/bin/bash
#date:2017-04-10
#author:xjh
#调试追踪
#set -x
#清除规则
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#设定默认规则
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#允许已建立的连接
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT
#开启环回网络
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#开启DNS解析
iptables -A OUTPUT -p udp –dport 53 -j ACCEPT
#开启shadowsocks代理端口
iptables -A INPUT -p tcp -m multiport –dports 8080,8081,8082 -m state –state NEW -j ACCEPT
#OUTPUT链默认DROP,shadowsocks服务随机端口去连外网,没好的办法暂时就开目的地址80,443
iptables -A OUTPUT -p tcp -m multiport –dports 80,443 -j ACCEPT
#开启ftp服务端口端口(写ftp策略iptables需要加模块)
iptables -A INPUT -p tcp –dport 21 -m state –state NEW -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -m state –state NEW -j ACCEPT
#开启ssh服务端口并限制登录频率
iptables -A INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –set
iptables -A INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –update –seconds 300 –hitcount 5 -j DROP
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j ACCEPT
#开启端口转发
iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp –dport 1723 -m state –state NEW -j ACCEPT
iptables -A FORWARD -s 10.0.1.0/24 -o eth0 -j ACCEPT
iptables -A FORWARD -d 10.0.1.0/24 -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j SNAT –to-source 45.76.210.222
#兼容windows系统pptp客户端MTU值
iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -s 10.0.1.0/24 -j TCPMSS –set-mss 1400
#保存配置
/etc/init.d/iptables save