没有所谓的捷径
一切都是时间最平凡的累积

iptables中常用参数含义

本文最后更新:2021年10月22日,已超过1126天未更新,如果文章内容失效,请留言反馈本站。

-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。
» 站长码字辛苦,有用点个赞吧,也可以打个
» 若转载请保留本文转自:豫章小站 » 《iptables中常用参数含义》
» 本文链接地址:https://blog.mydns.vip/762.html
» 如果喜欢可以: 点此订阅本站 有需要帮助,可以联系小站
赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@mydns.vip。文章观点不代表本站立场。本站原创内容未经允许不得转载,或转载时需注明出处:豫章小站 » iptables中常用参数含义
分享到: 更多 (0)

评论 1


  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    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!

    golf4年前 (2020-12-20) 05:12回复

智慧源于勤奋,伟大出自平凡

没有所谓的捷径,一切都是时间最平凡的累积,今天所做的努力都是在为明天积蓄力量

联系我们赞助我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