iptables规则1
来源:互联网 发布:复旦双胞胎校花知乎 编辑:程序博客网 时间:2024/06/04 23:31
不记得出处了
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
RC_SQUID=/etc/rc.d/init.d/squid
# 外网
EXTIF="eth1"
# 内网
INTIF="eth0"
INNET="192.168.100.1/24"
# 针对 NAT & DHCP
NATNET="eth2"
NTNET="192.168.21.1/24"
#加载 module
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
# 清除规则
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
# 打开特定端口
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 22 -j DROP # SSH
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 25 -j ACCEPT #SMTP
/sbin/iptables -A INPUT -p UDP -i $EXTIF --dport 53 -j ACCEPT # DNS
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 53 -j ACCEPT # DNS
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 80 -j ACCEPT # WWW
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 110 -j ACCEPT #POP3
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 113 -j ACCEPT #AUTH
/sbin/iptables -A INPUT -p TCP -i $INTIF --dport 137 -j ACCEPT #SMB
/sbin/iptables -A INPUT -p TCP -i $INTIF --dport 138 -j ACCEPT #SMB
/sbin/iptables -A INPUT -p TCP -i $INTIF --dport 139 -j ACCEPT #SMB
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 7021 -j ACCEPT #VFTP
/sbin/iptables -A INPUT -p TCP -i $EXTIF --dport 6080 -j ACCEPT #WWW
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t filter -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATE -j ACCEPT
/sbin/iptables -t filter -A FORWARD -i eth2 -o eth1 -p tcp -s 192.168.100.0/24 --dport 6080 -j ACCEPT
# 检查 IP
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for f in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 〉 $f
done
fi
# 防止 sync flood dos
/sbin/iptables -N synfoold
/sbin/iptables -A synfoold -p tcp --syn -m limit --limit 1/s -j RETURN
/sbin/iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp -m state --state NEW -j synfoold
# 防止 Ping of Death
/sbin/iptables -N ping
/sbin/iptables -A ping -p icmp --icmp-type echo-request -m limit --limit 1/second -j RETURN
/sbin/iptables -A ping -p icmp -j REJECT
/sbin/iptables -I INPUT -p icmp --icmp-type echo-request -m state --state NEW -j ping
# 防止恶意扫描
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags ALL ALL -j DROP
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags ALL
SYN,RST,ACK,FIN,URG -j DROP
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags ALL NONE -j DROP
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
/sbin/iptables -A INPUT -i $EXTIF -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# 放行内网数据
/sbin/iptables -A INPUT -i $INTIF -j ACCEPT
/sbin/iptables -A INPUT -i $NATNET -j ACCEPT
# 重定向www 到Squid (透通代理)
/sbin/iptables -t nat -A PREROUTING -i $NATNET -p tcp --dport 80 -j REDIRECT --to -port 6080
# 启用ip伪装
/sbin/iptables -t nat -A POSTROUTING -s $NATNET -o $EXTIF -j MASQUERADE
# mac地址绑定
# Kernel 2.4 系列新功能,主要防止 Client 非法抢 IP
# /sbin/iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
# 关闭外部请求
/sbin/iptables -A INPUT -i $NATNET -m state --state NEW,INVALID -j DROP
/sbin/iptables -A FORWARD -i $NATNET -m state --state NEW,INVALID -j DROP
# 防止超量攻击
echo 1 〉 /proc/sys/net/ipv4/tcp_syncookies
#启动ip转发
echo 1 〉 /proc/sys/net/ipv4/ip_forward
- iptables规则1
- iptables规则
- iptables 规则
- iptables规则
- iptables 规则
- iptables 规则速查
- 常用的IPTABLES规则
- iptables 应用规则
- 创建iptables NAT规则
- iptables设置规则
- linux iptables 规则
- iptables添加删除规则
- iptables 生产规则
- IPTABLES 清空规则
- Iptables的规则语法
- iptables 规则的删除
- LINUX IPTABLES 规则详解
- iptables常用规则设置
- 让文本框只能输入数字
- xfa spec: handedness, border, fill, margin for widgets(line, arc, rectangle, etc)
- Apache + mod_python + jtime 配置整合
- Lotus 精华转载
- Samba简介
- iptables规则1
- 浅析软件项目进度管理中的积习流弊
- ajax读取txt
- 66句让人难忘,让人思考的哲理
- 一个简单的开机启动代码
- QTP获取浏览器的一些常用属性的方法
- ORACLE取中值解决办法
- css中z-index与position
- xml文件折叠展开