ブラウザはもちろん、sshなどからもVPSにアクセス出来ない状態になっていたので、
仕方なく再起動してログを調べてみたところ
Sep 11 11:36:00 web1 kernel: Neighbour table overflow.
のようなログが出ていることを確認した。
googleで調べてみると、ログが出た原因は以下であることが判明しました。
Linux サーバーをゲートウェイとして実行すると、DNS (Domain Name System) に関連する特定の問題が発生します。カーネルは IP アドレスのマッピング・テーブル (ARP (Address Resolution Protocol) テーブル) を保持するように設計されていますが、エントリーの最大数が決まっており、大量のトラフィックには適していません。エントリーが最大数に達すると、ホストから DNS への問い合わせに対して Linux サーバーが応答しなくなります。クライアントが少ない場合には、そうしたしきい値に達することは稀ですが、このファイアウォールを経由するクライアントの数が 30 を超えると、問題が発生することになります。
このサイトにあるとおり、
echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1 echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2 echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
のようなコマンドを発行して再発しないようにしました。
なお、この設定を恒久的にする場合は、/etc/sysctl.conf に
net.ipv4.neigh.default.gc_thresh1 = 512 net.ipv4.neigh.default.gc_thresh2 = 2048 net.ipv4.neigh.default.gc_thresh3 = 4096
を追加するとよいです。