Macの固定IP設定をターミナルからさくっとやる(Alfredワークフローあり)
■経緯
会社支給PCを自宅と会社で異なる固定IPとDNSサーバを使用する必要があり、GUIの設定は面倒だったため、コマンドラインで行うことにしました。
■設定したい値
下記は仮の値なので、自身の環境に読み替えてください。
自宅
会社
■事前準備
インターフェース名の確認
[PMAC226S ~]$ networksetup -listnetworkserviceorder An asterisk (*) denotes that a network service is disabled. (1) Bluetooth DUN (Hardware Port: Bluetooth DUN, Device: Bluetooth-Modem) (2) USB Ethernet (Hardware Port: USB Ethernet, Device: en3) (3) Wi-Fi (Hardware Port: Wi-Fi, Device: en0)
今回は(3)を使うので「Wi-Fi」を記憶します。
■構文
$ networksetup -setmanual "Wi-Fi" 固定IP サブネットマスク ルータのIP $ networksetup -setdnsservers "Wi-Fi" DNS① DNS②
■実行
[PMAC226S ~]$ networksetup -setmanual "Wi-Fi" 192.168.11.30 255.255.255.0 192.168.11.1 →パスワードを聞かれます。これでルータ、固定IPが設定されます。 [PMAC226S ~]$ networksetup -setdnsservers "Wi-Fi" 192.168.11.1 8.8.8.8 →再びパスワードを聞かれます。(聞かれなくする方法あれば、教えてほしい・・・)DNSの設定が変更されます。
■Alfredのワークフローにした
毎回ターミナル起動してこれ叩くと、GUIで設定するのと変わらんので。
※ 自分用でめちゃくちゃ雑ですが・・・ yasuaki-tahira/change-wifi
↑から「Change the Wi-Fi setting.alfredworkflow」を落としてAlfredに突っ込みます。
使い方
① まずはワークフローの設定画面で、スクリプトを自分の環境に合わせて修正します。
# 雑なのでいい感じにしてください。 if [ {query} = "home" ]; then # 自宅用の設定を入れる networksetup -setmanual "Wi-Fi" 192.168.11.30 255.255.255.0 192.168.11.1 networksetup -setdnsservers "Wi-Fi" 192.168.11.1 8.8.8.8 elif [ {query} = "office" ]; then # 会社用の設定を入れる networksetup -setmanual "Wi-Fi" 192.168.99.32 255.255.255.0 192.168.99.1 networksetup -setdnsservers "Wi-Fi" 192.168.40.2 192.168.50.5 fi
② Alfredを起動し「cn home」または「cn office」と入力してEnterでターミナルから叩くのと同様の結果となります!