web-dev-qa-db-ja.com

Ubuntuはホスト名にpingできませんが、IPにpingできますか?

まあ、私はちょうど管理のためにUbuntuの世界に入りました。私は同様のスレッドを見つけましたが、自分のホスト名とIPアドレスをpingでき、ウィンドウはLinuxホスト名をpingできますが、UbuntuはWindowsホスト名をpingできません。

問題:

  • 4台のWindowsコンピューターと1台のUbuntuコンピューターがあります
  • Windowsコンピューターは、ホスト名とIPアドレスによってUbuntuコンピューターにpingを実行できます。また、ネットビュー(cmdプロンプト)にはUbuntuコンピューターのホスト名が表示されます。
  • Ubuntuコンピューターは、ホスト名ではなくIPアドレスのみでPingを実行できます。 Sambaもインストールしました。
  • Ubuntuコンピューターは、IPアドレスとホスト名でpingを実行できます
  • Arpコマンドを使用して、ネットワーク上のすべてのコンピューターIPを表示しますが、IPアドレスのみが表示されます。

Windowsコンピューターにホスト名ではなくIPアドレスでのみpingできるのはどうしてですか?しかし、UbuntuはIPアドレスとホスト名で自分自身にpingを実行でき、Windowsコンピューターもホスト名でUbuntuにpingを実行できますか?

14
user2805313

ここで説明する問題は、DNSとはまったく関係ない場合があります。

Windowsは、標準DNS以外のメカニズム(NetBIOSルックアップ、WINSなど)を介してWindowsホスト名をIPに解決できることを知っている必要があります。

あなたがあなたのUbuntuにSambaをインストールしたと言ったように、これはおそらく起こっていることです。すべてのWindowsマシン上で、Windowsの名前をそのIPアドレスに解決することができます。 SambaがUbunutにインストールされているため、Windows PCの場合、Ubuntu PCはWindows PCとして認識され、同じ解像度が可能です。

Windowsでnet viewを実行すると、Ubuntu PCが表示されるため、NetBIOS名はネットワーク上で公開されているため、Windowsから機能します。

UbuntuでWindowsと同じ動作を実現するには、追加のソフトウェアをインストールして構成する必要があります。必要なのは、UbuntuがNetBIOS名をIPに変換できるようにするルックアップライブラリを追加することです。このライブラリはlibnss-winbindパッケージに含まれています。

他のUbuntuパッケージと同様に、Sudo apt-get install libnss-winbindを実行してインストールします。ライブラリがすでにインストールされている場合、dpkg -l|grep libnss-winbindを実行してライブラリの存在を確認できます。

ライブラリをインストールしたら、/etc/nsswitch.confファイルでライブラリを有効にする必要があります。このファイルはNSSの構成ファイル( Name Service Switch )であり、Linuxがホスト名、ユーザー名、グループ名などを解決できるソースを定義します。
このファイルには、hosts:で始まる行が既にあります。おそらく次のようになります。

hosts:          files dns

これにより、最初に/etc/hostsファイルを調べてから、構成済みのDNSを調べてホスト名を解決するようにシステムに指示します。
この方法で修正する必要があります。

hosts:          files dns wins

単語filesdns、およびwinsの順序が重要であることに注意してください。最初に、システムは解決のためにローカルファイルをチェックし、次にDNSサーバーに要求し、最後に、まだ見つからない場合はNetBIOSルックアップを実行します。

これが更新されたら、正しく機能するには、winbindサービスを実行する必要もあります。それを含むパッケージはlibnss-winbindの依存関係であるため、それに沿ってインストールされています。
それを有効にするにはservice winbind startを実行します。

22
Benoit

ホスト名からIPへの変換は、次の場合に発生する可能性があります。

-/ etc/hostsファイルで宣言します(推奨されません)

-DNSサーバーから取得します。

ネットワークインターフェイスの構成にDNSサーバーがないか、Windowsボックスが使用していないものを使用していることが問題であると言えます。 DHCPインターフェイス構成を使用する場合、DNS構成が最も頻繁に含まれます。また、ネットワークにWindowsドメインサーバーがある場合は、おそらくそれをプライマリDNSとして使用します。

試行:コマンドラインで「nslookup some_machine_name」を実行して、何が起こるかを確認します。使用しているサーバーがある場合は、それが通知されます。

HTH

0
Pyrophorus