使用しているDNSサーバーを確認するにはどうすればよいですか(Linuxの場合)。ネットワークマネージャーと大学のLANへの有線接続を使用しています(ドメインが解決されない理由を調べようとしています)

回答

次の場所で妥当な情報を取得できるはずです:

$ cat /etc/resolv.conf 

コメント

  • ただし、(最新のLinuxenでは)/etc/nsswitch.confの内容によって、使用されるネームサービス(DNS、LDAPなど)とその順序が決まることに注意してください。 fgrep hosts: /etc/nsswitch.confと言います。 DNSのみを参照している場合は、/etc/resolv.confがネームサーバーを探すのに適した場所です。ただし、’ mDNS(別名ZeroConf、別名Avahi、別名Bonjourなど)なども使用している可能性があります。その場合、状況はユーザーによって異なります’再利用しています。
  • このファイルは通常、Ubuntuでは127.0.1.1を指します。これは、実際のDNSキャッシュサーバーではなく、ローカルDNSキャッシュサーバーです。アップストリーム。
  • @BarryKellyルーターが何を使用しているかを確認してから、
  • 複数のアップストリームサーバーを構成している場合は?現在使用されているものを知る方法は?
  • さまざまな状況でのより堅牢なアプローチについては、@ G32RWまたは@Lonniebizによる回答を参照してください。 127.0.0.53

回答

のような回答が得られたら「私がそれを行う方法:

( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS 

このは上記の方法で以前に機能しました

nm-tool | grep DNS 

Debianでは、ネットワークマネージャーパッケージがインストールされています。

コメント

  • これは、 VPN を使用している場合に便利です。 NetworkManager /etc/resolv.confはマシンを指し、dnsmasq NetworkManager bによって設定された名前を解決します>。
  • Debianでは、これにはnetwork-managerパッケージが必要です。
  • nm-toolは新しいLinuxでは使用できません。たとえば、使用できません。 debian8の’ network-manager ‘パッケージ内。
  • I ‘回答を更新しては2016年に私のために働いています。
  • これが最良の答えです、resolve.confは常に真実を示すとは限りません

回答

systemdを実行しているシステムの場合:

systemd-resolve --status 

コメント

  • systemd-resolve:認識されないオプション’ -status ‘
  • 言いますFailed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
  • これは、Ubuntu 18.04 Bionic Beaverでこれを行うための新しいデフォルトの方法です-皆さん、慣れてください!
  • これが唯一の方法です他の人が127.0.0.53を返したので、私のために働いた解決策
  • 私は何を読んでいますか? DNSSECレコードしか表示されません。

回答

DNSをクエリすることもできると思いますが、何が表示されますかサーバーが結果を返しました。これを試してください:

dig yourserver.somedomain.xyz 

応答により、どのサーバーが結果を返したかがわかります。関心のある出力は次のようになります。

;; Query time: 91 msec ;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx) ;; WHEN: Tue Apr 02 09:03:41 EDT 2019 ;; MSG SIZE rcvd: 207 

digにクエリを実行するように指示することもできます。 dig @server_ip

コメント

  • Debianでは、dnsutilsパッケージ。
  • ローカルマシンで実行されているDNSマスキング/キャッシングサービスを使用すると、実際のDNSサーバーが非表示になります。
  • Ubuntu 18.04は、ローカルDNSキャッシュを表示するだけです:SERVER: 127.0.0.53#53(127.0.0.53)

回答

nslookup を実行するだけです。結果の一部には、使用しているサーバーが含まれます。

以下の例では、使用されているDNSサーバーが8.8.8.8にあることを示しています。

$ nslookup google.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 172.217.22.174 

コメント

  • プロンプトに入力する内容の例を教えてください。
  • 例:$ nslookup www.google.com
  • Debianでは、これにはdnsutilsパッケージが必要です。
  • 最近のUbuntuでは、このコメント
  • CentOSですでに示唆されているように、これもローカルキャッシュサーバー127.0.0.1を指しています。 7エラーで終了しますが、仮想マシンであるため、Windowsホストでnslookup google.comを実行し、ネームサーバーを見つけました。 /etc/resolv.confのようにnameserver xx.xx.xx.xxに追加し、サービスnetworkを再起動すれば問題ありません。あなたを称賛。

回答

新しいnetwork-managerコマンドnmcli、これを行います:

nmcli --fields ipv4.dns,ipv6.dns con show [connection_name] 

新しいバージョンのnetwork-manager(Ubuntu 16.04など)では、フィールド名わずかに異なります:

nmcli --fields ip4.dns,ip6.dns con show [connection_name] 

接続名がわからない場合は、次を使用してください:

nmcli -t --fields NAME con show --active 

たとえば、古いバージョンのnmcliの場合:

