iptablesによるNATで転送量が多くなると何故か遅くなる

CentOS6

以下の様な感じで設定している設定がありました。普通のiptablesによるNAT設定です。

 

-A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 30000 -j DNAT --to-destination 192.168.0.2:22

-A POSTROUTING -d 192.168.0.2 -p tcp -m tcp --dport 22 -j SNAT --to-source 192.168.0.1

 

xxx.xxx.xxx.xxxの30000ポートにアクセスすると、192.168.0.2のポート22にNATする設定です。

 

 

■一定以上の転送量になると、急に遅くなる

一定以上の転送量が発生すると、急に転送量が減ってとにかく遅くなっていました。エラーが発生するわけでもなく、切断させるわけでもありません。

小さいサイズの転送であれば、特に問題なく疎通できるのです。

何度かサーバを再起動しましたが、同様の現象が発生していました。

 

■解決方法

とにかくyum updateを行って、iptablesを更新しました。アップデート後に再起動してみました。すると、なんとも治りました!!

 

というところで、kernel系のアップデートで治ったのだと思います。同様のことで悩んでいる方は、ぜひ一度アップデートしてみてください。