扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1.2.2 新一代的Netfilter网络底层架构
Netfilter是一种内核中用于扩展各种网络服务的结构化底层构架。Netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性加入到内核中并不需要重新启动内核。这样,可以通过简单的构造一个内核模块来实现网络新特性的扩展。为底层的网络特性扩展带来了极大的便利,使更多从事网络底层研发的人员能够集中精力实现新的网络特性。
事实上,我们可以将Netfilter视为网络协议堆栈中可以让其它模块操作网络数据包的一系列“钩子”,在数据包通过协议堆栈的某些特定的点上, Netfilter框架允许一个模块转发或丢弃数据包、通过某种方式改变数据包、在用户空间(非内核模式)对包进行排队,当然也可以根本不去干涉它。
(1)Netfilter/iptables系统的含义。Linux 2.4内核中Netfilter是新的用来实现防火墙的过滤器。 iptables是用来指定Netfilter规则的用户工具。
Iptables只是一个管理内核包过滤的工具,它为用户配置防火墙规则提供了方便。
Iptables可以加入、插入或删除核心包过滤表格(链)中的规则。实际上真正来执行这些规则的netfilter及其相关模块(如iptables模块和nat模块等)。
因此,要使用Netfilter/iptables系统,必须首先有2.4版本内核的相关支持,同时必须安装iptables软件包。在Red Hat 9.0发行版中,此系统是默认的配置。
(2)使用Netfilter/iptables替代ipchains的原因:
→连接跟踪
→自动碎片重装
→改良的匹配规则
→增强的日志功能
→允许撕裂包中的任何信息
→用户队列允许用户空间对包进行编程
→支持内置包转发而舍弃了IPMASQANDM
(3)Netfilter/iptables系统的主要功能
→状态包过滤(连接跟踪)
→各种网络地址翻译
→灵活、易扩展的急智机制
→大量的增强型补丁包
(4)Netfilter/iptables的用途
→建立Internet防火墙和基于状态的包过滤
→用NAT和伪装(masquerading)共享上网
→用NAT实现透明代理
→用修改IP包头的ToS字段来实现更复杂的功能
→和tc+iprouter2配合使用可以实现QoS路由
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者