Mac

Mac OS XでDHCPリースを更新する方法

Mac OS XでDHCPリースを更新する方法

Mac OS XでDHCPリースを更新する

DHCPはDynamic Host Configuration Protocol(動的ホスト構成プロトコル)の略で、ネットワークデバイス同士が通信できるように設定するためによく使用されます。通常、DHCPサーバー(無線ルーターなど)と、そのサーバーから動的に割り当てられたローカルIPアドレスを取得するローカルネットワーク上のクライアントマシン(Mac、iPhone、PCなど)が存在します。

これはすべて問題なく、通常は問題なく機能しますが、DHCPリースの更新が必要になる場合があります。これは基本的に、DHCPサーバーから新しいIPアドレスとルーティングデータを取得することを意味します。これはネットワークの問題のトラブルシューティングでよく使われる手法で、Wi-Fi接続が安定しているにもかかわらずインターネット接続の問題を解決できない場合や、ブロードバンドモデムやルーターの電源を入れ直した後にネットワーク上のマシンが外部にアクセスできなくなった場合に役立ちます。

OS Xのシステム環境設定からDHCPリースを更新する

これは、Mac OS X から DHCP リースを更新する最も簡単な方法です。

  1. Appleメニューをプルダウンし、「システム環境設定」を選択します。
  2. Mac OS Xのネットワーク設定

  3. 「ネットワーク」をクリックし、左側のリストから現在アクティブなネットワーク接続を選択します。通常、その横に緑色のアイコンが表示され、「接続済み」と表示されます。
  4. 右下にある「詳細設定」ボタンをクリックします。
  5. Mac OS XでのDHCP更新

  6. 「TCP/IP」タブを選択し、「DHCPリースの更新」ボタンを選択します。
  7. IP、サブネット、ルーターに新しいIP情報が再入力されたら、「OK」をクリックしてシステム環境設定を終了します。

Mac OS XでDHCPリースを更新する

DHCPリースを更新すると、MacのローカルIPアドレスが以前とは異なるものになることがよくありますが、同じIPアドレスが使用されることもあります。新しいIPアドレスを取得するためにDHCPリースを更新しているにもかかわらず、ルーターが同じLAN IPアドレスを何度も割り当て続ける場合は、手動でアドレスを指定してDHCPを設定し、静的IPアドレスを設定することを検討してください。

より高度な方法としては、コマンドラインからDHCPを更新する方法があります。これは通常、上級ユーザー向けですが、リモートMacにSSH接続しかできず、画面共有などの機能が利用できない場合のリモートトラブルシューティングにも役立ちます。コマンドラインを使用するもう一つの明らかな利点は、リース更新をスクリプト内やcron内の自動タスクの一部として実行できることです。

コマンドラインからDHCPリースを更新する

OS XのコマンドラインからDHCPリースを更新するには2つの方法があります。1つ目の方法は、非常に便利なipconfigツールを使用する方法です。

sudo ipconfig set en0 DHCP

ipconfig を使用する際は、必ず正しいインターフェースアドレスを使用してください。そうしないと、他の問題が発生したり、何も変化が見られなかったりする可能性があります。ipconfig を使用して現在の DHCP 情報を取得することで、インターフェースデータを取得できます。

ipconfig getpacket en1

正常に実行されると、DHCP サーバー情報、クライアント IP、リース時間、サブネット マスク、ルーター IP、および DNS サーバーが見つかります。コマンドの末尾は次のようになります。

コマンドラインからのDHCP情報

このコマンドを実行しても何も返されない場合は、間違ったインターフェースを参照している可能性があります。MacBook Airおよび最近のMacBook Proでは、通常en0がデフォルトのWi-Fiインターフェースですが、物理イーサネットポートを備えたMacではen1であることが多いです。

ipconfig による方法は現在のネットワーク接続を中断しますが、ネットワーク環境設定からリセットする場合は中断しません。MacWorld ユーザーが提供している以下の scutil コマンドを使用すると、コマンドラインから中断することなく DHCP を更新できます。

echo "add State:/Network/Interface/en0/RefreshConfiguration temporary" | sudo scutil

前述の ipconfig コマンドを再度使用して、変更が行われたかどうかを確認できます。

ipconfig getpacket en0

繰り返しになりますが、ハードウェアに適したネットワーク インターフェイス (en1 または en0) を使用してください。

ここで概説した各方法は、古いバージョンから新しいバージョンまで、Mac OS X のほぼすべてのバージョンで機能します。

最後に、LAN 上のすべてのデバイスのネットワーク全体の問題をトラブルシューティングする場合は、iOS から DHCP リースを更新し、iPhone、iPod、iPad で新しいローカル IP アドレスを取得することもできます。