resolv.confが上書きされるときにDNSを設定するにはどうすればよいですか?


279

オンラインで表示される情報のほとんどは編集するよう/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.1.1

127.0.1.1はのローカルインスタンスのようですdnsmasqdnsmasqドキュメントは、編集すると言います/etc/resolv.conf。カスタムネームサーバーを入れてみ/etc/resolv.conf.d/baseましたが/etc/resolv.conf、実行後に変更が反映されませんでしたsudo resolvconf -u

参考までに、接続ごとにDNSを変更したくはありません。特に指定がない限り、すべての接続に使用するデフォルトのDNS設定を設定します。

更新:

私はこの質問に自分で答えました:https : //unix.stackexchange.com/a/163506/67024

私はそれが最善の解決策だと思う:

  1. できます。
  2. 最小限の変更で済み、
  3. バイパスするのではなく、dnsmasqのDNSキャッシュと連携して動作します。

あなたの質問を更新するよりもあなたの質問に答える方が良いと思います...あなたがあなたの問題に与えた正しい答えを見つけるのがより簡単になるでしょう
フィリップガショー

ほとんどの回答はUbuntu指向であり、過度に複雑であるようです。NetworkManagerユーザーのための普遍的なソリューションは、単に追加することdns=noneです/etc/NetworkManager/NetworkManager.conf(詳細は以下の回答をご覧ください)。
スキッピールグラングロウ

この回答は、resolve.confが上書きされる理由を明らかにし、それを設定する方法を知っていると思います。
フォーマン

回答:


250

DNSネームサーバーを上書きしたい場合は、baseファイルに以下のような行を追加するだけですresolv.conf.d

$ sudo vim /etc/resolvconf/resolv.conf.d/base

次に、ネームサーバーリストを次のように配置します

nameserver 8.8.8.8
nameserver 8.8.4.4

最後に更新resolvconf

$ sudo resolvconf -u

マニュアルページをご覧にresolvconfなると、のさまざまなファイルが説明されています/etc/resolvconf/resolv.conf.d/

   /etc/resolvconf/resolv.conf.d/base
          File  containing  basic  resolver  information.  The lines in this 
          file are included in the resolver configuration file even when no
          interfaces are configured.

   /etc/resolvconf/resolv.conf.d/head
          File to be prepended to the dynamically generated resolver 
          configuration file.  Normally this is just a comment line.

   /etc/resolvconf/resolv.conf.d/tail
          File to be appended to the dynamically generated resolver 
          configuration file.  To append nothing, make this  an  empty  
          file.   This file is a good place to put a resolver options line 
          if one is needed, e.g.,

              options inet6

headファイルの上部に警告がありますが:

$ cat /etc/resolvconf/resolv.conf.d/head
# 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

この警告が存在するため、これらのファイルが作成されると、最終的にresolv.confこれらのファイルが作成に使用される結果ファイルに警告が働きます。そのnameserverため、baseファイルについて上記で説明した行をheadファイルにも簡単に追加できます。

参照資料


21
Ubuntu 14.04-ネームサーバーを配置しbaseて実行するresolvconf -uと、ネームサーバーはresolv.confに配置されませんでした -ネームサーバーを配置するとhead、それらは
-HorusKol

7
Ubuntu /run/resolvconf/interface/NetworkManager
14.04-次の

3
タイプnslookup google.comし、リストの最初のIPは新しいネームサーバーである必要があります。そうでない場合は、間違っていました
-frazras

6
Ubuntu 16.04:に/etc/resolvconf/resolv.conf.d/headのみ追加され、機能しませんbase。で確認nslookup google.com
Acumenus

3
最初に、resolvconfインストールする必要があります。を実行してインストールできsudo apt-get install resolvconfます。
MAChitgarha

79

この質問にも興味があり、@ simで提案された解決策を試しました。

テストするために、

nameserver 8.8.8.8

/etc/resolvconf/resolv.conf.d/base

nameserver 8.8.4.4

/etc/resolvconf/resolv.conf.d/head

次に、ネットワークを再起動しました

