DNSサーバーは192.168.1.152
です。
このDNSは、DHCPによってクライアントに提供されます。 LAN上のWindowsクライアントはそのDNSを使用して名前を適切に解決しますが、Ubuntu VMは解決しません。
VMはブリッジネットワーキングでセットアップされ、DNSサーバーに適切に提供されていますが、ローカルホスト名がnslookupまたはブラウザーによって解決されていません。
ローカルドメインの1つのnslookup
は次のとおりです。
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
DNSサーバーを使用して解決すべきことは次のとおりです。
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
/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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
そのコマンドを実行しました。 [DNSサーバー]の下で、紛らわしいことに、正しいサーバー(およびデフォルトゲートウェイ)を指定します。
root@ubuntu:~# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens33)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.152
192.168.1.1
ネットワークを変更すると解決できないため、構成ファイルにDNSサーバーのIPを「ハードコード」したくありません。
ResolvconfとNetworkManagerを自動的にに設定するにはどうすれば/etc/resolv.conf
にDHCPサーバーのIPを設定できますか?
/etc/systemd/resolved.conf
を編集して、目的のDNSサーバーを追加してみてください。
これを変更します:
[Resolve]
#DNS=
これに(ただし、必要なものを使用してください-これは例です):
[Resolve]
DNS=192.168.1.152
その後、サービスを再起動します。
service systemd-resolved restart
ステータスを確認すると、表示されるはずです
$ systemd-resolve --status
Global
DNS Servers: 192.168.1.152
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
一時的な回避策 DNS IPの変更があった場合、再設定する必要はありません:
Sudo rm -f /etc/resolv.conf
Sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
reboot
私はついにubuntu 17.10のこの問題の解決策を得ました。デフォルトでは、このバージョンのUbuntuはsystemd-resolved
を使用しますが、これは次のバージョンで安定することを期待しています。
ローカルsystemd解決キャッシュの代わりにカスタムDNSを使用するには、次の手順を実行します。
新しいネームサーバーを追加します。 /etc/systemd/resolved.conf
のファイルをsudoerとして編集します。ここで、DNSエントリをコメントアウトして、DNS [Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4
を配置しました
/etc/resolv.conf
への実際のシンボリックリンクをキャンセルする
Sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Sudo service systemd-resolved restart
Sudo systemctl restart networking
そして、追加したDNSによって提供された名前を掘ると、レコードが解決されたDig nexus.default.svc.cluster.mydomain
が表示されるはずです。
最後のステップは、mdns4_minimalの前にdnsを配置することにより、/etc/nsswitch.conf
の解像度の順序を更新することです。
hosts files dns mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] myhostname
私のために働いた解決策は 私のブログにここに投稿されました
Nanoエディターを使用してこれら2つのファイルを編集します
nano /etc/resolv.conf
nano /etc/resolvconf/resolv.conf.d/head
使用するDNSサーバーを追加します
nameserver 9.9.9.9
nameserver 127.0.0.1
その後、サービスを再起動します
service systemd-resolved restart
最終チェック:
cat /etc/resolv.conf
Nslookupを行う
nslookup google.com
私はこれを使用しただけで、自宅のラップトップの問題を修正しましたが、将来、ホームネットワークから離れると、プライマリとセカンダリのDNSサーバーがまだ自宅であるため、問題が発生することがわかりますLANアドレスを持つサーバー。
あなたの/etc/resolv.conf
は問題ではありません。 systemd-resolved
はデフォルトで未構成になっているため、すべての検索に失敗します。 Unconfigured vs A Reasonable Defaultについては、お気軽にご相談ください。
systemd-resolved
にネームサーバーを手動で追加します。 (以下のOlorinのコメントを編集して、mkdir
、正しいパス/etc
ではなく/lib
を追加して、システムの更新に耐えるようにします)
Sudo mkdir -p /etc/systemd/resolved.conf.d
Sudo nano /etc/systemd/resolved.conf.d/00-my-dns-server-is.conf
追加:
[Resolved]
Cache=yes
DNS=192.168.1.152
その後...
Sudo systemctl daemon-reload
systemd-resolved
はスマートですが、パッケージメンテナによって未構成であるため、パッケージメンテナが合理的なデフォルトを信じていないため、愚かに見えるだけです。 「djb way」として知られている13のインターネットルートサーバー、または10のopennicサーバーを配置できます: https://Pastebin.com/JBfYVVtG または3 namebenchで測定した最速のOpennicサーバー。 ISPネームサーバーももちろんです。プラスグーグル、確かに。 systemd-resolved
は問題ではありません。私は問題です。
私は、DHCPが提供するDNSサーバーとドメイン検索順序を置き換える機能を現在サポートしていないNetplanの問題を回避するスクリプトをまとめました。 Netplan yamlファイルを作成し、systemd-resolvedが期待どおりに動作するように構成します。
################## Start Netplan config (renderer: NetworkManager)
# Some useful commands for customisation
# NetConn=$(nmcli device show|grep GENERAL.CONNECTION|head -n1|awk '{print $2}')
# IP=$(nmcli device show|grep IP4.ADDRESS|head -n1|awk '{print $2}')
# GATEWAY=$(nmcli device show|grep IP4.GATEWAY|head -n1|awk '{print $2}')
# sed -i 's/renderer: networkd/renderer: NetworkManager/' //etc/netplan/01-netcfg.yaml
######################################
systemctl start NetworkManager
NIC=$(nmcli device show|grep GENERAL.DEVICE|head -n1|awk '{print $2}')
##### create Netplan yaml config file
cat >/etc/netplan/01-netcfg.yaml <<EOF
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: NetworkManager
ethernets:
EOF
echo " ${NIC}:" >> /etc/netplan/01-netcfg.yaml
cat >>/etc/netplan/01-netcfg.yaml <<EOF
dhcp4: yes
nameservers:
search: [abc.domain.edu, def.domain.edu]
addresses: [10.10.11.22, 10.10.11.23]
EOF
#work around DNS resolv bug
systemctl stop systemd-resolved
sed -i 's/#DNS=/DNS=10.10.11.22 10.10.11.23/' /etc/systemd/resolved.conf
sed -i 's/#Domains=/Domains=abc.domain.edu def.domain.edu' /etc/systemd/resolved.conf
systemctl start systemd-resolved
systemctl restart NetworkManager
netplan apply
reboot
############### End Netplan Config
私のシステムで悪いシンボリックリンクを見つけました:/etc/resolv.conf
は/run/systemd/resolve/stub-resolv.conf
を指すシンボリックリンクでした
このファイルには1行のみが含まれています。
nameserver 127.0.0.53#53
その結果、ローカルネットワークのDNSルックアップがしばしば欠落していました。
そこで、代わりに/etc/reolv.conf
が/run/systemd/resolve/resolv.conf
を指すように変更しました
そして正しく動作するようになりました。