FreeBSD QandA 676

FreeBSD QandA

Q. telnet で login しようとすると login プロンプトが表示されるまで
   1分以上かかります。ping は正常に返ってきますし、マシンの負荷が
   高いわけでもありません。

A. FreeBSD の telnet は、ログをとるために telnet してきた端末の
   IP アドレスからホスト名を調べようとします。

   このとき、DNS による 名前の逆引きを正しくできず、タイムアウトする
   までに時間が掛かっていることが原因だと思われます。

   このような症状のときには DNS の設定をまず最初に疑うと良いでしょう。 
   相手側 (telnet を受ける側) のマシンで、 /etc/resolv.conf で指定
   している DNS server を使用して、こちら側のマシン (telnet を実行する
   マシン) の IP アドレスから hostname を、検索できるかを
     % nslookup "こちらのマシンのIPアドレス"
   で確認します。Server failed のようになってしまうのであれば、
   telnetd が DNS への検索にかかる時間の分 login プロンプトが
   表示されるまで待たされることになります。

   解決方法は、
      1.相手側から到達できる DNS サーバを 相手側の /etc/resolv.conf に記述する
      2.DNS を使用しないように 相手側の /etc/host.conf から bind を削除する、
      3.または、/etc/host.conf で、bind よりも、hosts を先に記述し、/etc/hosts
        ファイルに hostname と IP の対応表を記述しておく。
   などがあります。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。