sudo service network-manager restart

結果は/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 8.8.4.4
nameserver 127.0.1.1

そしてnm-tooldnsserverとはしていると述べています

DNS:             208.67.222.222
DNS:             208.67.220.220

ルーターが提供するものです。一方、住所を掘ると、

;; Query time: 28 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)

私が正しいなら、私はこのすべてから結論づけます

  1. resolvonfは「ヘッド」部分のみを読み取ります。「ベース」部分はdnsmasqによって何らかの形で制御されます
  2. dnsserverは、dhcpによって提供されるサーバーに関係なく、実際には8.8.4.4に強制されますが、要求は常に8.8.4.4に送信されるため、dnsmasqによって提供されるキャッシュを失います。
  3. dnsmasqは、dhcpが提供するdnsserverのみを使用しています。

全体として、それは機能しますが、私はそれが求められた意図した結果だとは思いません。私が考えるより近い解決策は次のとおりです。編集

sudo vim /etc/dhcp/dhclient.conf

それから加えて

supersede domain-name-servers 8.8.8.8;

結果は次のとおりです。resolv.confには127.0.0.1のみが含まれます。これは、dnsmasqキャッシュが呼び出され、nm-toolが言うことを意味します。

DNS:             8.8.8.8

つまり、検索された名前がキャッシュにない場合、dhcpが提供するサーバーではなく、8.8.8.8で要求されます。

別の(おそらくより良い)オプションは、「supersede」の代わりに「prepend」を使用することです。このように、名前が8.8.8.8で解決されない場合、リクエストは他のサーバーにフォールバックします。実際、nm-toolは次のように述べています

DNS:             8.8.8.8    
DNS:             208.67.222.222
DNS:             208.67.220.220

4
NS構成にハッキングするよりもはるかに良い答えです。特に、dhcpが提供するものの前にサーバーを追加するオプション。新しい問題を作成することなく、問題を解決する完璧なバランスのようです!
スティーブミッドリー14年

2
ただのコマンドではなく、答えへの非常に多くの明快さと考え。
イガウラヴ14

3
ヨマン!「ドメイン名サーバーの置き換え8.8.8.8;」答えです
ジャック

nm-toolがnmcliに置き換えられたことに注目する価値があります
Fiddy

59

dnsmasq次の行を追加することで、使用するネームサーバーを変更できることがわかりました/etc/dnsmasq.conf

server=8.8.8.8
server=8.8.4.4

/etc/dnsmasq.confただし、dnsmasqパッケージによってインストールされるため、ファイルはありませんでしたが、Ubuntuにはdnsmasq-baseのみが付属しています。私は走りsudo apt-get install dnsmasq、次に編集し/etc/dnsmasq.confsudo service dnsmasq restartそしてsudo service network-manager restart

sudo tail -n 200 /var/log/syslogsyslog を実行しdnsmasqて、指定したネームサーバーが使用されていることを確認しました。

Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.8.8#53
Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.4.4#53

