Linux Hints & Tipsだワン!
telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法telnetが出来ない場合の対処方法

49.telnetが出来ない場合の対処方法

導入後にtelnet-serverなどを導入しネットワークの設定を行う場合、設定の仕方によってはクライアント端末からのtelnetがうまくいかずにエラーとなってしまうことがあります。
インターネットで調べてもなかなか状況にマッチした内容を見つけることが難しく解決まで時間がかかってしまい、結局OSの再導入をしたり諦めてしまうケースもあるのではないでしょうか。全てのケースを経験したわけではないですが、解決のためのHintになればとおもい対処方法を紹介します。

よくあるケースとしてはvsftpやsshは接続できるがtelnetだけができないといったケースがある場合があります。telnetできない場合のエラーを紹介しますので類似のエラーで接続できない場合は試してみるとうまく行くかもしれません。

エラーケース1

getaddrinfo: localhost: Connection refused
Temporary failure in name resolution: Illegal seek
Connection closed by foreign host.

エラーケース2

getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
Connection close by foreign host.

多少のエラー内容の違いはあるかもしれませんが、上記2種類に集約されると思います。

telnet-serverを動作させるための設定確認

 Step1

/etc/xinetd.d/telnetの設定
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
設定を変更しxinetdサービスを(再)起動します。

 Step2

xinetdサービスの起動と起動確認
# service xinetd restart
# ps -ef | grep [x]inetd
xinetdが表示されればOKです。
もしも表示されていない場合はxinetdの設定が間違っている可能性がありますので/etc/xinetd.confを確認しましょう

 Step3

chkconfigでtelnet設定が反映されているか確認
# chkconfig --list | grep telnet
telnet : on
telnet : onと表示されればOK

 Step4

ポート23がLISTENになっているか確認
# netstat -lnp | grep 23
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 337/xinetd
LISTENになっていない場合はxinetdとtelnet-serverが何らかの理由によりリンクされていない可能性がありますので、telnet-serverを一度削除して入れなおしてみると良いでしょう。

 Step5

SELINUXの有無
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
127.0.0.1   localhost

もしlocalhost以外のホスト名が帰ってくる場合は127.0.0.1と表示されたホスト名をひも付けます。
例えばホスト名がserverとしている場合は/etc/hostsの設定は次のようになります。
例)/etc/hosts
127.0.0.1   localhost  server

サーバのipaddressは固定IPアドレスである場合
hostsファイルが次のようになっているか確認しましょう。(ipaddressが192.168.0.1/ホスト名はserverの場合)
例)/etc/hosts
127.0.0.1  localhost
192.168.0.1 server

以上の確認が終了したらtelnetしてみましょう。
バグやその他の要因で間違いが無ければ7割がた解決すると思います。

telnetが出来ない場合の対処方法健闘を祈るだワン!


戻る
直線上に配置