Mac OS XのターミナルからDNSサーバーを変更するにはどうすればよいですか? [DNSがVPNで正しく機能していないため、これが必要です。メイン接続にDNSを使用していることもあれば、VPNに指定されているDNSを使用していることもあります。
ターミナルからscutil
をインタラクティブに使用できます。 Sudo scutil
を実行して次のコマンドを実行し、必要に応じてDNSサーバーを入れ替えます。
> open > d.init > d.add ServerAddresses * 8.8.8.8 9.9.9.9 > set State:/ Network/Service/PRIMARY_SERVICE_ID/DNS >やめる
8.8.8.8
と9.9.9.9
を使用する代わりに、DNSサーバーを使用します。
唯一の問題は、これが再起動後も持続しないことです。永続的な変更が必要な場合は、 ncutil が必要です。新しいバージョンのOS Xで/etc/resolv.conf
を編集するだけでは不十分な理由は、configdがデータベースを使用して、他のアプリケーションが読み取った現在の設定の情報を格納するためです。特定のアプリケーションは引き続き読み取ります/etc/resolv.conf
(ホストなど)。ただし、すべてのアプリケーションに当てはまるわけではありません。
networksetup
を使用できます。
Sudo networksetup -setdnsservers <networkservice> DNS1, DNS2, DNS3
例(空港に接続している場合はGoogleのDNSサーバーを使用)
Sudo networksetup -setdnsservers AirPort 8.8.8.8 8.8.4.4
networksetup -listallnetworkservices
を実行すると、ネットワークサービスの名前を確認できます。おそらく「Wi-Fi」でしょう。
これは、[システム環境設定]の[ネットワーク設定]ペインで全体を編集する場合と同じなので、再起動しても保持されます。
Snow LeopardでDNSの問題が発生している可能性があります。これは、DNSサーバーへの注文の変更が照会されたときに発生します(質問 84144 )を参照)
Chealionの投稿に返信するのに十分なポイントがありませんが、それに追加するために、インターフェースのリストから始めます。
networksetup -listallnetworkservices
変更したいインターフェースを取得したら、以下を実行できます(私はWi-Fiを使用していますが、他のインターフェースも実行できます)
Sudo networksetup -setdnsservers Wi-Fi empty
Sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
Sudo killall -HUP mDNSResponder
上記の最初の行では、DNS設定を空にしてから、使用したいDNSサーバーを続け、DNSキャッシュを細かくクリアします
DNSの変更を確認するには、これを前後または直後に行うことができます。
scutil --dns | grep 'nameserver\[[0-9]*\]'
resolv.confはOSXでは動作しなくなりました。次のように、そのファイルの先頭に通知があります。
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
また、networksetup -listallnetworkservices
は、すべてのVPNインターフェースをリストするわけではありません。
Scutilを使用して適切なインターフェースをターゲットにする1つの方法を次に示します。1.ファイルを作成するcommands.txt
インタラクティブscutilツールのコマンドを使用します。例えば私の場合のパルスセキュアインターフェースの内容:
get State:/Network/Service/net.pulsesecure.Pulse.nc.main/DNS
d.add ServerAddresses * 8.8.8.8 9.9.9.9
set State:/Network/Service/net.pulsesecure.Pulse.nc.main/DNS
set
にはSudoが必要です)。Sudo scutil < commands.txt
あなたは/etc/resolv.confを編集することでそれを行うことができるはずです(resolv.confは再起動後にリセットされることに注意してください)、それが役立つことを願っています- http://developer.Apple.com/mac /library/documentation/Darwin/Reference/ManPages/man5/resolver.5.html