MacのIPアドレスをターミナルから一瞬で切り替える!networksetup活用術
はじめに
皆さんは、MacのIPアドレス設定をどのように変更していますか?
おそらくほとんどの方が「システム設定」を開き、ネットワークの画面からGUIでポチポチと設定しているかと思います。
しかし、特定の場所(例えば自宅や職場)で固定IPアドレスを使いたい、外出先ではDHCPに戻したい、といった切り替えを頻繁に行う場合、毎回GUIで設定するのは少し面倒ですよね。
実は、macOSにはnetworksetupという強力なコマンドラインツールが標準で搭載されており、これを使えばターミナルから一瞬でネットワーク設定を切り替えることができます。
この記事では、networksetupコマンドを使ってWi-FiのIPアドレスを動的(DHCP)と静的(手動)で切り替える方法を紹介します。
networksetupコマンドとは?
networksetupは、macOSのネットワーク設定をターミナルから参照・変更できるコマンドです。GUIで設定できるほとんどの項目は、このコマンドで操作できます。
1. ネットワークサービス名の確認
まず最初に、設定対象となるネットワークサービス名を確認する必要があります。ほとんどの場合はWi-FiやEthernetですが、念のため確認しておきましょう。
networksetup -listallnetworkservices
このコマンドを実行すると、利用可能なネットワークサービスのリストが表示されます。この記事では、一般的な"Wi-Fi"を例に進めます。
2. DHCPに設定(動的IP)
カフェや公共のWi-Fiに接続する際など、通常はこちらの設定を使います。以下のコマンド一発で、DHCPサーバからIPアドレスを自動で取得する設定に変更できます。
sudo networksetup -setdhcp "Wi-Fi"
これで、IPアドレス、サブネットマスク、ルーター(デフォルトゲートウェイ)、DNSサーバの全てが自動的に割り当てられます。
3. 手動IPアドレスに設定(静的IP)
自宅のネットワークや特定の開発環境など、IPアドレスを固定したい場合は手動設定を使います。
sudo networksetup -setmanual "Wi-Fi" 192.168.1.10 255.255.255.0 192.168.1.1
構文
コマンドの引数は以下のようになっています。
networksetup -setmanual <ネットワークサービス名> <IPアドレス> <サブネットマスク> <ルーター>
上記の例では、Wi-Fiに対して以下の設定を行っています。
-
IPアドレス:
192.168.1.10 -
サブネットマスク:
255.255.255.0 -
ルーター(デフォルトゲートウェイ):
192.168.1.1
ご自身の環境に合わせて値を変更してください。
4. DNS設定も変更する場合
手動でIPアドレスを設定した場合、DNSサーバも手動で設定する必要があるケースが多いです。
DNSサーバーを手動設定する
例えば、Google Public DNS(8.8.8.8)とCloudflare(1.1.1.1)を設定する場合は、以下のコマンドを実行します。
sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 1.1.1.1
DNSサーバーを自動取得に戻す
DHCP環境に戻した場合など、DNSも自動取得にしたい場合はemptyを指定します。
sudo networksetup -setdnsservers "Wi-Fi" empty
5. 現在の設定を確認する
設定が正しく反映されたか確認するには、getinfoオプションを使います。
networksetup -getinfo "Wi-Fi"
このコマンドを実行すると、現在のIPアドレスやルーター、DNSサーバなどの情報が表示されます。
出力例:
DHCP Configuration
IP address: 192.168.1.10
Subnet mask: 255.255.255.0
Router: 192.168.1.1
...
応用編:シェルスクリプトで一発切り替え
これらのコマンドを.zshrcや.bash_profileに関数として登録しておくと、さらに便利になります。
例えば、以下のような設定を~/.zshrcに追記します。
# 自宅の固定IPに設定する関数
set_home_ip() {
sudo networksetup -setmanual "Wi-Fi" 192.168.1.10 255.255.255.0 192.168.1.1
sudo networksetup -setdnsservers "Wi-Fi" 192.168.1.1
echo "✅ 自宅の固定IPに設定しました。"
networksetup -getinfo "Wi-Fi"
}
# DHCP(自動取得)に戻す関数
set_dhcp_ip() {
sudo networksetup -setdhcp "Wi-Fi"
sudo networksetup -setdnsservers "Wi-Fi" empty
echo "✅ DHCP(自動取得)に設定しました。"
networksetup -getinfo "Wi-Fi"
}
ターミナルでsource ~/.zshrcを実行して設定を再読み込みすれば、
-
set_home_ipと入力するだけで自宅の固定IPに -
set_dhcp_ipと入力するだけでDHCPに
一瞬で切り替えられるようになります。
まとめ
networksetupコマンドを使えば、面倒なネットワーク設定の切り替えをターミナルから高速に実行できます。
GUIでの操作が煩わしいと感じていた方は、ぜひこの方法を試してみてください!
Discussion