官网:https://www.netfilter.org/

简单来来说 ,netfilter 是一个工作在内核空间的数据包过滤系统,iptables 是一个工作在用户控件。调用netfilter 的规则管理工具。

一 、什么是netfilter?

netfilter.org是Linux 2.4.x及更高版本内核系列中包过滤框架软件的所在地。通常与netfilter.org相关的软件是iptables

该框架内的软件支持包过滤,网络地址[和端口]转换(NA [P] T)和其他数据包重整。它是以前的Linux 2.2.x ipchains和Linux 2.0.x ipfwadm系统的重新设计和大幅改进的后继者。

netfilter是Linux内核中的一组钩子,允许内核模块向网络堆栈注册回调函数。然后,对于遍历网络堆栈内的相应挂钩的每个数据包,回调注册的回调函数。

iptables是规则集定义的通用表结构。IP表中的每个规则都包含许多分类器(iptables匹配)和一个连接动作(iptables目标)。

netfilter,ip_tables,连接跟踪(ip_conntrack,nf_conntrack)和NAT子系统共同构建了框架的主要部分。

主要特点

  • 无状态数据包过滤(IPv4和IPv6)
  • 状态包过滤(IPv4和IPv6)
  • 各种网络地址和端口转换,例如NAT / NAPT(IPv4和IPv6)
  • 灵活且可扩展的基础架构
  • 用于第三方扩展的多层API

我可以用netfilter / iptables做什么?

  • 构建基于无状态和状态包过滤的互联网防火墙
  • 部署高可用的无状态和状态防火墙集群
  • 如果您没有足够的公共IP地址,请使用NAT和伪装来共享Internet访问
  • 使用NAT实现透明代理
  • 帮助用于构建复杂的QoS和策略路由器的tc和iproute2系统
  • 进行进一步的数据包操作(修改),例如改变IP报头的TOS / DSCP / ECN位

二 、什么是iptables?

iptables是用户空间命令行程序,用于配置Linux 2.4.x及更高版本的包过滤规则集。是一个工作管理工具,它面向系统管理员。

由于网络地址转换也是从数据包过滤规则集配置的,因此 也使用iptables

iptables的包装还包括 ip6tables。 ip6tables用于配置IPv6数据包过滤器。

依赖

iptables需要一个具有ip_tables数据包过滤器的内核。这包括所有2.4.x及更高版本的内核版本。

主要特点

  • 列出数据包过滤规则集的内容
  • 在数据包过滤规则集中添加/删除/修改规则
  • 列表/归零数据包过滤规则集的每个规则计数器

具体调用过程如下: 

iptables 初见 第一章的更多相关文章

  1. 云计算第一章:服务器硬件及linux初体验

    第一章:服务器硬件及linux初体验 一.了解linux: 1.linux的三大分支:debian.redhat.ubuntu 2.redhat版本: redhat:红帽,简称RHEL,企业级官方版本 ...

  2. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  3. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  4. Nova PhoneGap框架 第一章 前言

    Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...

  5. 第一章 MYSQL的架构和历史

    在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...

  6. 第一章 Java多线程技能

    1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...

  7. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

  8. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  9. 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述

    微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...

随机推荐

  1. LostRoutes项目日志——玩家飞机精灵Fighter解析

    Fighter类的定义在Fighter.js中,Fighter类继承与PhysicsSprite. 原版的Fighter.js: var Fighter = cc.PhysicsSprite.exte ...

  2. java高级---->Java观察者的原理

    观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己.今天我们通过模拟按钮的处理事件来深入Java ...

  3. C#Windows Service程序的创建安装与卸载

    C#Windows Service程序的创建安装与卸载 一.开发环境 操作系统:Windows7x64 sp1 专业版 开发环境:Visual studio 2013 编程语言:C# .NET版本: ...

  4. C# 递归省市区三级树结构

    省市区结构 实体 /// <summary> /// 行政区 /// </summary> public class AreaEntity { public int Id { ...

  5. php算法题

    一群猴子排成一圈,按1,2,…,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大 ...

  6. 8、路由 router

    路由:router 用户功能 /user ----> index.html /user/login ----> login.html /user/reg ----> reg.html ...

  7. eclipse解决js提示

    自学js,发现eclipse中不管js文件.html文件.jsp文件没有都没js代码的提示,对于js代码也不报错,有时候就因为单词敲错却查了很久没查出来,很烦很难受. 在网上找了很多方法,都没有解决, ...

  8. js的运用1

    1.parselnt() 2.parsefloat() 遇到第一个字节是非数字就结束了. 3.      var   a="hello world" a这个变量是字符串了,对于里面 ...

  9. Socket 的网络编程

    socket 网络编程的服务端: 1) 创建socket 套接字. 2) 和socket绑定主机地址和端口 3) socket 主动监听端口,看又没有来连接. 4) 当执行到 accept() 时, ...

  10. ext 的controller中的refs的使用方法

    通过ext api 可以知道ext 的controller中有个refs的属性,对于这个属性 文档上是这么说的:配置数组构建页面上的视图的引用. 我并看不懂,接下来说的是我对这个refs的理解. 对这 ...