专家详解Netfilter/iptables FAQ

日期: 2008-04-20 作者:黄永兵 来源:TechTarget中国

  netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK ),而在每个检测点上上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是用户自定义的功能)。


  这一小节覆盖了常见的netfilter(和非netfilter)相关的问题,我们在邮件列表中经常看到它们。


  1、我从哪里可以获取netfilter/iptables?


  Netfilter和iptables集成在Linux2.4.x内核系列中了,请从http://www.kernel.org/或它的镜像站点获取一个最近的内核。用户空间工具iptables可以在netfilter的主页及它的镜像站点http://www.netfilter.org/, http://www.iptables.org/, http://netfilter.samba.org/, http://netfilter.gnumonks.org/http://netfilter.filewatcher.org/.上找到。


  2、Linux2.2有netfilter的backport吗?


  没有,至少目前还没有,但是如果有人想开发它,也应该不会太难,因为对网络堆栈有干净的接口,这一块有任何动静请通知我一声。


  3、有ICQ conntrack/NAT帮助模块吗?


  如果你在一个Linux2.2盒子上使用伪装技术,你总会用ip_masq_icq module来直接获取客户端到客户端的ICQ操作。没有人为netfilter重新实现过这个模块,因为ICQ协议太丑陋了:),但是我猜测它需要一点时间,除非有一个现成的可用。
Rusty曾经指出要为协议开发一个模块,至少要有一个开放的客户端和开放的服务器被集成到主netfilter发布中,对于ICQ而言,它只有开放的客户端,因此它不符合这个标准。(开放即自由,而不是免费的啤酒)


  4、ip_masq_vdolive / ip_masq_quake / …等模块何去何从?


  它们中的一部分是不需要的,另一部分还没有集成到netfilter,Netfilter可以跟踪所有连接甚至是UDP,并且策略尽可能少的干扰数据包。


  5、patch-o-matic是什么?我如何使用它?


  2.4.x内核是一个稳定版本,因此我们不能提交我们目前的开发版本到主流内核,我们所有的代码首先要在netfilter patch-o-matic中测试,如果你想使用netfilter的边缘功能,你不得不从patch-o-matic应用一个或更多的补丁,你可以在最新的iptables的包中找到patch-o-matic(或从CVS源代码找),请在netfilter主页去下载。


  patch-o-matic现在有3个不同的选项:
  make pending-patches
  make most-of-pom
  make patch-o-matic


  第一个选项只是确保所有重要的bug修复补丁(它已经被提交给内核维护者了)应用到你的内核;第二个选项提醒你所有新的特征在没有冲突的情况将被应用;第三个选项是为真正的专家准备的,可以看到所有的补丁—但是要小心,它们可能互相冲突。
patch-o-matic有一个整洁的用户接口,只需要输入


  make most-of-pom (或 pending-patches或 patch-o-matic,请看上面)
  或者,如果你的内核树不在/usr/src/linux,使用
  make KERNEL_DIR={your-kernel-dir} most-of-pom


  在iptables包的顶级目录,patch-o-matic检查每一个补丁是否可以应用到你已经安装的内核代码,如果一个补丁可以应用,你将看到一个关于该补丁的更多信息提示,应用这个补丁,跳到下一个… …


  关于patch-o-matic更多的信息,请查看netfilter的扩展HOWTO(http://www.netfilter.org/documentation/index.html#HOWTO)。


  6、我在哪里可以找到ipnatctl以及关于它的更多信息?


  ipnatctl用于从用户空间设置你的NAT规则,它是一个非常早的2.3.x内核时期的开发版本,现在不再需要它了,因此不再有效,它的所有功能现在都集成到iptables身上了,请在netfilter主页上查看NAT HOWTO。


  7、iptables/ip6tables能做IPv6 NAT吗?


  不行,NAT核心不支持任何类型的IPv6/IPv4 NAT。


  8、有计划支持SIP吗?


  SIP(会话初始化协议)是相当复杂的,特别是它横跨防火墙和NAT设备时,最初的计划是在FCP(防火墙控制协议)上的一个代理通讯。现在IETF midCOM工作组已经成立了,他们也想使用SIP。


  netfilter/iptables团队目前没有资源实施SIP conntrack/NAT支持,但是我们对发起者是打开门欢迎的。


  9、netfilter/iptables支持failover/HA?


  答案是‘支持’和‘不支持’。


  如果你正在考虑一个完整的失效恢复,那么多有的状态信息需要保留:不现实。在多个节点之间同步状态是一个非常困难的过程,Harald(netfilter团队核心成员)已经发布了一个关于这个的报告,但是没有发现任何对开发有帮助的资助。同时,你可以尝试使用我的‘连接捡起’特性,它【在发生故障后】尝试捡起已经建立好的连接:可能需要足够充分的条件。


  如果你用了NAT并且想保留你的NAT映射:不支持。


  如果你使用包过滤:支持。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