1、指令 vi /etc/sysconfig/iptables

添加以下内容和要开放的端口

# Firewall configuration written by system-config-firewall


# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8083 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3322 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


###############保存iptables文件,重启服务###############

#保存iptables规则
service iptables save

#重启iptables服务
service iptables restart


$


注:防火墙的基本操作命令:
查询防火墙状态:
[root@localhost ~]# service   iptables status
停止防火墙:
[root@localhost ~]# service   iptables stop
启动防火墙:
[root@localhost ~]# service   iptables start
重启防火墙:
[root@localhost ~]# service   iptables restart
永久关闭防火墙:
[root@localhost ~]# chkconfig   iptables off
永久关闭后启用:
[root@localhost ~]# chkconfig   iptables on


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


附加:

Linux 使用  iptables屏蔽IP段


# iptables -F

# iptables -P INPUT ACCEPT

# iptables -P OUTPUT ACCEPT

# iptables -P FORWARD ACCEPT

# iptables -A FORWARD -s 124.115.0.0/24 -j DROP

# iptables -I FORWARD -d 202.96.170.164 -j DROP

补充::

单个IP的命令是

iptables -I INPUT -s 124.115.0.199 -j DROP

封IP段的命令是

iptables -I INPUT -s 124.115.0.0/16 -j DROP

iptables -I INPUT -s 124.115.3.0/16 -j DROP

iptables -I INPUT -s 124.115.4.0/16 -j DROP

封整个段的命令是

iptables -I INPUT -s 124.115.0.0/8 -j DROP

封几个段的命令是

iptables -I INPUT -s 61.37.80.0/24 -j DROP

iptables -I INPUT -s 61.37.81.0/24 -j DROP

 0/24 子网掩码  是网段 不允许这网段访问

192.168.1.0/16  是192.168以后的网段

 0/26 和0/24差不多

 

用iptables禁止一个IP地址范围

iptables   -A   FORWARD   -s   10.0.0.1-255   -j   DROP

 

 

使iptables永久生效:

1、修改配置文件:

    配置文件是在/etc/iptables

2、使用命令:

    命令是/etc/rc.d/init.d/iptables save

############################################################################

在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。


在Linux下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。


在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。


要封停一个IP,使用下面这条命令:


iptables -I INPUT -s ***.***.***.*** -j DROP


要解封一个IP,使用下面这条命令:


iptables -D INPUT -s ***.***.***.*** -j DROP


参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。


此外,还可以使用下面的命令来查看当前的IP规则表:


iptables -list


比如现在要将123.44.55.66这个IP封杀,就输入:


iptables -I INPUT -s 123.44.55.66 -j DROP


要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:


iptables -flush


要添加IP段到封停列表中,使用下面的命令:


iptables -I INPUT -s 121.0.0.0/8 -j DROP


其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。


相信有了iptables的帮助,解决小的DDoS之类的攻击也不在话下!


参考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/


附:其他常用的命令


编辑 iptables 文件


vi /etc/sysconfig/iptables


关闭/开启/重启防火墙


/etc/init.d/iptables stop  
 
#start 开启  
 
#restart 重启


验证一下是否规则都已经生效:


iptables -L


保存并重启iptables


/etc/rc.d/init.d/iptables save  
service iptables restart