それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

MacのWiFiやルーティング設定をターミナルのコマンド networksetup でやる

MacOSWiFi設定を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 ブリッジ

ハードウェアの名前と一致を調べる。

en0 などの古き良きデバイス名とMacでの名前を調べる。

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

切断するとこういう感じ

f:id:takuya_1st:20190328171556p:plain

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のメニューからオフを選ぶのと同様の動作になる。

f:id:takuya_1st:20190328171624p:plain

関連記事