-p 代表协议(protocol)
- 指明当前规则针对的传输协议(如 TCP、UDP、ICMP 等)。
- 可能的参数值有:tcp, udp, icmp, all。
- 使用 “all” 表示适用于所有协议。而如果在规则中不指定 -p 参数,则默认使用 “all” 参数。一般不使用 “all” 这个值,要么指定某个特定的协议,要么就指定 -p 参数。
- -p 的参数值既可以用名称(如 tcp)也可以用协议对应的数值(如 6 代表 tcp 协议)。
- /etc/protocols 文件中包含了所有允许的协议名称和相应数值。
- 也可以用长的参数名 –protocol。
-m addrtype
- iptables提供了众多的扩展模块,以支持更多的功能。addrtype就是这样的一个扩展模块,提供的是Address type match的功能。
- 引用的方式就是 -m 模块名。
注意:-p tcp 和 -m tcp是两个不同层面的东西,-p是说作用于 tcp 协议包,而-m是要使用iptables的tcp模块的功能 (--dport,--tcp-flags,--sync等)
-s 代表源地址(source)
- 指定数据包的源地址。
- 可以是 ip 地址,或者网络地址,或者主机名(hostname)。
- 例如:-s 192.168.1.101 表示针对特定的 ip 地址。
- 对于网络掩码,使用 /mask。例如,“-s 192.168.1.0/24″ 表示网络掩码为 255.255.255.0 的所有 192.168.1.x 地址都匹配。
- 如果不指定 -s 参数,默认匹配所有源地址。
- 也可以用长参数名 –src 或者 –source。
-d 代表目的地址(destination)
- 指定数据包的目的地址。
- 使用方式与上面的 “-s” 一样(不同之处仅在于 -s 指源,而 -d 表示目的地址)。
- 也可以用长参数名 --dst 或者 --destination。
-j 代表跳转(target)
- j 的意思是 “jump”(跳转) 到目标。
- 指定当某个数据包满足该规则的时候的就跳转到的下一个处理规则,而不再顺序执行后面的规则判断。
- 可能的值有:ACCEPT, DROP, QUEUE, RETURN,分别表示接受、丢弃、进入队列,返回(跳出,通常是从某个 chain 中跳回到调用该 chain 的上层 chain)。
- 也可以跳转到某个自定义的 chain 中,使用该 chain 的名称做为跳转目标。
-i 代表 in interface(入站接口)
- i 表示 “input interface”(输入接口,即,指定网络数据处理的网卡,一般 eth0 即表示第一块有线网卡的外网接口,lo 表示局域网接口)。
- 可以直接理解为 “-i” 表示接口。不过,-i 和 -o 都表示接口,-i 表示输入时的接口,而 -o 特指输出用的接口。
- 指定数据包进入 INPUT、FORWARD 和 PREROUTING 链时经由的接口。
- 例如:-i eth0 表示该规则应该针对从 eth0 接口进来的数据包。
- 如果不指定 -i 参数,则经由系统中所有可用的接口进入的数据包都可以匹配该规则。
- 也可以使用长参数 –in-interface。
-o 代表 out interface(出站接口)
- o 表示 “output interface”(出站经由接口)。
- 指定发送出去的数据包进入 INPUT、FORWARD 和 PREROUTING 链时经由的接口。
- 如果不指定 -o 参数,则经由系统中所有可用的接口发出的数据包都可以匹配该规则。
- 也可以使用长参数 –out-interface。
--sport 表示 source port (源端口,用于 -p tcp, 或者 -p udp)
- 默认匹配所有端口(未特别指定时)。
- 可以指定端口号(数字),也可以指定端口名称。例如,默认的 SSH 端口号码为 22,名称为 ssh,可以表示为 “--sport 22″ 或者 “--sport ssh”。
- /etc/services 文件包含了所有允许的端口名称和对应的端口号码。
- 在规则中使用号码比使用名称要好(效率高些)。
- 要匹配一个端口范围,使用英文半角冒号(:),如 22:100 匹配从 22 到 100 的所有端口号。
- 也可以使用长名称 –source-port。
--dport 表示 destination port (目的端口,-P TCP, 或者 -P UDP)
- 与 --sport 的用法相同,区别仅在于对象是目的端口。
- 也可以使用长名称 –destination-port。
--tcp-flags 表示 TCP flags (用于 -p tcp)
- 可以使用英文半角逗号(,)来指定多个 TCP 状态标识。
- 可能值有:SYN, ACK, FIN, RST, URG, PSH。可以全用,也可以不用。
--icmp-type表示 ICMP Type (icmp 类型,用于 -p icmp)
- 当使用 icmp 协议 “-p icmp” 的时候,可以使用 --icmp-type” 特别指定 ICMP 类型。
- 使用 “--icmp-type 0″ 表示“响应请求”,“--icmp-type 8″ 表示 “回答请求”。
- 同时响应和回答,可以使用--cmp-type any。
» 本文链接地址:https://blog.mydns.vip/762.html
My partner and I absolutely love your blog and find
most of your post’s to be exactly what I’m looking for.
Do you offer guest writers to write content
in your case? I wouldn’t mind creating a post
or elaborating on many of the subjects you write concerning here.
Again, awesome web site!