4
これがベストアンサーとしてマークされている理由があります...それは確かです!どうもありがとう!あなたが言及したすべてのステップの後、すべてがスムーズに機能するためにネットワークの再起動が必要になるかもしれないことを追加します(私にとっては... sudo service network-manager restart
クリントイーストウッド

3
Ubuntu 14.04サーバーでは、コールドブートの約半分の時間でURLを使用したインターネット接続はできませんが、IPアドレスは機能します。私はそれを修正しようとして無益に多くの時間を費やし、数ヶ月あきらめて、この解決策を見つけました。私もそれが最良の答えだと思います。
ネイトロックウッド

dnsmasqをインストールする必要があるのは興味深いことです。これにより実際にDNSが通常の状況で修正されましたが、VPN構成が完全に壊れました(VPN接続が失敗しました...)
PlasmaBinturong

22

静的IPの状況については、Ubuntu Server Guideがファイル/ etc / network / interfacesを変更するように指示しています。これは次のようになります。

iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10

8.8.8.8のように、必要なIPアドレス192.168.3.45 192.168.8.10を変更します

https://help.ubuntu.com/14.04/serverguide/serverguide.pdf 38ページ


これは確かに正しいように見えますが、どうすればresolv.confを再生成できますか?!
ジョエルバーガー

3
@JoelBerger ifdown eth0; ifup eth0
Dzamoノートン

17
  1. 「ネットワーク接続」を検索
  2. それを開く

                        ここに画像の説明を入力してください

  3. 次に、WiFiまたはイーサネット、または使用しているものを選択して、[編集]をクリックします。これが得られます:

                  ここに画像の説明を入力してください

  4. タブでipv4を選択します

  5. メソッドでのみアドレスを選択
  6. 以下にDNS名を入力して保存します

  7. できた


ただし、ネットワーク接続ごとにこれを行う必要があります。以前は、すべての接続のデフォルトを変更することができました。これは、私がここでやろうとしていたことです。
セアン・ヘイズ14年

2
わたしは、あなたを愛しています!このUIの設定は、sudoのとvimの混乱から私のお尻を保存: '(
ルーク

Mintを使用する(Ubuntu 14.04で)-しかし、KDEでもこれを見る-何らかの理由で、GUIネットワークマネージャーでDNSサーバーを設定しても、ターミナルで使用されるDNS設定に影響しません
-HorusKol

2
私見最高の答え。Ubuntu 14.04では、ホームネットワーク内のクライアントを認識しないDNS用の2つの外部IPアドレスを取得しました。有線接続の「自動(DHCP)」でメソッドを終了すると、ルーターのIPアドレスが既存のリストに追加されました。wlan0を介したワイヤレス接続の場合、それは機能しませんでしたが、「自動(DHCP)アドレスのみ」の方法で外部アドレスをルーターIPに置き換え、それでも機能しました。で変更を適用しsudo service network-manager restart、少し待って、で確認しnmcli d list | grep 'DNS\|IP-IFACE'ます。内部クライアントに名前でpingします。
RolfBly

13

まだ言及されていない迅速で汚れた回避策は、resolv.confファイルを編集した直後に不変フラグを設定することです。

$ sudo nano /etc/resolv.conf

これを追加して保存します。

nameserver 8.8.8.8

次に:

$ sudo chattr +i /etc/resolv.conf

これでうまくいくはずです。私も自分のシステムでこれを行います。


18
ソリューションにchattrが含まれる場合は、実際にはソリューションではありません。
ジェフジルサ16年

1
これは、何らかの理由で一時的にDNSを変更する必要があり、構成を変更したくないシステムで行うことです。恒久的な解決策として、私はそれをお勧めしません。
hochl

3
「迅速かつ汚い回避策」
ユーニスBensalah

10
これは汚れていません。よく知っていると考えてローカル設定を破壊するプログラムは汚れています。

11

LinuxでのDNS構成

LinuxでのDNSの使用は、インターネットドメインネームシステム(DNS)へのアクセスを提供するCライブラリの一連のルーチンを介し行われます。リゾルバー構成ファイル(resolv.conf)には、リゾルバールーチンがプロセスによって最初に呼び出されたときに読み取られる情報が含まれています。要するに、DNSを要求する各プロセス/etc/resolv.confはライブラリーを読み取ります。NSSはこの上に階層化され、によって構成され/etc/nsswitch.confます。

LinuxのDNS設定をファイルに配置されている/etc/resolv.conf しかし、自動的にDNSの設定ファイルを管理し、処理するために望んでいるプログラム/サービスの数があります/etc/resolv.conf。状況によっては、このファイルを自分で管理したい場合があります。DNSを管理する各プログラム/サービスには/etc/dnsmasq.conf(dnsmasqサービス用)などの独自の構成ファイルがあり、接続の変更時や他のイベントでDNS 構成を追加します...簡単な解決策はDNS構成ファイルをロックすることですがchattr +i /etc/resolv.conf、これはお勧めしません場合によっては、(dnsmasq / network-manager / resolvconf / etc。)のようなDNSを使用してすべてのプログラム/サービスを正しくセットアップすることをお勧めします

DNSの制御を取り戻す

resolv.confの制御を取り戻し、上書きされないようにするためのセットアップの完全なリストを以下に示します(resolv.conf以外の場所からDNSを無効化/セットアップする方法)。resolvconfはresolv.confから独立したプログラムであり、システム/構成によっては、ここにリストされているプログラムの1つまたは多くがない場合があります。

1. Resolvconf:

構成ファイル

cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4

構成を更新する

sudo resolvconf -u

resolvconfを無効にする

systemctl disable --now resolvconf.service 

2. Dnsmasqサービス:

構成ファイル

cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4

構成を更新する

sudo systemctl restart dnsmasq.service

3.ネットワークマネージャー:

構成ファイル

/etc/NetworkManager/*

DNSを無効にする

$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none

DNSを有効にする

$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default

[global-dns]
searches=example.com

[global-dns-domain-*]

解決されたサービスを使用する

$ cat /usr/lib/NetworkManager/conf.d/resolved.conf 
[main]
dns=systemd-resolved

resolvconfを使用する

$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf 
[main]
rc-manager=resolvconf

構成を更新する

systemctl restart NetworkManager.service

4.ネットワークインターフェイス:

構成ファイル

$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

構成を更新する

reboot

5. DHCPクライアント:

構成ファイル

$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

構成を更新する

reboot

6. Rdnssdサービス:

rdnssdを無効にする

systemctl disable --now rdnssd.service

7.解決されたサービス:

解決を無効にする

systemctl disable --now systemd-resolved.service

8. Netconfig:

構成ファイル

/etc/sysconfig/network/config

netconfigを無効にします

cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""

構成を更新する

reboot

DNSサーバーの設定

/etc/resolv.conf構成の例

#Cloudflare
nameserver 1.0.0.1

#Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4

#Cloudflare 
#nameserver 1.1.1.1

#Classic Config
#nameserver 192.168.1.1
#search lan

10

私の問題は少し異なり、ルーターのDNSサーバーをオーバーライドしたかったのです。Ubuntuからこのリンクを見つけました:https : //wiki.ubuntu.com/OverrideDNSServers

DHCPサーバーから提供されたDNS設定を上書きする場合は、開く

/etc/dhcp3/dhclient.conf

次の行を追加します。

supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

<dns_ip_address*>アイテムを適切なコンテンツに置き換えます。


これが私の問題を解決した答えです。
マイケル

パーフェクト。変更を有効にするには、sudoサービスネットワーキングの再起動を追加するだけです。
ニックTriantafillou

そのdhcp3フォルダがない場合はどうなりますか?Xubuntu 17.10を持っていますが、/etc/dhcp単純に移行しましたか?
プラズマビントゥロング

4

たぶん何かが足りないかもしれませんが、https://help.ubuntu.com/14.04/serverguide/network-configuration.htmlの設定手順に従って、あなたがすることは以下を更新することだけです。私はプロキシを実行していません-ファイアウォールとローカルDNSの背後にあるマシンだけです(例はGoogleを示していますが、必要なものに設定しています)。

nano /etc/network/interfaces

デフォルト:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
auto eth0
iface eth0 inet dhcp

更新しました:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
#iface eth0 inet dhcp
iface eth0 inet static
address x.x.x.x
netmask 255.255.255.0
gateway x.x.x.x

#nameservers
# you may not need dns-search
# I use it because I'm running this on a Windows network 
# so its useful to have
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

可能な場合は再起動します。


3

ファイルに追加dns-nameservers XXX.XXX.XXX.Xしてみてください/etc/networking/interfaces


投票するときにコメントを残してください。これは、で与えられた方法であり、手動、ページ38
Zook

1
言及されていないマニュアルでは、すべてのIPが1行で表示されます。この回答は、行を追加することを示唆しているようです。そして、なぜ最後の数字がたった1 X幅なのですか?私は、ほとんどの場合、非常に非公式で不確実な短いチャット形式の文章がダウン投票の@Zookを獲得したと思います。
シーズティマーマン

2

ここでの答えのいくつかはうまく機能します。しかし、私は手動でちょうど「適切」に設定し、設定ファイルを通過する必要があり、実際には満足しなかったDNSどの私はすでにオーバー受け付けておりDHCPとしますNetworkManager

少し掘り下げてみると、/etc/resolv.confファイルは実際にはリンクであり、を指していることに気付きました/run/systemd/resolve/stub-resolv.conf。いくつかの実験の後、/run/systemd/resolve/ディレクトリにresolv.confは、を介して受け取った設定がすでに含まれている別のファイルが含まれているように見えますDHCP。そのため、で構成ファイルを手動で上書き/作成する代わりに、ファイルを指すように/etc/再リンク/etc/resolv.confする/run/systemd/resolve/resolv.confだけで問題ありません。

# sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

これで、Gnomeのネットワークマネージャーからでも設定を編集できるようになります。:)

これが古いubuntuで動作するかどうかはわかりませんが、Ubuntu 17.10では動作します。


systemd-resolve --flush-cache元のリンクされたファイルを実行すると、明らかに切断され、上記の答えは元の機能を復元します
hafizhanindito

1

編集2016年5月6日

/etc/Network-Manager/system-connections/ディレクトリ内のシステム接続のすべての設定を更新するスクリプトを作成しました。個々の接続の編集に使用するGUIは、そのディレクトリ内の特定のファイルを編集します。このスクリプトはすべてのファイルを更新します-grepで設定されたdnsを持たない人を検索し、awkで設定します。

これらのファイルにsudoアクセスするにはアクセスが必要なので、このスクリプトを実行しsudoてから-ネットワークマネージャーを再起動します

#!/bin/bash
# Author: Serg Kolo
# Date: May 6, 2015
# Description: this script checks all settings for connections in 
# /etc/NetworkManager/system-connections/ , and if there's no custom
# dns set , this script sets it;
# NOTE: run sudo service network-manager restart after running this script

set -x

for file in /etc/NetworkManager/system-connections/* ; do
        grep 'dns=208.67.220.220;' "$file"  || ( awk '{print;if ($1=="[ipv4]"){getline; print "method=auto\ndns=208.67.220.
220;\nignore-auto-dns=true"}}' "$file" > .tmpfile && ( cat .tmpfile > "$file") )
done

動作中のスクリプト:

ここに画像の説明を入力してください

元の投稿 ここで何人かのユーザーはDNSが何らかの方法で制御されると指摘しましたdnsmasq。確かにそうです。私はやや小さな問題に直面しました。どのように変更したheadbody/etc/resolvconf/resolv.conf.dに関係なく、コンピューターは実際にはドメイン名でインターンにアクセスできませんでした-IPアドレスのみで動作します。

/etc/NetworkManager/NetworkManager.confファイルを編集しました。元々、それは言ってdns=dnsmasqいましたが、私はそれを次のように変更しましたdns=208.67.222.222。この方法でnm-toolは、208.67.222.222については言及していませんが、IPアドレスだけでなくドメイン名を使用できました。

ここに私の方法ですNetworkManager.confファイルは、今のようになります。

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
dns=208.67.222.222

[ifupdown]
managed=false

注:私の問題とこの解決策の詳細については、askubuntu.comの投稿を参照してください。

更新#1

今日大学から帰国して、私は自宅のWiFiに接続できないことを発見しました。少し調べてみるman NetworkManager.confdns=、in [main]は実際にはプラグイン用の行でdns=dnsmasqあることがわかりました。そのため、行は実際にNetworkManagerにdnsmasqプラグインを追加しているようです。

そのため、私のソリューションはまだ機能していましたが、期待どおりではありませんでした。以下はmanページからの抜粋です。

dns=plugin1,plugin2, ... List DNS plugin names separated by ','. 

DNSプラグインは、ローカルキャッシュネームサーバー機能(DNSクエリを高速化する)を提供し、それを使用するアプリケーションにDNSデータをプッシュするために使用されます。

そのため、設定によりdns=208.67.222.222、基本的にNetworkManagerがそのプラグインを使用できなくなりました。そうしないと、ローカルDNSサーバーを使用することになります(明らかに機能しません)。


1

2つの方法があります

方法1

使用するDNSサーバーheadは、下のファイルを更新することで変更できます。resolv.conf.d

$ echo 'nameserver 1.1.1.1' | sudo tee /etc/resolvconf/resolv.conf.d/base

そして、実行します

$ sudo resolvconf -u

上記resolv.confにより、/etcディレクトリに汎用ファイルが生成されます。すべての解決要求は、上記のネームサーバーに送信されます。解決しました。

ただし、これには意味があります。アドレス解決resolvconfを直接照会する1.1.1.1ために使用する場合、dnsmasqによって提供されるキャッシングの能力はなくなります。すべてのリクエストは1.1.1.1

方法2

上記のことを望まず、DNS解決にdnsmasqを使用する場合は、この回答を参照してください。答えはここで簡単に説明します。

次のコンテンツを/etc/dnsmasq.confファイルに追加します。

server = 1.1.1.1

次に、dnsmasqサービスを再起動します

$ sudo systemctl restart dnsmasq.service

物事はうまくいきます。解決しました。


0

DNSを変更する簡単な方法:

$ sudo nano /etc/network/interfaces

問題が発生した場合は、インストールしてnanoください:

$ sudo apt-get install nano -y

その後..

  1. これを見つけます: dns-nameservers
  2. 見つからない場合は、そこに入力してください
  3. 私はこのようにした: dns-nameservers 199.85.126.10 199.85.127.10

これが最善の方法であることを願っています。ちなみに、VPSでこのようにしたのです。


0

ルートで:

  1. にコメントdns=dnsmasqする/etc/NetworkManager/NetworkManager.conf
  2. supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;最後に追加/etc/dhcp/dhclient.conf
  3. sudo service network-manager restart

以下は、上記の変更を行います。

$ sudo sed -i 's/dns\x3Ddnsmasq/\x23dns\x3Ddnsmasq/' \
   /etc/NetworkManager/NetworkManager.conf

$ echo 'supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;' | \
   sudo tee --append /etc/dhcp/dhclient.conf

$ sudo service network-manager restart

7/10秒待って再起動プロセスを終了し、「nslookup nist.gov」で設定を確認します。Ubuntu LTS 14.04でうまく機能します。


0

NB:ほとんどの回答と同様に、これはNetworkManagerの使用を前提としています。しかし、他のほとんどの答えとは違って、それはの使用を前提としていないresolvconfdhclientまたは何か他のもの- (更新を参照)にもかかわらず、彼らは、引き継ぐことを注意してください。

この質問のビューの数を考えると、このことは非常に信じられないほどだ8つの文字に応じて:解決策はまだ投稿されていませんman NetworkManager.conf

dns:[…] none:NetworkManagerはresolv.confを変更しません。これは、rc-managerが管理対象外であることを意味します

したがって、追加

dns=none

[main]のセクション/etc/NetworkManager/NetworkManager.conf、その後にNetworkManagerを再起動し、それが変更されません/etc/resolv.confもう。

設定することに注意してくださいrc-manager=unmanagedと同等でなければならないdns=none、と設定することをrc-manager=symlink有するとともに/etc/resolv.confシンボリックリンクとしては(上記のマンページを読んで)より良いアイデアであってもよいです。

更新:

NetworkManagerが上書きを停止した後、ブート時にすでに/etc/resolv.conf不要な空のファイルにdhcpcd置き換え/etc/resolv.confられていると考えました。dhcpcd.confヘルプのマンページ、追加するだけで十分です

nohook resolv.conf

あなたのdhcpcd.conf(私のものはにある/etc/dhcpcd.conf)。


0

私のLinux centos7サーバーでは、このオプションを変更できる最良の方法は、

nmtui

ここのどの回答でも提案されていないコマンド。このツールでネームサーバーを編集できます。このユーティリティからnetworkmanagerのオプションを変更すると/etc/resolv.conf、リブート後に自動的に適用されます。ここで詳細情報を見つけることができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.