AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 432529
Accepted
Alexander Gladysh
Alexander Gladysh
Asked: 2012-09-28 03:34:05 +0800 CST2012-09-28 03:34:05 +0800 CST 2012-09-28 03:34:05 +0800 CST

dmesg 中的 nf_conntrack 投诉

  • 772

在调查有关 HTTP 服务器性能不佳的投诉时,我在我的 Xen XCP 主机的 dmesg 中发现了这些行,该主机包含带有所述服务器的来宾操作系统:

[11458852.811070] net_ratelimit: 321 回调抑制
[11458852.811075] nf_conntrack:表已满,正在丢弃数据包。
[11458852.819957] nf_conntrack:表已满,正在丢弃数据包。
[11458852.821083] nf_conntrack:表已满,正在丢弃数据包。
[11458852.822195] nf_conntrack:表已满,正在丢弃数据包。
[11458852.824987] nf_conntrack:表已满,正在丢弃数据包。
[11458852.825298] nf_conntrack:表已满,正在丢弃数据包。
[11458852.825891] nf_conntrack:表已满,正在丢弃数据包。
[11458852.826225] nf_conntrack:表已满,正在丢弃数据包。
[11458852.826234] nf_conntrack:表已满,正在丢弃数据包。
[11458852.826814] nf_conntrack:表已满,正在丢弃数据包。

抱怨每五秒重复一次(每次被抑制的回拨数量不同)。

这些症状意味着什么?那不好吗?有什么提示吗?

(请注意,这个问题比“如何解决 HTTP 服务器性能不佳的特定情况”更狭窄,所以我没有提供更多细节。)

附加信息:

$ uname -a
Linux MYHOST 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
没有可用的 LSB 模块。
经销商 ID:Ubuntu
描述:Ubuntu 12.04 LTS
发布:12.04
代号:精确

$ cat /proc/sys/net/netfilter/nf_conntrack_max
1548576

服务器的点击量约为 10M / 天。

更新:

Dom0 上的 iptables:

$ iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 23155 packets, 1390K bytes)
 pkts bytes target prot opt in out 源目的地         

Chain INPUT (policy ACCEPT 9 packets, 720 bytes)
 pkts bytes target prot opt in out 源目的地         

Chain OUTPUT (policy ACCEPT 27 packets, 1780 bytes)
 pkts bytes target prot opt in out 源目的地         

Chain POSTROUTING (policy ACCEPT 23173 packets, 1392K bytes)
 pkts bytes target prot opt in out 源目的地

$ iptables -L -v
Chain INPUT(策略接受 13976 个数据包,1015K 字节)
 pkts bytes target prot opt in out 源目的地         

Chain FORWARD(策略接受 241K 数据包,24M 字节)
 pkts bytes target prot opt in out 源目的地         

Chain OUTPUT (policy ACCEPT 13946 packets, 1119K bytes)
 pkts bytes target prot opt in out 源目的地

DomU 之一上的 iptables:

$ iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 53465 packets, 2825K bytes)
 pkts bytes target prot opt in out 源目的地         

Chain INPUT(策略接受 53466 个数据包,2825K 字节)
 pkts bytes target prot opt in out 源目的地         

Chain OUTPUT(策略接受 51527 个数据包,3091K 字节)
 pkts bytes target prot opt in out 源目的地         

Chain POSTROUTING (policy ACCEPT 51527 packets, 3091K bytes)
 pkts bytes target prot opt in out 源目的地

$ iptables -L -v
Chain INPUT(策略接受 539K 数据包,108M 字节)
 pkts bytes target prot opt in out 源目的地         

Chain FORWARD(策略接受 0 个数据包,0 字节)
 pkts bytes target prot opt in out 源目的地         

Chain OUTPUT (policy ACCEPT 459K packets, 116M bytes)
 pkts bytes target prot opt in out 源目的地
ubuntu
  • 2 2 个回答
  • 3114 Views

2 个回答

  • Voted
  1. Best Answer
    Alexander Janssen
    2012-10-04T04:34:55+08:002012-10-04T04:34:55+08:00

    我对这个有点好奇,并为你的症状找到了一个很好的解释。它们在nf_conntrack: table full - how the absence of rules can lead to unexpected behavior中有很好的描述。

    TL;DR:只要运行iptables -t nat -vnL就开始加载nf_conntrack模块,导致意外的状态防火墙。我还没有亲自验证这一点,你可以打赌我明天在工作中会做对的。

    解决方案:如果您不需要 NAT,因为无论如何您都在进行桥接,请卸载nf_conntrack_*模块和依赖于这些模块的所有其他依赖模块。完全禁用防火墙chkconfig ip[6]tables off也是一个好主意。

    如果您不想重启sudo ufw disable,可以按照这些说明禁用 Ubuntu 中的防火墙。

    • 4
  2. 200_success
    2012-10-01T17:18:19+08:002012-10-01T17:18:19+08:00

    Xen 必须通过 NAT 连接到您的 domU 服务器,而连接的绝对数量压倒了内核跟踪它们的能力。虽然您可以通过增加 来增加分配给跟踪连接的空间,但使用桥接网络而不是 NATnf_conntrack_max可能会更好。这样,domU 服务器就有了自己的虚拟以太网卡,完全避免了这个问题。

    • 3

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve