synにackを返さない

ウェブの一部の画像が見えないことがあるというレポート。なんだろう。
apacheのログを参照、、おっと画像はログとってないんだった。取るように変更してしばらくチェックしていると、htmlに関してはログがあるけれども、そのページに含まれている画像やcssなど一部の部品に対応するログが記録されていない。

ってことはアプリケーションレベルではなくて、その下のレイヤか。
ということでtcpdumpで現象がでているアドレスからの通信をダンプしてみる。

すると、synを受け取ってるのに対応するackをウェブサーバが返してないことがわかりました。

どうやらちょっと前にTIME_WAITを減らすために追加したカーネルパラメタがよくないみたい。

net.ipv4.tcp_tw_recycle = 1

これです。
同一IPアドレスから短期間に同様のパケットを受け取ると、捨てちまうみたい。
Proxyを利用してアクセスしてくるのだとダメですね。

ってことでこの設定を外しました。が、外したら外したでこのパラメタをいれたことで解決していた問題が再発。そりゃそうだ。
うーんどうしよう。