MacOSに/etc/resolv.confファイルを再生成させるにはどうすればよいですか?


6

Appleは、/etc/resolv.confファイルはMac OSによって管理されているため、再生成されることを明確に述べています。問題は、私がOpenVPNに参加したときにこれが起こらないようで、その結果nslookup、VPNを見るのに失敗するようなツールがあるように見えることです。

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain local
nameserver 192.168.1.1

MacOS(Sierra)にファイルを再生成させるには、どのコマンドを実行できるかを知る必要があります。

ご覧のとおり、私のファイルにはDNSサーバーの正しいリストが含まれていません。たとえばscutil --dns、OpenVPN DNSサーバーを含むDNSサーバーの長いリストを返します。

回答:


2

今日、解決策を見つけました。実際、ファイルは/etc/resolv.confMac OSにはありません。それは/var/run/resolv.conf

だからこれを行う:

sudo rm /etc/resolv.conf
sudo ln -s /var/run/resolv.conf /etc/resolv.conf

2

「システム環境設定」でネットワーク設定を変更すると、このファイルが作成/更新されます。「システム環境設定...」->ネットワーク->(アクティブなNICデバイスを選択)する必要があります

[ネットワーク]ダイアログで[詳細設定]を選択します。対応するダイアログタブで、TCP / IP、DNS、WINS、802.1X、プロキシ、ハードウェアを変更できます。OKでこのダイアログを閉じます。ここで、ネットワーク設定ダイアログで「適用」をクリックして、変更を永続的にする必要があります。(私にとって、それはトリッキーな部分でした)

また、resolv.confの場所を確認します。

➜  ~ ls -al /etc/resolv.conf 
lrwxr-xr-x  1 root  wheel  22 May  1  2017 /etc/resolv.conf -> ../var/run/resolv.conf

➜  ~ ls -al /var/run/resolv.conf
-rw-r--r--  1 root  daemon  303 Nov 27 09:27 /var/run/resolv.conf

➜  ~ cat /var/run/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
search example.com
nameserver 8.8.4.4
nameserver 8.8.8.8

編集:「/ etc」は「private / etc」へのシンボリックリンクであることに注意してください

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