iptables防火墙简介

Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制。特别是它可以在一台非常低的硬件配置下跑的非常好

Iptables是Linux2.4及2.6内核中集成的服务。提供近400人的上网服务丝毫不逊色企业级专业路由器防火墙,其功能与安全性比其ipfwadm,ipchains强大的多,iptables主要工作在OSI七层的二、三、四层,如果重新编译内核,iptables也可以支持7层控制(squid代理+iptables)

 

iptables 名词和术语

容器:包含和被包含的关系

iptables是表的容器

iptables包含表 (4张表)表是链的容器,每个表都包含若干个链

链是规则的容器,真正过滤规则是属于链里面的

级别介绍

iptables国家

表省

链 市

规则 县

iptables工作流程

iptables是采用数据包过滤机制工作的,所以它会对请求的数据包的包头数据进行分析,并根据我们预先设定的规则来进行匹配是否可以进入到主机。

数据包的流向是从左向右的

匹配规则

iptables工作流程小结

1.防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。

2.如果匹配上规则,即明确表是阻止还是通过,此时数据包就不在向下匹配新规则了。

3.如果所有规则中没有明确是阻止还是通过这个数据包,也就是没有匹配上新规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过

4.防火墙iptables的默认规则是对应链的所有规则执行完才会执行的。

iptables表(tables)和链(chains)

iptables根据功能和表的定义划分包含三个表,filter,nat,mangle,其每个表又包含不同的操作链(Chains)

Filter表是真正的防火墙功能

INPUT进服务器 OUTPUT出服务器 FORWARD 流经服务器

Nat表 负责数据包改写 网关共享上网、IP和端口映射

OUTPUT

PREROUTING

POSTROUTING

Mangle表 路由标记 用的不多

####所有链全有

RAW 表 用处很少和Mangle一样

我们可以通过man iptables 来获取

表介绍

filter标签

不指定哪张表就会使用默认filter表

filter表的核心功能:主机防火墙

强调:对于filter表的控制是我们实现本机防火墙的重要手段,特别是对INPUT链的控制

NAT表

NAT表的核心功能:IP和端口映射转换

负责网络地址转换,即来源与目的ip地址和port的转换。

应用:和主机本身无关。一般用于局域网共享上网或者特殊的端口转换服务相关。

NAT功能一般企业工作场景

1.用于做企业路由(zebra)或网关(iptables),共享上网(POSTROUTING)

2.做内部外部ip地址一对一映射(dmz),通过使用iptables防火墙映射ip到内部服务器,ftp服务。(PREROUTING)

3.单个端口的映射,例如:映射80端口(PREROUTING)

这个表定义了三个链(Chains),nat功能就相当于网络的ACL控制。和网络交换机、路由器ACL类似。

iptables表和链工作流程图

NAT功能:

企业案例:

1)局域网上网共享(路由和网关)使用NAT的 POSTROUTING链

2)端口映射: 外部IP和端口映射为内部IP和端口(DMZ功能),使用NAT的 PREROUTING链

Filter功能,即防火墙FILTER INPUT FORWARD

企业案例:主要应用于服务器防火墙

最新文章

  1. JVM-String比较-字节码分析
  2. android应用程序如何调用支付宝接口(转)
  3. 第八节 C#的using语句
  4. opengl基础学习专题 (二) 点直线和多边形
  5. BZOJ3874 codevs3361 宅男计划
  6. Fiddler如何抓取使用了SSL或TLS传输的Android App流量
  7. ffmpeg-2.3.3 configure for android
  8. linux服务器上apache+php独立于mysql server单独部署
  9. emacs配置详解及C/C++IDE全功能配置演示(附配置文件)
  10. 关于android的坑
  11. 使用mysql-mmm实现MySQL高可用集群
  12. DataSet与DataReader的比较
  13. JS定时器的使用--数码时钟
  14. win7 安装 vagrant + centos + virtualbox
  15. Delphi 常用函数记录
  16. 1分钟选好最合适你的JavaScript框架
  17. JAVA 实现tail -f 日志文件监控功能
  18. 监控mysql
  19. 【蓝桥杯真题】地宫取宝(搜索->记忆化搜索详解)
  20. PAT1018 Public Bike Management【dfs】【最短路】

热门文章

  1. 在mysql命令行下执行sql文件
  2. MySQL入门很简单-触发器
  3. Canvas入门到高级详解(上)
  4. SetProcessWorkingSetSize减少内存占用
  5. Java源码阅读的真实体会(一种学习思路)
  6. node踩坑之This is probably not a problem with npm. There is likely additional logging output above.错误
  7. Android全面屏适配
  8. swoole Tcp服务器
  9. swoole 基础知识
  10. mac xmind 激活