T

telnet.exeのリトライ回数を制御できないか?

knockdを使ってクライアントマシンが接続するポートの順番を決めて、そのとおりにアクセスしてきたクライアントにだけssh経由の接続を許可しようとすると、Mac OS XやLinuxマシンをクライアントにした接続では問題ないのに、WindowsXPからのログインだけが成功するときと失敗するときがあって、あるときはWindowsファイアーウォールをオフにしたら繋がったり、またあるときはぜんぜん失敗ばかりだったり、とにかく安定しない。仕方がないので、ソケット通信をサポートするスクリプト言語ならなんでもいいので、そっちで接続すると、問題なくすべてのステージをクリアできる。

問題はtelnet.exeにあったようで、会社の同僚が調べたところ、telnet.exeは何回か接続をリトライするらしく、そのため例えば5回リトライするなら、最初のポートへの5回目の接続と次のポートの1回目の接続はたまたまうまくいくため、最初のステージ(knockdでは一回ごとの「ノック」をステージと呼ぶ)だけはクリアして、後は失敗していたのが判明した。つまりtelnetのリトライ回数を制御できないとどうやっても駄目らしい。じゃあなぜうまくいったときがあったのかが謎だ。

Posted by on 4月 14, 2008 in Linux, Windows

コメントを残す