リモートサーバに接続できない場合の telnet による原因切り分け方法
1) telnet host port して Escape character is ... と出た後、すぐ (あるいは少しして) 接続が切れる
→ 接続後 fork() 等で落ちている
→ サーバのメモリ不足やプロセスの無限増殖を疑う
2) telnet host port して Escape character is ... と出るが、その後何も起こらない
→ SYN_ACK が返ってきている
→ カーネルは生きている。ユーザーランドの負荷が極めて高い可能性
3) telnet host port して、すぐ connection refused と出る
→ RST が返ってきている
→ port が閉じている (サーバプロセスが落ちた?) か、または accept(2) していない
4) telnet host port して、しばらくたってから connectin refused と出る
→ RST が返ってきている
→ サーバプロセスは生きているが accept(2) していない
5) telnet host port して、Operation timed out と出る
→ パケットが返ってこない
→ カーネル毎死んでいる可能性が高い
(あるいはファイアウォールの設定をミスった)
一部適当。ツッコミ大歓迎。
3/26 追記: 4) 削除。詳細はコメント参照。