$ nmcli --fields ip4.dns,ip6.dns con show "Wired connection 1" IP4.DNS[1]: 172.21.0.13 IP4.DNS[2]: 172.21.0.4 

コメント

  • 私の結果:order «con» «show» is not valid
  • Ubuntu15.10のnetwork-manager1.0.4で問題なく動作します。古いバージョンを使用している可能性がありますか?
  • 表形式はかなり悪いです。Powershellに似た形式のような列を取得したいと思っています。
  • 戻り値Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
  • 単にnmcliはubuntu19.04で必要なすべてでした

回答

最初のDNSサーバー(IPのみ):

  • catはDNS構成を出力します
  • grepフィルターのみネームサーバー
  • headは最初の行/インスタンスのみを保持します
  • cut ipを取得します行の一部(区切り文字として「」が付いた2番目の列)

DNS ipを環境変数に入れるには、次のように使用できます。

export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i "^nameserver"|head -n1|cut -d " " -f2) 

コメント

  • grep -m 1は最初の一致後に一致を停止するため、’ head
  • を使用する必要はありません

  • パイプラインをさらに軽量化するには、Perl regexpを使用したキャプチャグループが非常に優れており、grepはファイルを取得します引数:grep -Pom 1 '^nameserver \K\S+' /etc/resolv.confグループをgrepperl正規表現でキャプチャ
  • ‘のIPv4とIPv6DNSサーバー。また、セカンダリサーバーが存在するのには理由があります。このコマンドが返すのはどれですか?最初のものを取り、他のものは無視することをお勧めしますか?

回答

使用している場合ネットワークマネージャーは、おそらく大学のdhcpサーバーからすべてのネットワークパラメーターを取得します。

シェルを使用してDNS設定を確認したくない場合は(hesseとAlexiosで説明されています)、それらを確認できます。パネル「ネットワーク情報」から。

ネットワークマネージャアイコン上でマウスの右ボタンを押し、メニューから「接続情報」を選択すると、このパネルにアクセスできます。

回答

互換性のために、systemd-resolveは、多くのディストリビューションのresolvectlへのシンボリックリンクです。 Ubuntu 18.10の場合:

$ type -a systemd-resolve systemd-resolve is /usr/bin/systemd-resolve $ ll /usr/bin/systemd-resolve lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl $ type -a resolvectl resolvectl is /usr/bin/resolvectl $ file /usr/bin/resolvectl /usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped 

コメント

  • Ubuntu18.10で完全に機能します。

回答

フィードしましたora 25であり、コマンドラインでsudoコマンドと同様の応答が遅い。

nmcli dev show | grep DNS 

は、3つのアダプターのうち1つ(アクティブな2つ)だけがDNSエントリを持っていることを示しました。エントリがなかった1つのアクティブなカードにDNSエントリを追加することにより、「presto!すべてが良好で、応答時間は即時になります。

コメント

  • おそらく代わりに

回答

Ubuntuの場合> = 15

nmcli device show <interfacename> | grep IP4.DNS 

<interfacename>を自分のものに置き換えます。

Ubuntuの場合< = 14

コマンド

 nmcli dev list iface <interfacename> | grep IP4 

<interfacename>を自分のものに置き換えます。

 nmcli device show eth0 | grep IP4.DNS 

または

 nmcli dev list iface eth0 | grep IP4 

これにより、すべてのDNSサーバーが一覧表示されます( 1)。

コメント

  • nmcli dev list iface [devicename]が正しいコマンドです
  • I ‘ <インターフェース>は、 >
  • Debianでエラーが発生します— $ nmcli dev li st iface eth0エラー:’ dev ‘コマンド’ list ‘は無効です。
  • nmcliはRH固有のコマンドです。
  • これは正解です!

回答

最近のFedora33では、

# resolvectl dns Global: Link 2 (enp0s31f6): Link 3 (wlp4s0): 1.1.1.1 8.8.8.8 Link 4 (virbr0): Link 5 (virbr0-nic): 

を使用してsystemd-resolvedがアクティブな場合は、cat /etc/resolv.confを実行します。ファイルを制御しているユーザーが表示されます。

詳細が必要な場合は、 resolvectl status resolvectl statisticsを使用でき、キャッシュをフラッシュすることもできます…

トラブルシューティングを行うには、レベルをDEBUGに設定した後にjournalctl -u systemd-resolved -f -o cat | grep Lookingを使用できます:sudo resolvectl log-level debug

回答

CentOSでは、次を使用できます:

/usr/sbin/named -v 

回答

systemd-resolvedがインストールされていないシステムの場合:

 $ host -v something.unknown | awk -F "[ #]" "/Received /{print$5}" | uniq 192.168.1.1  

NetworkManagerが実行されているシステムの場合:

$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk "/DNS/{print$NF}" 192.168.1.1 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です