zoukankan      html  css  js  c++  java
  • iptables相关

    iptables相关

    四表:
    fileter,net,mangle,raw
    五链
    PREROUTING(路由前) INPUT FOREARD OUTPUT POSTROUTING(路由后)

    表和链的对应关系
    filer:INPUT,FORWARD.OUTPUT
    nat:PREROUTING OUTPUT POSTROUTING
    magle:PREROUTING FORWARD POSTROUTING INPUT OUTPUT

    规则:检查条件,处理机制,

    通:白名单,默认为堵,只对能识别的进行放行
    堵:黑名单,默认为通,只对能识别的进行阻截

    检查条件:
    IP:SIP,DIP
    TCP:SPORT,DPORT,FLags
    UDP:SPORT,DPORT
    ICMP:ICMP-TYPE

    扩展机制:
    time string state(connection-tracking)

    处理机制:
    DROP(丢弃),
    REJECT(拒绝,并返回)
    ACCEPT(允许)
    SNAT (原地址转换)
    DNAT (目的地址转换)
    RETURN(返回调用链)
    REDIRECT(端口重定向)
    LOG(记录日志)

    MARK(做防火墙标记)

    MASQUERADE: 地址伪装

    -p tcp --tcp-flags LIST1 LIST2 : 检查LIST1所指明的所有标志位,LIST2所表示出的标志位必须为1, 其余的必须为0, 没有LIST1中指明的,不做检查

    SYN ACK FIN  RET PSH URG

    --tcp-flags SYN,ACK,FIN,RET  SYN  第一次握手

    或者使用--sync

    -p icmp

               --icmp-type 可用数字类型:

         0: echo-reply      回送应答

           8: echo-request  请求

    可以ping通外面,不能回应。

    iptables -I OUTPUT -s 192.168.20.12 -p icmp --icmp-type 8 -j ACCEPT

    可以回应

    iptables -I INPUT -d 192.168.20.12 -p icmp --icmp-type 0 -j ACCEPT

    扩展

    1. -m multiport --dports/--sports
    2. -m iprange --src-range/--dst-range

    iptable -I INPUT -d 192.168.20.12 -p tcp -m multiport --dport 22:25,80 -m iprange  --src-rang 192.168.20.1-192.168.20.19 -j ACCEPT

    3.string扩展: 检查报文中出现的字符串。

    --algo {bm|kmp}

    [!] --string pattern

    [!] --hex-string pattern

     iptables -A INPUT/OUTPUT -p tcp --dport 80 -m string --algo bm --string 'baidu' -j DROP

     iptables -p udp --dport 53 -m string --algo bm --from 40 --to 57 --hex-string '|03|www|09|netfilter|03|org|00|'

    4.time

    5.connlimit 连接限制

        --connlimit-above 超过的连接数,后面加拒绝

        --connlimit-mask prefix_length,指定掩码

        --connlimit-saddr  源地址

        --connlimit-daddr  目的组

    iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT

    同一个主机放过来的请求不能大于2,如果大于将拒绝。

    6. limit 基于收发报文的速率做检查:

      --limit rate[/second|/minute|/hour|/day]

      --limit-burst number

    7.state扩展  根据连接追踪机制,检查连接的状态。

    调整连接追踪功能所能够容纳的最大连接数据

    调整连接追踪功能所能容纳的最大链接数量

    [root@python ~]# cat /proc/sys/net/nf_conntrack_max

    已经追踪并记录下的连接

    [root@python ~]# cat /proc/net/nf_conntrack

    可追踪的连接状态:

    NEW: 新发出的请求: 连接追踪模版中不存在此连接的相关信息条目。

    ESTABLISHED: NEW状态之后,连接追踪模版中为其建立的条目失效之前期间内所进行的通信状态。

    RELATED: 相关的连接:如ftp协议的命令连接与数据连接之间的关系

    INVALIED: 无法识别的连接

     在INPUT链 放行NEW,ESTABLISHED

    iptables -I INPUT -d 192.168.20.144 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

     在OUTPUT链 放行ESTABLISHED

    iptables -I INPUT -s 192.168.20.144 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

  • 相关阅读:
    Nosql介绍
    linux系统安装mysql
    linux下装tomcat教程
    linux系统下安装jdk教程
    XML解析
    XML 可扩展标记语言
    Oracle——子查询
    数据库——Oracle(增删改查,单行函数,多行函数,多表查询)
    Ubuntu16.04Scrapy爬虫定时任务
    大数据——zookeeper分布式集群管理工具的学习与使用
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/6634183.html
Copyright © 2011-2022 走看看