zoukankan      html  css  js  c++  java
  • iptables防火墙的学习

    1,配置文件

    iptables的配置文件只有一个。刚开始默认只有filter表,当在命令行写了其他表的规则(如raw,nat)并保存的时候,配置文件会多出其他表的内容

    vi /etc/sysconfig/iptables
    

      

    2,查看表的内容

    查看表的时候都是从配置文件中读取有用信息的,如果没有,他也会显示一个空的模板出来,但是归根结底,这种情况下配置文件还是没有相应的内容

    2.1 查看filter表 

    iptables -L -n
    

    2.2查看raw表

    iptables -t raw -L
    

    2.3查看nat表

    iptables -t nat -L
    

    3.iptables的三种匹配方式

    3.1 ,通用匹配

      

    1,协议匹配 (-p 协议名)
    iptables  -A INPUT -p tcp -j ACCEPT
    
    
    2,地址匹配 (-s 源地址   -d 目的地址)
    iptables  -A INPUT -d 192.168.244.10 -j ACCEPT
    
    iptables  -A INPUT -s 192.168.10.120/24 -j DEOP
    
     3,接口匹配 (-i 进站网卡 -o 出战网卡)
    iptables -A INPUT -i eth0 -j ACCEPT
    iptables -A INPUT -o eth1  -j ACCEPT
    

      

    3.2 ,隐含匹配

    这种匹配方式要求以指定的协议匹配作为前提条件,相当于子条件,因此无法独立使用,其对应的功能由iptables在需要时自动载入内核,常见的隐含匹配包括端口匹配,TCP标记匹配,ICMP类型匹配。

    (正如上面所说,隐式匹配都是加了协议作为前提条件的)
    iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -A INPUT -p tcp --dport 53 -j ACCEPT

    iptables -A INPUT -p tcp --sport 20:21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 200:300 -j ACCEPT
    隐含匹配包括端口匹配,TCP标识匹配,ICMP类型匹配,后面两种不常用

    3.3 ,显示匹配

    这种匹配方式要求又额外的内核模板提供支持,必须以手动以"-m模块名称"的形式调用相应的模块,然后方可设置匹配条件。添加了带显式匹配条件的规则以后,可以执行"lsmod | grep xt_" 命令查看到相关的内核扩展模板。常见的显式匹配包括多端口匹配、IP范围匹配、MAC地址匹配、状态匹配。

    3.3.1多端口匹配

    iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
    

      

    3.3.2范围匹配

    iptables -A INPUT -p tcp -m iprange --src-range 192.168.244.10-192.168.244.100 -j ACCEPT
    

      

    3.3.3mac地址匹配

    iptables -A INPUT -p tcp -m mac --mac-source 00:0c:28:c0:2d:dd -j ACCEPT
    

      

    3.3.4状态匹配(不常用)

  • 相关阅读:
    【MyLocations】标记位置App开发体会
    iOS开发-Core Location和Map Kit
    iOS开发-轻点、触摸和手势
    iOS开发-GCD和后台处理
    iOS开发-block使用与多线程
    iOS开发-数据持久化
    iOS开发-为程序添加应用设置
    对iOS中MVC的理解
    docker
    linux shell
  • 原文地址:https://www.cnblogs.com/zhuhaofeng/p/9786021.html
Copyright © 2011-2022 走看看