在linux系统中安装yum install iptables-services

然后 vi /etc/sysconfig/iptables



# Generated by iptables-save v1.4.7 on Sun Aug 28 12:14:02 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#这里开始增加白名单服务器ip(请删除当前服务器的ip地址)
-N whitelist
-A whitelist -s 8.8.8.8 -j ACCEPT
-A whitelist -s x.x.x.x -j ACCEPT
#这些 ACCEPT 端口号,公网内网都可访问
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13020 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:8000 -j ACCEPT  #开放1000到8000之间的所有端口
#下面是 whitelist 端口号,仅限 服务器之间 通过内网 访问
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j whitelist
#为白名单ip开放的端口,结束
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT



 

解释:

添加防火墙过滤规则步骤如下;

1、查看现有防火墙过滤规则:



iptables -nvL --line-number



2、添加防火墙过滤规则(设置白名单):

       1)添加白名单



iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT



            命令详解:

-I:添加规则的参数  

 INPUT:表示外部主机访问内部资源

    规则链:

INPUT——进来的数据包应用此规则链中的策略
       2)OUTPUT——外出的数据包应用此规则链中的策略
       3)FORWARD——转发数据包时应用此规则链中的策略
       4)PREROUTING——对数据包作路由选择前应用此链中的规则
    (记住!所有的数据包进来的时侯都先由这个链处理)
     5)POSTROUTING——对数据包作路由选择后应用此链中的规则
    (所有的数据包出来的时侯都先由这个链处理)

3:表示添加到第三行(可以任意修改)

 -s:指定作为源地址匹配,这里不能指定主机名称,必须是IP;

-p: 用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)

 --dport: 用于匹配端口号

-j: 用于匹配处理方式:

                   常用的ACTION:

DROP:悄悄丢弃,一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
REJECT:明示拒绝
ACCEPT:接受
        2)查看添加结果



iptables -nvL --line-number



 然后重启防火墙即可生效 
重启防火墙的命令:service iptables restart 

 

iptables—命令(-A、-I、-D、-R、-L等)、




1、常用命令列表:  常用命令(-A追加规则、-D删除规则、-R修改规则、-I插入规则、-L查看规则)
命令-A,--append
范例 iptables -A INPUT ...
说明新增规则(追加方式)到某个规则链(这里是INPUT规则链)中,该规则将会成为规则链中的最后一条规则。

命令-D,--delete
范例 iptables -D INPUT --dport 80 -j DROP
iptables -D INPUT 1
说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令-R, --replace
范例 iptables -R INPUT1-s 192.168.0.1 -j DROP
说明取代现行规则,规则被取代后并不会改变顺序。(1是位置)

命令-I,--insert
范例 iptables -I INPUT1--dport 80 -j ACCEPT
说明插入一条规则,原本该位置(这里是位置1)上的规则将会往后移动一个顺位。

命令-L, --list
范例 iptables -L INPUT
说明 列出某规则链中的所有规则。

命令-F, --flush
范例 iptables -F INPUT
说明 删除某规则链(这里是INPUT规则链)中的所有规则。

命令-Z,--zero
范例 iptables -Z INPUT
说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。

命令-N, --new-chain
范例 iptables -N allowed
说明 定义新的规则链。

命令-X, --delete-chain
范例 iptables -X allowed
说明 删除某个规则链。

命令-P, --policy
范例 iptables -P INPUT DROP
说明 定义过滤政策。 也就是未符合过滤条件之封包,预设的处理方式。

命令-E,--rename-chain
范例 iptables -E allowed disallowed
说明 修改某自订规则链的名称。


View Code


释义,可参考:Centos7.0-iptables linux的出站入站端口维护


Iptables防火墙规则使用梳理