
時々、LAN がホスト名の解決を停止します。なぜこれが起こるのかわかりません。どうすればこれらの問題を診断できますか?
ルーターは 2 台あります。1 台はインターネットに接続されています (ファイバー モデム経由)。もう 1 台はワイヤレス スイッチとして設定されています。つまり、最初のルーター経由でインターネットを提供しますが、別の部屋にあり、その部屋のコンピューターへのイーサネット接続に使用されます。
この問題は、最初のルーター (または他の何か) から発生しているようです。スイッチ ルーター、またはネットワーク全体の構成に問題があるとは考えられません。これは、http://home
インターネットに接続されたルーターのルーター構成にアクセスするには、通常、入力するのですが、これが機能しないためです。ただし、IP アドレスを入力して構成ページにアクセスすることはできます。これは、元のルーターに接続している場合でも、スイッチ ルーターに接続している場合でも発生します。
同様に、LAN 上に Web サーバーがあり、通常はコンピューターのホスト名を使用してアクセスしますが、これはネットワーク経由では実行できません (ただし、この場合も IP アドレスは機能します)。
同様に、ネットワーク上の IP アドレスを ping することはできますが、ホスト名は機能しません。
これをどうやって修正するか、そもそもどう修正するかはわかりません。通常はルーターなどを再起動すると元に戻ります。しかし今回は戻ってこなかったので、なぜこのようなことが起こるのか、もう少し詳しく知りたいと思っています。
答え1
提供された情報によると、まずルーターの DNS サービスが実際に動作しているかどうかを判断する必要があります。ルーターの設定を調べてサービスが稼働しているかどうかを確認すれば、これを判断できるはずですが、役立つ指標がない場合は、ポートスキャンに頼ることができます。
ルーターから DNS が有効であると通知された場合は、このセクションをスキップしてください。
次のようなツールを使用するナンマップ標準的な Linux ディストリビューション (Debian、Ubuntu、CentOS、Mint、Fedora、Redhat など) のほとんどのデフォルト パッケージ リポジトリに含まれているため、Linux サーバーにすぐにダウンロードできます。Debian ベースのディストリビューションを実行しているか、RPM ベースのディストリビューションを実行しているかによって、コマンド構文が異なる場合があります。
Debian の場合:
- 検索対象
nmap
:sudo apt-cache search nmap
- インストールするには
nmap
:sudo apt-get install nmap
- 検索対象
RPM (Fedora、Centos、RedHat など) の場合:
dnf search nmap
dnf install nmap
(以前のバージョンでは
dnf
:)yum search nmap
yum install nmap
DNSをスキャンする
ルーターの IP が であると仮定すると、ポート 53 ( ) でアグレッシブ解決 ( ) を使用して192.168.1.1
サービス UDP スキャン ( ) を実行し、ルーターが稼働しているかどうかを確認します。-sU
-p53
-A
nmap -sU -p53 -A 192.168.1.1
サービスが復旧すれば開く|フィルターなし、それで大丈夫です。閉まっているそれから、設定をもう少し調べて、DNS を再設定できるオプションがあるかどうか、またはルーターを再起動して復活できるかどうかを確認します。それでもダメなら、メーカーに電話して文句を言いまくってください。それでうまくいくこともあります :)
Windows ホストの構成:
手元のタスクに戻ります。ルーター上で DNS が実行中で正しく機能していることが確実であれば、Windows クライアントを動作させてみることをお勧めします。これは、Windows クライアントの方が少し単純で、頼りになる GUI があるためです。ルーターにフォールバック DNS を設定することをお勧めします。これにより、1 つの DNS サーバーに障害が発生した場合に複数の DNS サーバーにクエリを実行できます。
私のお気に入り:
8.8.8.8
Google 1は8.8.4.4
Google 2は208.67.220.220
OpenDNS 1 です208.67.222.222
OpenDNS 2は
それが完了したら、次のステップは、TCP/IPv4 ネットワーク設定で手動で構成して、Windows システムでルーターの DNS を解決できるかどうかを確認することです。
- タスクバーの右下にあるネットワーク アイコンを右クリックし、 に進みます
Networking and Sharing Center
。 - ネットワーク インターフェイス (
ethernet 1
または類似のもの) をクリックし、 に移動しますproperties
。 -
もう一度クリックし
Internet Protocol Version 4 (TCP/IPv4)
てヒットすると、properties
- ラジアルボタンをクリックして
User the following DNS server addresses
、 - 優先DNSとしてルータ/DNSサーバーのIPを入力します。
8.8.8.8
代替DNSとして(GoogleのパブリックDNS)を入力してください(フォールバック用)Validate Settings
退出時に確認- 適用するにはクリックし
OK
、ネットワークインターフェースのトラブルシューティング/再起動を待ちます。
この時点で、Windows システムで DNS ホスト名を解決できるはずです。解決できる場合は、何らかの理由でルーターの DHCP サービスが正しい設定をブロードキャストしていないことがわかっています。製造元に問い合わせるか、自分で調整して何か解決できることを期待する必要があります。必ずドキュメントを参照してください。
一方、動作しない場合は、ケーブル自体またはルーターのハードウェアに問題があると思われます。この時点では、物理デバイスの交換を開始する以外にできることはあまりありません。
Linux サーバーの構成:
(権限エラーが発生した場合は、root
/ユーザーからこれらのコマンドを実行する必要がある場合があります。)sudo
Linux の経験があまりない場合、これはおそらく新しい冒険になるでしょうが、心配する必要はありません。
まず、次/etc/resolv.conf
のファイルを確認します。
cat /etc/resolv.conf
このファイルでは、ネームサーバー、ドメイン名、検索ドメインが設定されます。通常は次のようになります。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
設定内容に応じて、2 つの可能性があります。1 つは、dnsmasq がインストールされていて、resolv.conf を変更しないように警告バナーが表示される場合です。この場合、私の設定と同じようにループバック (127.0.0.1 または 127.0.1.1) があり、dnsmasq を介して独自の DNS サービスを実行していることを示します。これが表示された場合は、以下を実行します。
/etc/init.d/dnsmasq status
と表示されたらNo such file or directory
、dnsmasq はインストールされていませんが、問題ありません。インストールせずに先に進むか、
apt-get install dnsmasq
(またはdnf install dnsmasq
) を使用してすぐにインストールできます。
dnsmasq をインストール/再起動しない場合は、/etc/resolv.conf
お気に入りのテキスト エディター (私は を推奨しますnano
) を使用してファイルを編集し、次の行を追加します。
nameserver 192.168.1.1 8.8.8.8 8.8.4.4 # That's your router and two fallback DNS servers
dnsmasq のステータスが Active/Running になっている場合は、正常にインストールされ、実行されています。dnsmasq が非アクティブ/停止している場合は、次のように起動する必要があります。
/etc/init.d/dnsmasq start
dnsmasqは通常、/etc/resolv.conf
ファイルを動的に変更することでDNS解決を処理します。リゾルバがリクエストを適切に処理していない場合、またはdnsmasqが適切に構成されていない場合は、次のことをよく読んでください。素敵なドキュメント。
ただし、実際に に対して確実に実施する必要がある設定は 2 つだけです/etc/dnsmasq.conf
。
server=/yourlocaldomain/192.168.1.1
local=/yourlocaldomain/
これらは、サーバーをローカル ドメイン名と DNS サーバーの IP に設定し、local=/yourlocaldomain/
解決しようとしているホストの FQDN にドメインが見つかった場合に、dnsmasq がアップストリーム ネームサーバーに解決しようとするのを防ぎます。
たとえば、この設定を行わずに を解決しようとすると
emailserver.localdomain
、dnsmasq は Google パブリック DNS にどこにあるかを尋ねますemailserver.localdomain
が、当然ながら「わかりません」という応答が返されます。
emailserver.**localdomain**
これを設定すると、dnsmasq は「 ... ここがどこにあるか尋ねる必要があります。」と言います192.168.1.1
。そして192.168.1.1
、ルーターは適切な DNS 応答と の IP で適切に応答できますemailserver.localdomain
。
この説明と長ったらしい解決策がお役に立てば幸いです。考えられるあらゆるシナリオを考慮しましたが、何か見落としがあったり、うまくいかないことがあればお知らせください。
答え2
LAN にあまり多くのコンピューターがない場合、または内部 DNS ルートに依存していない場合は、pv4 構成の DNS パラメータを次のように設定します。
8.8.8.8
そして
8.8.4.4
これにより、DNS 解決作業が Google のサーバーに渡されます。