Linux:网络防火墙原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:网络防火墙原理相关的知识,希望对你有一定的参考价值。

Linux:网络防火墙

 netfilter:Frame

 iptables: 数据报文过滤,NAT,mangle等规则生成的工具


网络:IP报文首部,TCP报文首部


防火墙:硬件,软件:规则(匹配标准,处理办法)


Framework:

    默认规则:

  开放: 堵

  关闭: 通

  

规则:匹配标准

IP:源IP,目标IP

TCP:源端口,目标端口

   tcp三次握手: SYN=1,FIN=0,RST=0,ACK=0; 

                SYN=1,ACK=1,FIN=0,RST=0;

ACK=1,SYN=0.RST=0,FIN=0(ESTABLISHED);

UDP:源端口,目标端口

ICMP:icmp-type


数据报文过滤:

Linux2.0

   ipfw/firwall

Linux2.2

   ipc

Linux2.4

   iptables/netfilter

   

   

   

hook function:钩子函数

 prerouting

 input

 output

 forward

 postrouting

 

 规则链:

   

filter(过滤):表

  INPUT

  OUTPUT

  FORWARD

nat(地址转换):表

  PREROUTING

  OUTPUT

  POSTROUTING


mangle(修改报文首部,拆开,修改,封装):表

 prerouting

 input

 output

 forward

 postrouting


raw():

    PREROUTING

OUTPUT

iptables:


 自定义链:只能在被调用时才能发挥作用,而且如果没有被自定义链中任何一条规则匹配到,还应该有返回机制

 用户可以删除自定义的空链

 默认链不能被删除


每个规则都有内置的计数器

 被匹配到的报文个数

 被匹配到的报文大小之和


规则:匹配标准,处理动作


iptables [-t TABLES] COMMAND CHAIN [num] 匹配标准 -j 处理办法


匹配标准:

 通用匹配:

   -s ,--src 指定原地址

   -d , --dst 指定目标地址

   -p , {tcp|udp|icmp}:指定协议

   -i , INTERFACE: 指定数据报文流入的接口

       可用于定义的链:PREROUTING,INPUT,FORWARD

   -o , INTERFACE: 指定数据报文的流出接口

       可用于标准定义的链OUTPUT,POSTROUTING,FORWARD

   

 扩展匹配:

  隐含扩展:不用特别指明由哪个模块进行的扩展,因为此时使用-p {tcp|udp|icmp}

  显示扩展:必须指明由哪个模块进行的扩展,在iptables中使用-m选项可完成此功能

  


 -j TARGET

    ACCEPT

DROP

REJECT




   


本文出自 “运维成长路” 博客,谢绝转载!

以上是关于Linux:网络防火墙原理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核防火墙的工作原理一

第二十五天 IPtable基础框架扩展匹配及防火墙原理iptable入门

linux下防火墙iptables原理及使用

Linux下防火墙iptables原理及实战

iptables系列之基础原理

网络安全Linux网络安全课程