ミライハック
  • Home
  • Categories
  • About

>> Home / インフラ

iptablesがtable full状態になるとパケットがドロップされる

∵ Takayoshi Saito ∴ 2015-08-07 ∞ 3'

2012 10 14 17 00 54

Apacheのaccess_logが記録されない障害

LVS配下のWEBサーバーでiptablesを動かしていたのですが、秒間アクセス2000くらいからApacheのアクセスログが記録されないという障害に悩まされていました。LVS・Apacheともに正常に稼働していて、access_logも全部記録されないわけではなく一定の確率で記録されていませんでした。error_logにも原因と思われる兆候なし。いわゆるログロストが断続的に続いている状態で、Apacheのパフォーマンスチューニングやカーネルパラメータのチューニングも行ったのですが、原因の方が掴みきれずにいました。

/var/log/messagesに答えがありました

Apacheのログを見ていても原因が分からないならば、syslogの方はどうなんだろう?ということで、/var/log/messagesを見てみました。そうしたら、以下のログが出力されていました。

Sep  4 12:20:02 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:02 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:02 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:02 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:02 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: __ratelimit: 37 callbacks suppressed
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:05 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:12 api04 kernel: __ratelimit: 87 callbacks suppressed
Sep  4 12:20:12 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:12 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:12 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:13 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:13 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:13 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:13 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:13 api04 kernel: nf_conntrack: table full, dropping packet.
Sep  4 12:20:59 api04 kernel: possible SYN flooding on port 80. Sending cookies.
Sep  4 12:21:59 api04 kernel: possible SYN flooding on port 80. Sending cookies.
Sep  4 12:22:59 api04 kernel: possible SYN flooding on port 80. Sending cookies.

iptablesがtable full状態になっていた

nf_conntrack: table full, dropping packet.のエラーはiptablesにおいてトラッキングテーブルが溢れてパケットを破棄したことを示すようです。

http://d.hatena.ne.jp/hogem/20121126/1353939767 http://www.e-agency.co.jp/column/20121225.html

ほぼ恒常的に出続けていて、ロストしているログの件数にほぼ等しい数が出ています。カーネルパラメータ(/etc/sysctl.conf)に以下を追加してトラッキングテーブルを拡張しました。

net.netfilter.nf_conntrack_max = 100000 net.nf_conntrack_max = 100000

sysctl -pにて即時反映させています。この対応を行った以降は、パケットが破棄されたエラーは出力されなくなり、Apacheのログも正常に取得することが出来るようになりました。

新しいLinuxの教科書posted with カエレバ三宅 英明,大角 祐介 SBクリエイティブ 2017-06-08

Search

Categories
  • LInux
  • インターネット
  • インフラ
  • エッセイ
  • ゲーム
  • システム開発
  • セキュリティ
  • データサイエンス
  • 国際関係
  • 政治
  • 歴史
  • 社会学
  • 自己紹介
  • 行ってきた

Pages
  • 齊藤貴義
  • 職務経歴
  • スクレイピング・ハッキング・ラボ サポートページ
  • 『爆速開発を支えるClaude Code上級者テクニック』サポートページ

2026 © Takayoshi Saito | Twitter GitHub | Built on Zola