🌐

MacのIPアドレスをターミナルから一瞬で切り替える!networksetup活用術

に公開

はじめに

皆さんは、MacのIPアドレス設定をどのように変更していますか?
おそらくほとんどの方が「システム設定」を開き、ネットワークの画面からGUIでポチポチと設定しているかと思います。

しかし、特定の場所(例えば自宅や職場)で固定IPアドレスを使いたい、外出先ではDHCPに戻したい、といった切り替えを頻繁に行う場合、毎回GUIで設定するのは少し面倒ですよね。

実は、macOSにはnetworksetupという強力なコマンドラインツールが標準で搭載されており、これを使えばターミナルから一瞬でネットワーク設定を切り替えることができます。

この記事では、networksetupコマンドを使ってWi-FiのIPアドレスを動的(DHCP)と静的(手動)で切り替える方法を紹介します。

networksetupコマンドとは?

networksetupは、macOSのネットワーク設定をターミナルから参照・変更できるコマンドです。GUIで設定できるほとんどの項目は、このコマンドで操作できます。

1. ネットワークサービス名の確認

まず最初に、設定対象となるネットワークサービス名を確認する必要があります。ほとんどの場合はWi-FiEthernetですが、念のため確認しておきましょう。

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