はじめに
Mac OS XをUSBでテザリングしたときにDNSサーバを変更する方法を調べてみました。
OS XではDNS設定を「システム環境設定 > ネットワーク」から行うのですがUSBでテザリングしたときにはその項目がありませんでした。
どうやってやるのか調べてみました。
試してないですが恐らくBluetoothも一緒です。
ちなみにUNIX的なresolv.confを編集するとCUIでは利用できますが、ブラウザではresolv.confを見てくれません。注意が必要ですね
設定
設定などにはnetworksetup
というコマンドを利用します。
まずは以下のコマンドでネットワーク接続の一覧を取得します。
shell> networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Bluetooth DUN
(Hardware Port: Bluetooth DUN, Device: Bluetooth-Modem)
(2) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)
(3) iPhone USB
(Hardware Port: iPhone USB, Device: en4)
(4) Bluetooth PAN
(Hardware Port: Bluetooth PAN, Device: en3)
(5) Thunderbolt Bridge
(Hardware Port: Thunderbolt Bridge, Device: bridge0)
iPhoneをUSB接続したうえでテザリングにて接続してます。3の"iPhone USB"が接続名となります。
以下のようにすると"iPhone USB"の現在のDNSサーバが取得できます。
shell> sudo networksetup -getdnsservers "iPhone USB"
getdnsservers
をsetdnsservers
にすると設定できます
shell> sudo networksetup -setdnsservers "iPhone USB" 127.0.0.1
以上です。
目的
ローカルの開発環境構築のため、dnsmasqを導入してワイルドカードDNSを有効にしました。
その際に参照するDNSをローカルに向けたかったのでこの設定を行いました。
参考サイト