49.telnetが出来ない場合の対処方法導入後にtelnet-serverなどを導入しネットワークの設定を行う場合、設定の仕方によってはクライアント端末からのtelnetがうまくいかずにエラーとなってしまうことがあります。インターネットで調べてもなかなか状況にマッチした内容を見つけることが難しく解決まで時間がかかってしまい、結局OSの再導入をしたり諦めてしまうケースもあるのではないでしょうか。全てのケースを経験したわけではないですが、解決のためのHintになればとおもい対処方法を紹介します。 よくあるケースとしてはvsftpやsshは接続できるがtelnetだけができないといったケースがある場合があります。telnetできない場合のエラーを紹介しますので類似のエラーで接続できない場合は試してみるとうまく行くかもしれません。 エラーケース1
エラーケース2
多少のエラー内容の違いはあるかもしれませんが、上記2種類に集約されると思います。 telnet-serverを動作させるための設定確認 Step1/etc/xinetd.d/telnetの設定
Step2xinetdサービスの起動と起動確認
もしも表示されていない場合はxinetdの設定が間違っている可能性がありますので/etc/xinetd.confを確認しましょう Step3chkconfigでtelnet設定が反映されているか確認
Step4ポート23がLISTENになっているか確認
Step5SELINUXの有無SELINUXが有効になっている場合は設定が複雑です。SELINUXが必要ない場合はDisableにしましょう。 どうしてもSELINUXを設定する必要がある場合はSELINUXでtelnetが有効になるよう定義します。ここは環境に合せて設定してください Step6ファイアウォールの有無iptablesでポート23がブロックされていないか確認します 次のStepとしてはサーバでローカルtelnetができるか確認します。ここで接続できる場合はサーバ側の設定はOKですのでクライアントから接続確認します。 クライアントからtelnetをして接続できる場合は全てOKなので確認はお終いです。クライアントからのみ接続できない場合はiptablesでブロックされている可能性が高いのでiptablesで一度フィルターをオフして接続してみましょう。OKであればiptablesの設定を見直します。 もしもNGの場合はエラーケース1またはエラーケース2に類似したエラーが出るはずなので次のケースを参考にhostsファイルを確認します。 サーバのipaddressはdhcpサーバからアドレスが付与されている場合 telnetサーバにホスト名がついているはずです。hostnameコマンドを実行してホスト名を確認します。もしlocalhostとなっている場合はhostsファイルにlocalhostにループバックアドレスがひも付けられているか確認します。 例)/etc/hosts
もしlocalhost以外のホスト名が帰ってくる場合は127.0.0.1と表示されたホスト名をひも付けます。 例えばホスト名がserverとしている場合は/etc/hostsの設定は次のようになります。 例)/etc/hosts
サーバのipaddressは固定IPアドレスである場合 hostsファイルが次のようになっているか確認しましょう。(ipaddressが192.168.0.1/ホスト名はserverの場合) 例)/etc/hosts
以上の確認が終了したらtelnetしてみましょう。 バグやその他の要因で間違いが無ければ7割がた解決すると思います。 |