Nei*_*eil 11 networking iptables
我经常在日志中看到以下内容:
内核:ip_conntrack:表已满,正在丢弃数据包。
目前,我将 ip_conntrack_max 设置为 65536(默认为 RHEL5)。
记住内存使用情况,我可以安全地增加多少这个值?我在这个盒子上有 4GB 内存。这台机器的功能之一是作为静态内容服务器,这可能解释了高连接数,也意味着我希望尽可能多地保留用于缓存的操作系统内存。
另外,以下两者有什么区别?/proc/sys/net/ipv4/netfilter/ip_conntrack_max /proc/sys/net/ipv4/ip_conntrack_max
我应该编辑哪个?
谢谢!
Jac*_*zny 12
首先,问自己一个问题:您的设置是否需要连接跟踪?如果它只是一个服务器并且防火墙/NAT 在其他地方完成,那么您可能可以一起禁用 conntrack。
其次,检查您的 conntrack 条目是否有意义。有时,由于某些网络或防火墙配置错误,conntrack 表充满了垃圾。通常这些是从未完全建立的连接的条目。例如,当服务器收到传入的连接 SYN 数据包时,可能会发生这种情况,但服务器的回复总是在网络的某个地方丢失。
我唯一有一个“ip_conntrack: table full”消息并且需要增加 ip_conntrack_max 的机器(而不是固定配置),其中路由器为相当大的网络(数千个端点)执行 NAT。
如果您知道需要 conntrack 并且它确实需要比实际更大,请增加数字直到您不再收到“表已满”消息。并观察内存使用情况。
可以在 /proc/slabinfo 文件中找到有关 conntrack 对象的内存分配的一些统计信息。
带有“netfilter”的路径是引用相同设置的旧方式。您可以编辑任一文件。
# cat /proc/sys/net/ipv4/ip_conntrack_max 655360 # cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max 655360 # echo 655361 > /proc/sys/net/ipv4/ip_conntrack_max # cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max 655361
| 归档时间: |
|
| 查看次数: |
19988 次 |
| 最近记录: |