• 2.iptables规则查询


    iptabels预定义了4表,分别是raw表,mangle表,nat表,filter表,不同的表拥有不同的功能。

    以filter表为例,它主要进行数据包的过滤,比如允许哪些IP地址访问,拒绝哪些IP地址;允许访问哪些端口,禁止访问哪些端口,filter会根据我们定义的规则进行过滤。

    查看filter表中的规则

    -t选项,指定要操作的表,使用-L选项,查看-t选项对应的表的规则
    上图中,显示出三条链:INPUT链、OUTPUT链、FORWARD链,每条链中都有自己的规则;

    例如,我们需要禁止某个IP地址访问我们的主机,则需要在INPUT链上定义规则;在生产环境中,在哪条链上定义规则,取决于实际的工作场景,所以,如果我们想要禁止某些报文发往本机,我们只能在PREROUTINGINPUT链中定义规则;但是PREROUTING链并不存在于filter表中,换句话说就是,PREROUTING链本身就没有过滤数据包的能力,所以我们只能在INPUT链中定义规则。

    查看指定链的规则,省略-t选项默认为filter表

    使用-v选项查看更多、更详细的内容:

    字段的含义:

    pkts      # 对应规则匹配到的报文的个数
    bytes     # 对应匹配到的报文包的大小总数
    target    # 规则对应的“动作”,即规则匹配成功后需要采取的措施
    prot      # 规则对应的协议,是否只针对某些协议应用此规则
    opt       # 规则对应的选项
    in        # 表示数据包由哪个网卡流入,可以设置通过哪块网卡流入的报文需要匹配的规则
    out       # 表示数据包由哪个网卡流出,可以设置通过哪块网卡流出的报文需要匹配的规则
    source    # 规则对应的源地址,IP、网段
    destination    # 规则对应的目标地址,IP或网段
    

    图中的源地址和目标地址都为anywhere,iptables默认为我们进行了地址解析,但是在规则非常多的情况下如果进行地址解析,效率会比较低,所以可以使用-n选项,表示不对IP地址进行解析,直接显示IP地址。

    --line-numbers可显示规则的编号,如下:

    可以看到图中每个链的括号中都有一些信息,分别表示什么呢?
    1.policy:表示当前链的默认策略,policy ACCEPT表示上图中INPUT链的默认动作为ACCEPT,默认接受通过INPUT链的所有请求;
    我们在配置INPUT链的具体规则是,应该将需要拒绝的请求配置到规则中,设置“黑名单”机制。
    2.packets:表示当前链默认策略匹配到的包的数量;0 packets表示默认策略匹配到0个包。
    3.bytes:表示当前链默认策略匹配到的所有包的大小总和。

    命令总结

    1.iptables -t [表名] -L
    查看对应表的所有规则,-t指定表,可省略,默认为filter表;-L表示列出规则

    2.iptables -t [表名] -L [链名]
    查看指定表中指定链中的规则

    3.iptables -t [表名] -v -L
    查看指定表中所有规则,并显示出更详细的信息

    4.iptables -t [表名] -n -L
    查看表中所有规则,-n选项表示不进行IP地址解析

    5.iptables -t [表名] -L --line-numbers
    查看表中所有规则,--line-numbers选项表示显示规则的序号,可简写为--line

    作者:ccku
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    vsftp 虚拟用户测试
    RHEL7 MariaDB测试
    安装xenapp后,非管理员连接RDP出现桌面当前不可用的解决方法
    sqrt函数的实现
    O2O、C2C、B2B、B2C
    libsvm使用说明
    如何确定最适合数据集的机器学习算法
    知乎日报:她把全世界的学术期刊都黑了
    逻辑回归应用之Kaggle泰坦尼克之灾
    非均衡数据分布的分类问题
  • 原文地址:https://www.cnblogs.com/ccku/p/13681783.html
Copyright © 2020-2023  润新知