linux 命令之iptables

iptables定义规则语法:

iptables  [-t table]  command chain CRETIRIA -j ACTION

-t 参数用来指定规则表,内建的规则表有3个,分别是nat,mangle,filter。当未指定规则表时,则一律视为filter规则表。

 

nat 规则表有 PREROUTING  、 INPUT(虽然有这个,但是好像在nat规则表一般不用这个) 、OUTPUT  、 POSTROUTING  规则链。一般用来定义地址转换的功能。

mangle规则表有 PREROUTING   、 INPUT 、 FORWARD 、 OUTPUT 、 POSTROUTING 规则链。一般用来修改报文原数据。

filter规则表有 INPUT  、 FORWARD 、 OUTPUT 规则链。一般用作定义允许或者不允许的功能。(信息过滤)

规则链的含义

PREROUTING    (路由前)

INPUT    (数据包流入口)

FORWARD    (转发关卡)

OUTPUT   (数据包出口)

POSTROUTING   (路由后)

 

command :定义如何对规则进行管理

-P :设置默认策略 

     策略: ACCEPT(对满足策略的数据包允许通过)

                 DROP(丢弃数据包,不反回任何信息)

                 REJECT(丢弃数据包,但是会返回拒绝的信息)

                 LOG(把通过的数据包写到日志中,相当于一个门卫队禁区的人进行登记)

默认策略一般只有两种 默认开、默认关

-F :清空规则链

-N  :新建一个规则链

-X : 用于删除用户自定义的规则链

-E : 用来重命名自定义的规则链

-Z  : 清空链

-I  num: 插入规则,把规则插入为第num条 

-R num :  替换修改第num条规则

-D num : 删除第num条规则(还有一种方法是跟-A格式一样)

 -A : 追加,在当前规则链的最后新增一个规则


chain : 规则链


CRETIRIA : 扩展规则

-p   tcp : TCP协议的扩展。

    --dport :指定目标端口号

    --sport  : 指定源端口号

    --tcp-flags : TCP的标志位 (SYN ,ACK , FIN, PSH , RST , URG )

         

-p  udp : UDP协议的扩展        

    --dport : 指定目标端口号

    --sport : 指定源端口号     


-p  icmp : icmp 数据报文的扩展

    --icmp-type:  数据报文的类型  一般用数字表示(可以查 ICMP TYPE CODE 对应表)


-m module_name : 扩展各种模块 (module_name 代表对应模块名字)

        

-j ACTION : ACTION 功能

    功能:  DROP  (丢弃)

                 REJECT (丢弃,但是返回拒绝信息)

                 ACCEPT  (接受)

                 LOG(日志功能,将符合规则的数据包的相关信息记录在日志中)

                 SNAT (源地址转换,改变数据包的源地址)

                 DNAT  (目标地址转换,改变数据包的目的地址)

                 MARK (打标签)

                 MASQUERADE   (动态源地址转换)



你可能感兴趣的:(linux 命令之iptables)