美文网首页
iptables介绍

iptables介绍

作者: 酱油王0901 | 来源:发表于2020-03-22 18:28 被阅读0次

iptables由三部分组成,tableschainsrules

Tables

其中tables包含五种类型:FilterNAT(network address translation)Mangle, RawSecurity

  • Filter是默认的tables类型。由名字可以知道主要是用于过滤。
  • NAT主要是用于网络地址转换,决定是否修改以及如何修改packet源或目的地址。
  • Mangle用于修改packet的IP headers。例如可以调整packet的TTL时间,缩短有效网络hops,
  • Raw主要是用于connection tracking
  • Security主要是用于Mandatory Access Control (MAC)网络规则。
    后面两种不常用。

Chains

Chains主要包括五种: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

Chains
需要注意的是:并不是所有的chains对所有tables都适用。如图所示,例如Filter表有三种ChainsINPUTFORWARDOUTPUT

Chains的遍历次序

Rules

Rules就是定义一组规则用来操纵网络traffic。

Commands to manipulate network traffic.

例如:为了阻塞某个IP地址

iptables -A INPUT -s x.x.x.x -J DROP

每条rule一般包含两个基本的组成部分,matching componenttarget component。例如上面的例子中-s x.x.x.x即为matching component-J DROP即为target component

  • matching component主要包含以下几部分,而且可以将其组合成更复杂的rule sets

    • Protocol
    • IP Address
    • Port Address
    • Interfaces
    • Headers
  • target component又包含Terminating TargetsNon-Terminating Targets

    • Terminating Targets
      • Accept
      • Drop
      • Queue
      • Reject
      • Return
      • User-Defined
    • Non-Terminating Targets
      • Continue the chain
iptables -t [table] -OPTIONS [CHAIN] [matching component] [action component]
  • table可以是上述提到的五种table类型中的一种,默认为filter。
  • CHAIN根据table的不同,可以适用的CHAIN也不一样。
  • OPTIONS主要由A(append), D(delete), I(insert), R(replace), F(flush), L(list), P(policy), Z(zero counters), E(rename), N(new user-defined chain), X(delete chain)等等组成。
  • matching component是条件组合,如果条件为真则执行action component,如果条件为假,则移到下一条规则。
Generic Implicit Explicit
p - Protocol TCP Match Extensions
s - Source IP -sport -m
d - Dest IP -dport conntrack, dscp, ecn, iprange etc.
i - IN Interface --tcp-flags
o - OUT Interface
  • Action component 通过-j (for jump)来指定,主要包括ACCEPT, DROP, REJECT,RETURN。

例子

  1. 我们可以通过iptables -nvL查看默认table的iptables规则,也可以通过-t参数指定table。如下所示,prot代表Protocol,opt代表IP options,inout分别代表input和output interface。sourcedestination分别代表source IP地址和destination IP地址。
(ENV) [root@ceph-2 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 943M packets, 1125G bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 938M packets, 1540G bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0
  1. 配置阻塞访问百度这种垃圾网站,如下所示:
(ENV) [root@ceph-2 ~]# iptables -A INPUT -s baidu.com -j DROP
(ENV) [root@ceph-2 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 8209 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       220.181.38.148       0.0.0.0/0
    0     0 DROP       all  --  *      *       39.156.69.79         0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 8297 packets, 25M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

References

相关文章

  • Linux下iptables防火墙配置详解

    iptables命令及参数介绍iptables常用命令: 常见设置参数介绍: iptables配置文件 iptab...

  • iptables介绍

    iptables 实际上就是一种包过滤型防火墙 四表五链 总体说来,iptables就是由“四表五链”组成。 其中...

  • iptables介绍

    iptables由三部分组成,tables, chains和rules。 Tables 其中tables包含五种类...

  • Iptables 介绍

    前提说明 iptables 的设置在 CentOS 和 Ubuntu 下有些细节不一样,Ubuntu 这里不讲,文...

  • iptables介绍

    iptables是什么 iptables是linux中进行网络规则配置的工具,netfilter工作在内核空间,i...

  • 企业级iptables防火墙

    一、IPtables介绍 Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源...

  • 18iptables

    以下课件基于何导和李导的课件内容。 第1章 iptables介绍 1.iptables是什么? iptables是...

  • iptables

    第1章 iptables介绍 1.iptables是什么? iptables是开源的基于数据包过滤的防火墙工具。 ...

  • Iptables防火墙

    第1章 iptables介绍 1.iptables是什么? iptables是开源的基于数据包过滤的防火墙工具。 ...

  • iptables

    第1章 iptables介绍 1.iptables是什么? iptables是开源的基于数据包过滤的防火墙工具。 ...

网友评论

      本文标题:iptables介绍

      本文链接:https://www.haomeiwen.com/subject/bybvyhtx.html