MacOS のWiFi設定をnetworksetup コマンドで行う。
過去にも何度もエントリにしたり、まとめてるんだけど、全然覚えられないし、逆引きとして自分のブログがヒットしないし、ブログ内検索でもマッチしないので、書き直します。 networksetup コマンドはわかりにくいと思う。本当にわかりにくい。
イベントのお手伝いでネットワークの構築に言ったときに設定をアレコレするのに、環境設定から手作業で何度もやり直すのがめんどくさかったし、コマンドと履歴で呼び出せるようにしたい。
無線LANに静的にIPを割り当てる
networksetup -setmanual Wi-Fi 192.168.2.220 255.255.0.0
有線LAN(wired)に静的なDNS IPアドレスを割り振る
networksetup -setdnsservers 'AX88179 USB 3.0 to Gigabit Ethernet' 1.1.1.1
有線LAN・無線LANをコマンドで処理するときの指定名を調べる。
networksetupで指定するインターフェース名はどこので調べるのか。
最初の例の名前をどうやって取得するのか
takuya@~$ networksetup -listallnetworkservices An asterisk (*) denotes that a network service is disabled. PPPoE Wi-Fi USB 10/100/1000 LAN AX88179 USB 3.0 to Gigabit Ethernet iPad USB iPhone USB 2 Bluetooth PAN Thunderboltブリッジ Thunderbolt ブリッジ
ハードウェアの名前と一致を調べる。
takuya@~$ networksetup -listallhardwareports Hardware Port: Wi-Fi Device: en0 Ethernet Address: f0:18:98:11:3e:90 (略 VLAN Configurations ===================
指定したSSIDに接続する
networksetup -setairportnetwork en0 nsc_staff
WiFi の接続を切断し再接続する。
networksetup -setnetworkserviceenabled Wi-Fi off networksetup -setnetworkserviceenabled Wi-Fi on
切断するとこういう感じ
WiFi の接続を切断し、別のSSIDに接続する
networksetup -setnetworkserviceenabled Wi-Fi off networksetup -setnetworkserviceenabled Wi-Fi on networksetup -setairportnetwork en0 nsc_staff
デフォルト・ルートを書き換える
ip route del default ip route add default via 172.16.1.253
WiFi 電源OFFにして再起動する。
networksetup -setairportpower en0 off networksetup -setairportpower en0 on
電源OFFと接続切断は混同しやすいので特に注意が必要。iOS的な動きするのが -setnetworkserviceenabled
です。 -setairportpower `は電源OFF
電源OFFするとこういう感じ。macOSのメニューからオフを選ぶのと同様の動作になる。