現在、私の/etc/resolv.confは次のようになっています。
# Generated by NetworkManager
nameserver 10.165.246.33
nameserver 192.135.82.60
nameserver 10.165.74.2
最初の2つのネームサーバーはDHCPを介して自動的に構成されます。最後の1つは、NetworkManagerで手動で追加したものです。内部ドメイン名(build-server-17.our-company-domain.com
など)を解決するため、これも最も重要です。
問題は、NetworkManagerがそれを/etc/resolv.conf
の-bottomに追加するため、イントラネットURLにアクセスすると、ブラウザーが最初の2つのサーバーを使用してそれを解決しようとし、時間がかかることです。
NetworkManagerが手動で構成されたDNSサーバーを追加するにはどうすればよいですかbefore自動構成されたDNSサーバーですか?
具体的にどのシステムに対応するかわかりませんが、resolvconf
を使用している場合は、rootとして以下を試してください(su -
またはSudo -i
):
echo 'nameserver 10.165.74.2' >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u
そのファイルには、手動での変更が上書きされることを示す警告があります。ただし、コンテキストでは、メッセージは/etc/resolv.conf
ではなく/etc/resolvconf/resolv.conf.d/head
に適用されます。
これにより、目的のネームサーバーがリストの最初に配置されます。もちろん、これがオペレーティングシステムで機能する場合は、NetworkManagerから10.165.74.2を削除できます。
ローカルリゾルバdnsmasq
も、優れた前進経路です。 dnsmasq
を使用すると、DNSとDHCPをはるかに制御できます。たとえば、このシナリオでは、dnsmasq
は、server
オプションを使用して、指定されたドメイン名に基づいて特定のネームサーバーにクエリを実行できます。以下の目的に関連するdnsmasq.conf
のスニペットをご覧ください。
# Add other name servers here, with domain specs if they are for
# non-public domains.
server=/our-company-domain.com/10.165.74.2
更新
オペレーティングシステムについて言及いただきありがとうございます。 CentOS 7には多くの方法があります。 GUIで、[アプリケーション]> [システムツール]> [設定]> [ネットワーク]をクリックします。構成する接続を選択します。
自動DNSをオフにし、ネームサーバーを指定します。構成を適用します。
次回NetworkManagerがその接続を開始するときに、カスタム値を書き込みます。 (テスト中、2つのネットワーク接続があったため、ネットワークをオフにしてから再びオンにしました。)
documentation によれば、
- NetworkManager nmtui用のシンプルなcursesベースのテキストユーザーインターフェイス(TUI)が利用可能です。
- コマンドラインツールnmcliは、ユーザーとスクリプトがNetworkManagerと対話できるようにするために提供されています。 nmcliは、サーバーなどのGUIのないシステムでNetworkManagerのすべての側面を制御するために使用できることに注意してください。 GUIツールと同等の立場にあります。
特に、nmcli
documentation は非常によく見えました。
誤って重複した質問を作成しました here 。答えはそこにありますが、基本的には次のものを作成する必要があります。
/etc/dhcp/dhclient.conf
まだ存在しない場合は、次を追加します。
prepend domain-name-servers [ip address of server];
最後のセミコロンを忘れないでください!
その後、単に再起動すると、「/ etc/resolv.conf」の「nameserver [サーバーのIPアドレス]」行が自動的に先頭に移動しました。
別の方法があります。NetworkManager.serviceをオフにする必要はありません。 ifcfg-ideviceを設定するだけです:
PEERDNS=no
DNS1=10.165.74.2
DNS2=OTHERDNS
DOMAIN=DEMO.COM
次のように/etc/NetworkManager/NetworkManager.confを設定する必要はありません。
[main]
dns=none