iptables防火墙设置


iptables是集成在内核中的包过滤型防火墙,通过分析IP数据包的标志位、端口、ip地址、链接状态等特征,与定义的处理规则进行匹配,然后根据处理规则对数据包作出放行或丢弃等处理,还可以做NAT数据转发。

iptables分为两部分:一部分位于内核中存放处理规则,称为netfilter;另一部分位于用户空间,用来向内核空间传递定义规则,这段在用户控件中的程序就叫做iptables。

iptables有5个规则连分别处在不同位置,控制不同流向的数据包:

1、INPUT(对被接收下来并经路由选择以后发往用户空间程序的数据包进行处理)

2、OUTPUT(对本机用户空间应用程序发出的数据包进行处理)

3、FORWARD (对接收下来的数据包进行路由选择数据转发处理)

4、prerouting(对到达的数据包进行路由前的过滤筛选处理)

5、postrouting(对路由选择后的数据进行发送前处理)

 

数据包的流向有:

到本机:
    PREROUTING-->INPUT
经本机转发:
    PREROUTING-->FORWARD-->POSTROUTING
由本级发出:
    OUTPUT-->POSTROUTING


iptables内置了4张规则表,常用的只有filter,nat和mangle三张表。按优先级依次为:

1、raw:可以对收到的数据包在连接跟踪前进行处理
作用链:PREROUTING,OUTPUT
2、mangle:对数据包进行重组
作用链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
3、nat:对数据包源或目标IP进行转换
作用链:PREROUTING,OUTPUT,POSTROUTING
4、filter:对数据包进行筛选过滤
作用链:INPUT,FORWARD,OUTPUT

以OUTPUT链为例:匹配顺序依次为raw-->mangel-->nat-->filter。匹配到哪个规则就按哪个规则表处理,不再匹配其他规则,如果所有规则都匹配不到则按默认规则处理。

 

语法格式:iptables [-t TABLE] COMMAND CHAIN [CRETIRIA] -j ACCEPT|DROP

注意:所有链名必须大写,表明必须小写,动作必须大写,匹配必须小写

COMMAND:对链中的规则进行管理操作
链中规则:
    -A:追加,向规则链中添加一条规则,默认被添加到末尾
    -I # :插入一条规则,插入为第#条
    -R #: 替换第#条
    -R CRETERIA:替换指定规则的条目
    -D #:删除第#条规则

链:
    -N:新建一条自定义的链
    -X:删除一条自定义的
    -E:重命名一条自定义链
    -F:清空指定链,如果不指定链,则清空整个表中的所有链
    -P(大):设定链的默认策略
    -Z:置零(对策略无效,只针对规则置零,每条规则,包括默认策略都有两个计数器:一个是被)

查看:
    -L:查看
        -v,vv,vvv :显示详细信息
        --line-numbers:指定行号
        -x:显示精确值
        -n:不做反解,显示数字地址

  • 1
  • 2
  • 3
  • 下一页

相关内容