zoukankan      html  css  js  c++  java
  • iptables简单命令

      IPTables是基于Netfilter基本架构实现的一个可扩展的数据报高级管理系统或核外配置工具,利用tablechainrule三级来存储数据报的各种规则。Netfilter-iptables由两部分组成,一部分是Netfilter"钩子",另一部分则是知道这些钩子函数如何工作的一套规则--这些规则存储在被称为iptables的数据结构之中。钩子函数通过访问iptables来判断应该返回什么值给Netfilter框架。

    iptables的结构:

        表名包括(4张表):
        raw:高级功能,如:网址过滤。
        mangle:数据包修改(QOS),用于实现服务质量。
        nat:地址转换,用于网关路由器。
        filter:包过滤,用于防火墙规则。 (默认)

      规则链名包括(5条链):
        INPUT链:处理输入数据包。
        OUTPUT链:处理输出数据包。
        PORWARD链:处理转发数据包。
        PREROUTING链:用于目标地址转换(DNAT)。
        POSTOUTING链:用于源地址转换(SNAT)。

      动作包括:
        ACCEPT:接收数据包。
        DROP:丢弃数据包(无返回值)。
        REJECT:拒绝(有返回值)。
        SNAT:源地址转换。
        DNAT:目标地址转换。 
        LOG:日志记录。

    iptables命令输入格式:

    iptables -t 表名 <-A/I/D/R>  规则链名 [规则号]  <-i/o 网卡名>  -p 协议名  <-s 源IP/源子网>  --sport 源端口  <-d 目标IP/目标子网>  --dport 目标端口  -j  动作

     

    语法格式:

    iptables(选项)(参数)

    选项:

    -t <表>:指定要操纵的表;(没有这个 "-t <table>"参数的话,默认使用 “filter”表!)
    -A:向规则链中添加条目;
    -D:从规则链中删除条目;
    -I:向规则链中插入条目;
    -R:替换规则链中的条目;
    -L:显示规则链中已有的条目;
    -F:清楚规则链中已有的条目;
    -h:显示帮助信息;
    -p:指定要匹配的数据包协议类型;
    -s:匹配来源地址IP/MASK,加叹号"!"表示除这个IP外;
    -j<目标>:指定要跳转的目标;
    -i<网络接口>:指定数据包进入本机的网络接口;
    -o<网络接口>:指定数据包要离开本机所使用的网络接口。

    -m <模块名> <匹配该模块下的某一项> : 使用扩展模块来进行数据包的匹配

     

    删除已添加的iptables规则:

    1 将所有iptables以序号标记显示,执行:
    2 iptables -L -n --line-numbers
    3 
    4 比如要删除INPUT里序号为8的规则,执行:
    5 iptables -D INPUT 8

    实例:

    1 iptables -I INPUT -p tcp --dport 80 -j ACCEPT   (这里没有  -t <table>,默认为“-t filter”)
    2 iptables -A INPUT -p tcp --dport 2225 -j ACCEPT #允许访问22--25之间的端口
    3 iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令
    4 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #使用模块 “state” 下的 “--state” 规则,允许已建立的或相关连的通行
  • 相关阅读:
    jstl表达式判断字符or字符串相等的写法
    enctype="multipart/form-data导致request获取不到数据
    Mac下解决mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    单源文件目录makefile
    默认生成的特殊函数
    为什么说switch比if快
    C++基本内置类型
    补码的原理及其应用
    CSS--浮动与定位
    CSS--字体
  • 原文地址:https://www.cnblogs.com/Downtime/p/7467715.html
Copyright © 2011-2022 走看看