专家详解Netfilter/iptables FAQ

http://tech.ddvip.com   2008年03月28日    社区交流

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

  6、SNAT如何与多地址一起工作的?

  Netfilter尝试尽可能少地产生破坏,因此,如果我们有一台刚刚重启了的机器,有一些在SNAT盒子后面的人用本地端口1234打开一个连接,netfilter盒子仅仅破坏ip地址保留相同的端口。

  一旦另外的人用相同的端口打开了另一个连接,如果它是一个单ip SNAT的话,netfilter将破坏ip和端口,但是如果有更多ip的话,它将只破坏ip部分。

  7、ip_conntrack: maximum limit of XXX entries exceeded

  如果你在系统日志中注意到有这个的消息,它看起来好像是你环境中的连接跟踪数据库没有足够的条目了,连接跟踪默认处理固定数量的并发连接,这个数量依赖于系统最大内存大小(64MB:4096;128M:8192;... ...)

  你可以轻易地增加这个最大连接跟踪数量,但是小心每个跟踪的连接要消耗大约350字节的非交换空间的内核内存。

  要提升这个限制到如8192,输入:

  echo "8192" > /proc/sys/net/ipv4/ip_conntrack_max

  为了优化性能,请同时提高哈希存储的数量,通过使用ip_conntrack.o模块hashsize模块载入时参数,请注意由于当前的哈希算法的特性使然,一个相同的哈希数量是一个坏的选择。

  例子(用1023个存储)

  modprobe ip_conntrack hashsize=1023

  8、我如何列出所有跟踪的/伪装的连接,与在2.2.x中ipchains -L -M类似吗?

  在proc文件系统中有一个文件,它叫做/proc/net/ip_conntrack,你可以用下面的命令查看这个文件的内容:

  cat /proc/net/ip_conntrack

  9、我如何列出所有有效的ip表?

  用下面的命令列出所有有效的ip表

  cat /proc/net/ip_tables_names

  10、从iptables-1.2发现iptables-save / iptables-restore失效

来源:51CTO.com    作者:黄永兵    责编:豆豆技术应用

正在加载评论...