iptable

iptables语法:
         iptables   [-t 表]  <操作命令>  [要操作的链]    [规则号码]  [匹配条件]  [-j  匹配到以后的动作]



表:
     filter      过滤数据包,默认表             
         nat         网络地址转换         (DNAT、SNAT、NASQUERADE)
         mangle    修改数据包,改变包头中内容(TTL,TOS,MARK)    
       (1)TOS:设置改变数据包的服务类型,不要使用TOS设置发往Internet的包除非打算依赖TOS来路由,不能再表中配置任何过滤。SNAT、DNAT
       (2)TTL:  改变数据包的生存时间,可以让数据包只有一个特殊的TTL,欺骗ISP,有些ISP并不希望多台计算机共享一个连接访问Internet,ISP通过检查一台计算机所发出的数据包是否含有不同的TTL来判断。
       (3)Mask:给数据包设置特殊的标记,通过标记配置带宽限制和基于请求分类。                        
         raw            

链:
filter表中的三条链:
      INPUT 链     :  过滤所有目标地址是本机的数据包(对进入本机数据包的过滤)
      OUTPUT链   :  过滤所有本机产生的数据包(对源地址得数据包的过滤)
      FORWARD链 :   过滤所有路过本机的数据包(源地址和目标地址都不是本机的数据包)  


NAT表中的三条链:
      PREROUTING  :   数据包到达防火墙时改变包的目的地址
      OUTPUT         :  改变本地产生数据包的目标地址
      POSTROUTING  :  在数据包离开防火墙时改变数据包的源地址

 Mangle表中的5条链:
      INPUT              在数据包进入本机后,应用程序接受之前改变数据包
      OUTPUT           在数据包被确定目的地址前改变数据包
      FORWARD        第一次路由判断之后,最后一次路由判断前改变数据包 
      PREROUTING     数据包进入防火墙后,路由判断之前改变数据包           
      POSTROUTING       数据确定了目标地址后,即路由判断前改变数据包


操作命令:
-A   -I  -D   -R    -P  -F  -L
查看filter表的forward链命令:  iptables     -vnL   --line-number      FORWARD
查看nat表命令:   iptables  -t nat  -L
设置某链默认策略:  iptables  -P  INPUT DROP

匹配条件:
流入、流出接口(-i、 -o)         (-i   eth+ 所有的ethernet网卡)           (-i   ! eth0 除了eth0网卡)
来源、目的地址(-s、-d)     (-s     ! 192.168.0.0/24)
协议类型           (-p)          (-p  all )
       --tcp-flags            是-p  tcp协议的扩展
                                      iptables  -p tcp  --tcp-flags  SYN,FIN,ACK SYN
                                      TCP状态旗号:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)、PSH(强迫推送)
                              
       --syn                      iptables  -p tcp  --syn
                                      用来比对是否为要求联机之TCP封包,与iptables   -p  tcp  --tcp-flags  SYN,FIN,ACK的作用完全相同,
来源、目的端口(--sport、--dport)       --sport  800:1000    或者       :1000
--tcp-flags  


动作(处理方式):
ACCEPT
DROP
DNAT  --to     改写封包目的地IP为某特定IP或范围
SNAT   --to     改写来源IP为某特定IP或IP范围
MASQUERADE   
iptables   -t nat  -A  POSTROUTING  -p tcp  -o  eth0  -j SNAT   --to-source  194.236.50.155-194.236.50.160:1024-32000
iptables  -t  nat  -A POSTROUTING  -s 192.168.0.0/24 -j MASQUERADE  将源地址是192.168.0.0/24的数据包进行地址伪装

附加模块:
按包状态匹配         state
按来源MAC匹配     mac
按包速率匹配          limit
多端口匹配             multiport


-m  state   --state 检测会话之间的连接关系
                              状态:   NEW、RELATED、ESTABLISHED、INVALID
                              NEW:该包想要开始一个连接(重新连接或将连接重定向)
                             ESTABLISHED:  只要发送并接到应答,一个数据连接从NEW变为ESTABLISHED,而且该状态会继续匹配这个连接的后续数据包
                               RELATED:该包是属于某个已经建立的连接所建立的新连接,例如:FTP的数据传输连接就是控制连接所RELATED出来的连接、--icmp-type 0(ping应答)--                             icmp-type 8(ping请求)所RELATED出来的
                             INVALID:数据包不能被识别属于哪个连接或没有任何状态比如内存溢出,收到不知属于哪个连接的ICMP错误信息,一般应该DROP这个状态的任何数据
                             iptables  -A INPUT -m  state  --state  RELATED,ESTABLISHD  -J ACCEPT

-m  mac    --mac    --mac-source   MAC
                              报文经过路由后,数据包中原有得mac信息会被替换,所以在路由后得iptables中使用mac模块是没有意义得
                              iptables  -A FORWARD -m mac  --mac-source  xx:xx:xx:xx:xx:xx -j DROP

-m  limit   --limit  匹配速率 [--burst 缓冲数量]
                              用一定速率去匹配数据包
                              iptables  -A FORWARD  -d 192.168.0.1-m limit --limit  50/s   -j ACCEPT   也可以/minute  /hour  /day                       iptables   -A INPUT  -m  limit     --limit                                          3/hour  比对每小时平均流量是否超过一次3个封包
                             
      --limit-burst   用来比对瞬间大量封包的数量
                              iptables  -A  INPUT  -m  limit  --limit-burst  5 
                  
-m  multiport  <--sports | --dports  |  --ports  >  端口1[ ,端口2. . . . ,端口n]
                              一次性匹配多个端口,可以区分源端口,目的端口或不指定端口
                              iptables  -A   INPUT  -p tcp    -m multiport  --dports  21,22,25,80,110  -j ACCEPT
                              必须与-p参数一起使用 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值