最近、17.10にアップグレードしました。 Webサイトを参照しようとしたり、ドメインにpingしようとすると、サイトを解決できないというメッセージが表示されます。
network-admin
は/etc/resolv.conf
の内容がnameserver: 127.0.0.53
になるように表示します
これを8.8.8.8または208.67.222.222に変更すると、すべてが機能します。再起動するまで。
再起動または再開すると、ネームサーバーは127.0.0.53にリセットされます。
どうすれば永久にネームサーバーを動作するものに設定できますか?
Systemdファンの場合、systemd-resolve --status
を実行すると
Link 3 (wlo1)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
この質問のアドバイスに従えば- DNSは再起動後もリセットを続けます。Ubuntu17.1 -DNSはまだ解決に失敗します。
パッケージresolvconfをインストールできます。これにより、システム起動時に/etc/resolv.conf
が構築される方法が変更されます。
Sudo apt install resolvconf
その後、ファイル/etc/resolvconf/resolv.conf.d/tail
を作成または変更できます。このファイルにnameserver 8.8.8.8
という行を追加すると、ブート時に/run/resolvconf/resolv.conf
の最後にこの行が追加されます。 /etc/resolv.conf
は、このファイルへのシンボリックリンクになります。
LubuntuとKubuntu 18.04を使用しています。 2つの手順でDNSの問題を克服できました。
最初のステップ:unbound
をインストールし、systemd-resolved
を置き換えるように設定します GrégoireC shows- here .
Sudo systemctl disable systemd-resolved
Sudo systemctl stop systemd-resolved
Sudo systemctl enable unbound-resolvconf
Sudo systemctl enable unbound
リブート
ルートとしてファイル/etc/NetworkManager/NetworkManager.conf
を開きます
(Sudo leafpad /etc/NetworkManager/NetworkManager.conf
Lubuntu 18.04またはKubuntu 18.04でSudo_EDITOR=kate sudoedit /etc/NetworkManager/NetworkManager.conf
)
以下[main]
以下の行を入力します。
dns=unbound
再起動
2番目のステップ:再起動後も問題が解決しない場合(私の場合のように)、ファイルマネージャをルートとして起動し、/etc
、resolv.conf
を削除し、新しいresolv.conf
を作成します。空のままにして、OSを再起動します。私の場合、この再起動後、問題はなくなりました。
Kubuntu 18.04では、Dolphinをルートとして起動できないため、最初に/etc
に移動してそこからターミナルを開き、次にSudo su
と入力してEnterルートとして使用し、resolv.conf
コマンドでrm resolv.conf
を削除します。その後、デスクトップに新しい空のファイルを作成し、resolv.conf
という名前を付けて、そこからターミナルを開くことができます。 Sudo su
コマンドを使用して端末のルートモードに入り、デスクトップから新しいresolv.conf
をコマンド/etc
でcp resolv.conf /etc
にコピーします。
私がやろうとしなかったことを追加する必要があります2番目のステップunbound
をインストールする前に、次回インストールするときに、十分かどうかを確認します。
systemd
パラダイム内での作業は、リンク/デバイスにDNSを追加します
ubuntu 17.10 +を使用して、*.network
ファイルを追加します。
Sudo nano /lib/systemd/network/100-somecustom.network
:
100-somecustom.network(100は優先度に応じて任意の数にすることができ、.network
ファイル拡張子が必要です):
[Match]
Name=wlo1 # the device name here
[Network] # add multiple DNS
DNS=8.8.8.8
DNS=208.67.222.222
次に再起動します。
Sudo service systemd-networkd restart
以下もご覧ください。
netplan apply
次に確認してください:
systemd-resolve --status wlo1
情報ページinfo systemd.network
から:
/etc/systemd/network
に加えて、ドロップイン ".d"ディレクトリは/ lib/systemd/networkまたは/ run/systemd/networkディレクトリに配置されます。/etc内のドロップインファイルは、/ run内のファイルより優先され、次に、/ lib内のファイルよりも優先されます。これらのディレクトリのいずれかにあるドロップインファイルは、メインのnetdevファイルよりも優先されます。 (もちろん、/ runは一時的であり、/ usr/libはベンダー向けであるため、これらの場所のいずれかでドロップインを使用する必要はほとんどありません。)
別のアプローチでは、DNSStubListener
:で使用するためにdnsmasq
を無効にします
Sudo nano /etc/systemd/resolved.conf
:
#
DNSStubListener=false
関連する:
正しい解決策は、ギロチンで片頭痛を治そうとする代わりにsystemd-resolvedを修正することです。
適切に使用すれば、本当に素晴らしいツールです。
systemd-resolve --status
出力から判断すると...
Link 3 (wlo1) Current Scopes: LLMNR/IPv4 LLMNR/IPv6 LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no
...ネットワークマネージャツールは、インターフェイスごとのDNS設定をsystemd-resolvedに渡しません。
たとえば、最近のバージョンのNetworkManagerは、/etc/resolv.conf
が/run/systemd/resolve
内または/usr/lib/systemd/resolv.conf
を指すシンボリックリンクである場合、これを自動的に行います。または、systemd-resolvedの最新バージョンは、systemd-resolvedと通信するresolvconf
バイナリをインストールすることにより、歴史的なresolvconfインターフェイスとの互換性を保とうとします。
これらの2つのソリューションのいずれかを使用することをお勧めしますが、迅速で汚れたソリューションを探している場合、systemd-resolvedを設定してDNSサーバーをグローバルに使用することができます。
$ cat /etc/systemd/resolved.conf
<...>
[Resolve]
DNS=8.8.8.8 8.8.4.4
<...>
次に、systemd-resolved.service
を再起動するか、再起動します。
これは、インターフェイス構成でDNSレコードを変更する方法です。
$ vi /etc/netplan/50-cloud-init.yaml
ネームサーバーアドレスを変更します。以前は.4でしたが、その後.3に変更しました。
...
nameservers:
addresses:
- 192.168.1.3
...
構成を保存してから、構成を適用します。
$ Sudo netplan apply
その後、resolvectlサービスを再起動します。
$ Sudo systemctl restart systemd-resolved.service
注:サーバーを再起動しましたが、変更はそのまま残りました。 resolvctl dns
コマンドを使用して、dnsレコードを確認します。
少し遅れたかもしれませんが、私はこの問題に遭遇しました。組み込みのnetworkmanagerではなく、cliを使用してネットワーク設定を手動で構成したことを認める必要があります。 Ubuntu 18.04を実行します。
したがって、systemd.resolved.serviceを無効にしてから再度有効にした後、DNS構成がランダムに失われるというこの不安定な動作は解決されました。
systemctl disable systemd.resolved.service
reboot
再起動後:
systemctl enable systemd.resolved.service
reboot
私は比較的新鮮なLinuxユーザーですので、なぜこれが私にとってうまくいくのか、その方法と理由を説明できる人がいるに違いありませんが、他の人を助けることができれば言及する価値がありました。
NordVPNにいくつかの問題があったため、これに追加することにしました。
調査結果:
NordVPNは、接続時に/run/systemd/resolve/resolv.conf
DNS設定を設定します。
NordVPNは、切断時に/run/systemd/resolve/resolv.conf
からすべてのDNS設定を削除します。
これにより、DNSサーバーが機能しなくなります(1つのセットがないため)。
システムを再起動して、すべての設定に戻す必要があります。サービスの標準の再起動(Sudo systemctl restart systemd-resolved.service
)は機能しません。
これを回避するソリューション:
Sudo apt install resolvconf
/etc/resolvconf/resolv.conf.d/に移動します
cd /etc/resolvconf/resolv.conf.d/
Sudo nano tail
ネームサーバーを追加する
nameserver 1.1.1.1
nameserver 1.0.0.1
設定されている可能性のあるネームサーバーの次の場所を確認します。
/run/resolvconf/interface/original.resolvconf
/run/resolvconf/interface/systemd-resolved
/etc/resolvconf/resolv.conf.d/tail
/etc/resolvconf/resolv.conf.d/head
/etc/systemd/resolved.conf
/run/systemd/resolve/resolv.conf
/run/systemd/resolve/stub-resolv.conf
どのDNSサーバーが使用されているかをテストします。
nslookup google.com
Server: 1.1.1.1
Address: 1.1.1.1#53