ネットワーク環境の設定を複数切り替えたいときがある
普段は(訳あって)ルータを DNS サーバにしているけれど、(ある事情で)いっときだけ GoogleDNS の「8.8.4.4」なんかにしたいときがある。大きく2つ方法がある。これはDNS以外でも、ある設定だけ(例えば、IPアドレスを自宅と職場で切り替えたい、など)を、1つのネットワークインターフェイスに対して、切り替えたいときにも応用できる。
2種類の方法について、詳しくは Apple のサポートページに書いてある
ネットワーク環境を使う (Mac OS X v10.6 以降) - Apple サポート
1つのネットワークインターフェイスに対して複数の設定を切り替えて使えない
上記サポートページによれば、こんな制限がある。
2 つのネットワークに同じインターフェイスを設定する
デフォルトの「自動」ネットワーク環境は、2 つの異なるネットワーク環境で同じネットワークインターフェイスを使うために 2 つの構成を持つようにはなっていません。たとえば、Ethernet ポート設定に対して、職場では手入力設定で利用して、自宅では DHCP を利用する場合、「自動」ネットワーク環境では、デフォルトの状態のネットワーク環境の切り替えを回避することが許可されません。ネットワーク環境を切り替える必要があります。
ちょっと解りにくいので実際の現象をメモ。
1つの「ネットワーク環境」設定の中では、同一ネットワークインターフェイス(Wi-Fiインターフェイスや Ethernetポートなど)に対して複数の設定を作って切り替えようとしてもできない。オンオフが両方に適用されてしまうから。これは仕様のようだ。
1つのネットワークインターフェイスに対して2種類以上の設定を切り替えて使いたい場合、システム環境設定 >> ネットワークの設定で「ネットワーク環境」を切り替えたい設定の数だけ作っておく必要がある。
メニューからネットワーク設定を切り替えられるのは便利
複数の「ネットワーク環境」を作っておくと、システム環境設定を開かなくても、メニューから直接複数のネットワーク設定を切り替えられるという利点がある。
注)「ネットワーク環境」の設定が 一つしかない場合は、メニューに「ネットワーク環境」が表示されない。
この方法だと
- システム環境設定 >> ネットワーク パネルを表示
- 設定を切り替え、
- 適用ボタンを押す
という手順を踏む必要がない。
現在設定されている DNS アドレスを知るには
Wi-Fi 接続の場合は、オプションを押しながらメニューバーの「Wi-Fi の状況」をクリックするとたいがいの情報は表示される。
ただ、DNS アドレスは表示されないんだな。知りたい場合は
- システム環境設定 >> ネットワーク >> 接続しているポートを選択 >> 詳細ボタン >> DNSのタブ を表示
- ターミナル.app を起動、以下のコマンドを実行
$ networksetup -listallnetworkservices ! ネットワークサービス名をリストアップ $ networksetup -getdnsservers "Wi-Fi" ! DNSアドレスを表示
の2通り。他にもあるかもしれないけど。
脱線するが、2を自動化したい場合は、
Geek Knowledge: (Linux等の)シェルスクリプトを Mac の Finder からダブルクリックで実行するには <ありがとうございます
こちらの方法がラク。こんなスマートな方法があったのね。自分は Automator が慣れているので、シェルを実行してクリップボードにコピー、スポットライトなんかにペースト、というのを作っていた。