您的位置:首页 > 其它

<草稿>1030 iptables

2012-11-10 09:30 274 查看
1,Firewall
工作在网络或主机边缘,对进出的数据包根据定义的规则进行检查,并作出相应的动作。
2,检查规则:匹配条件和处理办法的办法
匹配条件:
         帧首部,IP首部(源IP,目的IP),TCP首部(标识位,URG,ACK,SYN,RST ,PSH,FIN端口),应用层首部
         TCP的有限状态机:CLOSED,LISTEN,SYN_SENT,SYN_RECV,ESTABLISHED,FIN_WAIT1,CLOSE_WAIT,FIN_WAIT2,LAST_ACK,TIME_WAIT
3,软件:在主机的内核中的TCP/IP 协议栈上的附加一套规则
   硬件:netscreen,checkpoint  
4,防火墙类型,
包过滤型防火墙(IP/TCP) 对带宽影响不大,安全性较低
          简单包过滤墙
          带状态检测包过滤;连接状态
应用层网关防火墙 (对特定的应用协议做过滤)效率很低,但更安全
 
5,ipfw 2.0
   ipchains 2.2
   iptalbes 2.4
iptables:用户控件工具
netfilter:内核中的防火墙框架(framework,platform 平台)hook function
   规则链:INPUT;OUTPUT;FORWORD,PREROUTING,POSTROUTING
6,NAT
SNAT  源地址
DNAT  目的
PNAT   端口转换
7,防火墙功能:
filter
nat
mangle  修改FTP/IP首部
raw
8,数据包流向
进来的包:Prerouting –> Input
转发的包:Prerouting –> Forward –>Postrouting
出去的包:Output –> Postrouting
9,    raw:PREROUTING,OUTPUT
         mangle:所有都可以
          nat:prerouting ,output,postrouting
file:input,forward,output
10,filter
匹配条件
    netfilter,检查模块
处理动作
    ACCEPT
    DROP
    REJECT
11,iptables [-t TABLE] COMMAND CHAIN [CRETIRIA] –j  ACTION
-t  raw
     mangle
     nat
     filter:默认
COMMAND:对链,或者对链中的规则进行管理操作
  链中规则:
        -A:附加规则
        -I #:插入为第几条
        -R#: 替换(replace) 第几条
        -D#: 删除第几条
        -D CRETERIA      删除匹配的规则
  链:
        -N:新建一个自定义链
        -X:删除一个自定义的空链
        -E:重命名一条自定义链
        -F:清空指定链,如果不指定链,则清空表中所有链
        -P:设定链的默认策略
        -Z:置零(每条规则都有两个计数器,包括默认策略,一个是被本规则匹配到的数据包的个数,另一个是本规则匹配到的体积之和)   对规则生效,对默认不生效
  查看:-L
              -v
              -vv
              --line-numbers显示规则行号
              -x显示计数器精确值
              -n不要对地址或端口反解
iptables 对应脚本 /etc/rc.d/init.d/iptables  {status|start|stop|save}
           脚本配置文件:/etc/sysconfig/iptables-config
           规则保存位置:/etc/sysconfig/iptables
              
匹配条件:
通用匹配:
     -s  源
     -d 目标
     -p protocal {icmp|tcp|udp}
     -i 流入接口
     -o 流出接口
扩展匹配:
   隐式扩展
     -p tcp
          --sport PORT[-PORT2]
          --dport PORT[-PORT2]
          --tcp-flags SYN,ACK,RST SYN(必须为一的位)
          --syn 三次扩展第一次握手
     -p udp
         --sport
         --dport
    -p icmp
         --icmp-type
            8 :echo-request
            0 :echo-reply
   显式扩展 位于 /lib/iptables
              netfilter扩展模块引入的扩展,用于匹配条件,通常需要额外的专用选项来定义
     -m state      用于实现连接的状态检测
            --state
                  NEW,ESTABLISHED,RELATED(一个服务多种连接如ftp),INVALID
     -m  multiport
            --sourceports  22,80
            --destination-ports 22,80
            --ports   
    -m  limit
          --limit 2/min  速率
          --limit-burst 峰值
   -m  connlimit 最大连接数
        [!] --connlimit-above  多余n个满足条件
   -m  iprange  IP的范围
          --src-range  ip-ip
          --dst-range ip-ip
   -m mac  基于mac过滤
          --mac-source XX:XX:XX:XX:XX:XX
   -m string
          --algo {bm|kmp}
          --string “PATERN” 模式
   -m recent
   -m time
         --datastart
         --datastop
         --timestart
         --timestop
         --weekdays
   -m layer7
        --l7proto 特征码
       
动作: –j TARGET
    ACCEPT
    DROP
    REJECT
    REDIRECT
    DNAT  nat表的prerouting中
              --to-destination
              iptables –t nat –A PREROUTING –d 1.1.1.1 –p tcp –dport 80 –j DNAT –to-destination 192.168.1.10:8080  
    SNAT  nat表的postrouting中
                  --to-source
       PNAT

    MASQUERADE 自动选择一个合适地址作为转换后的源地址 地址伪装
    LOG
             --log-prefix “iptables,dnat 192.168.10.1) --
    RETURN 
    自定义链名
同一物理机不能用同一网段的地址
 
iptables的规则保存
service iptables save
       /etc/sysconfig/iptables
iptables-save > /etc/sysconfig/iptables.3
iptables-restore < /etc/sysconfig/iptables.3
应用层过滤:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: