首页 > 代码库 > iptables自动添加规则脚本

iptables自动添加规则脚本

#!/bin/bash

#BY: http://sadoc.blog.51cto.com/

#DATE:2015-12-24

#Iptables For Centos

#备份源配置文件

/bin/cp /etc/sysconfig/iptables /etc/sysconfig/iptables.$(date +%F)

#定义变量

IPS=/sbin/iptables

#清空默认规则

$IPS -F

$IPS -X

$IPS -Z

#先配置只允许某个网段能用SSH,以防远程不能用

$IPS -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

#配置开放网段所有开放

$IPS -A INPUT -s 10.0.10.0/24 -p all -j ACCEPT

#配置进入及转发默认为拒绝,出站允许

$IPS --policy OUTPUT ACCEPT

$IPS --policy FORWARD DROP

$IPS -P INPUT DROP

#配置lookback规则

$IPS -A INPUT -i lo -j ACCEPT

$IPS -A OUTPUT -o lo -j ACCEPT

#拒绝一些攻击性IP为拒绝

$IPS -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP

#阻止所有隐患扫描及TCP 状态标志

$IPS -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

#开启数据库端口访问

$IPS -A INPUT -s 192.168.2.0/24 -p tcp --dport 3306 -j ACCEPT

#开放http端口

$IPS -A INPUT -p tcp --dport 80 -j ACCEPT

$IPS -A INPUT -s 172.16.0.0/24 -p tcp  -m multiport --dport 8080,8081,8082 -j ACCEPT

#开放snmp

$IPS -A INPUT -s 192.168.2.0/24 -p udp --dport 161 -j ACCEPT

#禁ping

#$IPS -A  INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

$IPS -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP  

#$IPS -A INPUT -p icmp --icmp-type 8 -s 172.21.0.0/24 -j ACCEPT

#配置关联包通过规则

$IPS -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPS -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



提示:

查看配置规则

#$IPS -L -n  

#iptables -nL --line-number   显示行

#iptables -nvL --line-number 显示行

添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部

添加一条规则到尾部:

# iptables -A INPUT -s 192.168.1.5 -j DROP

再插入一条规则到第三行:

# iptables -I INPUT 3 -s 192.168.1.3 -j DROP

删除规则

#$IPS -D  INPUT -p icmp --icmp-type 8 -s 192.168.3.0/24 -j DROP

若是脚本无误,记得保存

#/etc/init.d/iptables save


iptables自动添加规则脚本