| [Network] |
![]() |
|
IPアドレスの自動設定機能(APIPA)を無効にするには(Windows 2000編) |
||
| デジタルアドバンテージ 2000/08/23 |
||
|
|
||
Windows 2000には、APIPA(Automatic Private IP Addressing)と呼ばれるIPアドレスの自動割り当て機能が標準装備されている。IPアドレスの自動割り当てといえば、最初に思いつくのはDHCPだが、DHCPサーバを構築/運用しなければならない、という点でやや敷居は高い。それに対してAPIPAは、サーバを必要とせず、簡単に小規模なLANでIPアドレスの自動割り当てを実現できるのが特徴である。APIPAの仕様や動作原理は、Internet Draftとして公開されている文書に記されている。
Windows 2000搭載PCで、APIPAによるIPアドレスの自動割り当てを利用するには、DHCPによる自動割り当てとまったく同じネットワーク設定にしておくだけでよい。DHCPサーバがネットワークに見つからなければ、APIPAにより「169.254.x.x」という特別(*1)なIPアドレスの空間から一意なIPアドレスが選択され、PCに対して自動的に割り当てられる。Windows 2000では、初期状態でAPIPAが有効になっている。
| *1 「169.254.x.x」というIPアドレスは、LINKLOCALアドレスと呼ばれ、外部と接続されていないローカルな単一のネットワーク セグメントだけで利用できるアドレス空間として定義されている。グローバルIPアドレスともプライベートIPアドレスとも異なる。APIPAには「Private」という単語が含まれるが、実際に使われるのは、いわゆるプライベートIPアドレスではなく、このLINKLOCALアドレスである。 |
デメリットの目立つAPIPA
一見すると、DHCPよりAPIPAのほうが、DHCPサーバを運用せずに済む分、管理が簡単に思われる。しかし実際のところ、APIPAにはデメリットが少なからず存在する。
APIPAによりIPアドレスが自動で割り当てられたPCで、ipconfig /allを実行した結果から、以下のようにLAN接続の部分を抜き出してみた(ipconfigコマンドの使い方については、「PC TIPS:IPアドレスの詳細情報を得るには(Windows NT 4.0/2000編)」を参照していただきたい)。
|
まず
を見ると、IPアドレスが169.254.x.xというLINKLOCALアドレス(前述の*1を参照)であること、またipconfigが「Autoconfiguration
IP Address」と表示していることから、APIPAによりIPアドレスが割り当てられたことが分かる。次に注目すべきは
と
である。
では、デフォルト
ゲートウェイのIPアドレスが設定されないので、ルータを超えて通信できない。ほかのサブネットとも通信できないので、たとえ同じネットワーク
セグメントに複数のPCが接続されていても、APIPAでIPアドレスが割り当てられたPC同士でしか通信できない。さらに、
のようにDNSサーバやWINSサーバなどのIPアドレスも割り当てられないので、こうしたサーバからのサービスは受けられない。
また、APIPAではグローバルIPアドレスを扱えないため、インターネットに直接公開されるPCのように、グローバルIPアドレスを必要とするPCでは利用できない。そのほか、APIPAによるIPアドレスの自動割り当てには、数十秒という単位で時間がかかるのもデメリットの1つである。
ネットワーク管理者の視点で考えると、APIPAが有効なPCでは、DHCPによるIPアドレスのリースに失敗しても、一見するとIPアドレスは正しく割り当てられているように見えるので、かえって厄介といえる。
以上のような理由から、よほど小規模で外部との通信がないLANでもなければ、APIPAは無効にしておくほうが無難だ。
APIPAを無効にする方法
APIPAを無効にする方法は2つある。1つは、IPアドレスを手動で設定することだ。ただし、これではAPIPAだけではなくDHCPによる自動割り当ても無効になってしまう。DHCPの自動割り当てを利用しつつ、APIPAを無効にするには、Windows 2000のレジストリを直接書き替える必要がある。
| [注意] |
|
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで操作を行ってください。何らかの障害が発生した場合でも、本PC INSIDER編集部では責任を負いかねます。ご了承ください。 |
レジストリを編集するために、まずはレジストリ エディタを起動する。レジストリ エディタは[スタート]−[プログラム]メニューなどには登録されていないので、[スタート]−[ファイル名を指定して実行]を実行し、表示されるダイアログで「regedit」と入力して[OK]ボタンをクリックする。
APIPAを無効(または有効)にするには、以下に記したキーにて、値を新規に作成する必要がある。
| 項目 | 内容 |
| キーの名称 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters |
| 値の名前 | IPAutoconfigurationEnabled |
| 値の型 | DWORD |
| 値のデータ | 無効:0、有効:1 |
| レジストリの書き替え内容 | |
| デフォルトではこの「IPAutoconfigurationEnabled」という値は存在しないので、新規に作成する必要がある。 | |
レジストリ エディタの書き替え手順は、以下のとおりである。
![]() |
||||||
| レジストリ エディタの書き替え手順 | ||||||
|
このAPIPAの無効/有効については、レジストリの書き替え後、いったんPCを再起動して、その設定を反映させる必要がある。また、この設定はすべてのネットワーク アダプタに影響する。
注意が必要なのは、たとえ上記の書き替えによりAPIPAを無効にしても、ipconfig /allで表示される「Autoconfiguration Enabled」の内容は「Yes」のままであることだ。これはipconfigコマンドの仕様のようだ。
上記の手順でAPIPAを無効にしたPCで、DHCPによるIPアドレスの自動割り当てをわざと失敗させたところ、ipconfig /allの実行結果は以下のようになった(以下では、LAN接続の部分だけを抜き出している)。
|
によればAPIPAは有効に見えるが、
のとおりIPアドレスは割り当てられていない。つまりAPIPAは無効になっていることが分かる。なお
は、DHCPサーバが見つからなかったことを表している。![]()
| 関連記事(PC INSIDER内) | |
| IPアドレスの詳細情報を得るには(Windows NT 4.0/2000編) | |
| IPアドレスの自動設定機能(APIPA)を無効にするには(Windows 98編) | |
| 関連リンク | |
| 詳説 TCP/IPプロトコル −− ネットワーク技術詳細講座連載 | |
| 「PC TIPS」 |
TechTargetジャパン
- MS、Intelよ、ビッグシフトに乗り遅れるな! (2012/1/27)
名門企業Kodakが破産法を適用。ビッグシフトに乗り遅れた結果という。IT業界にもビッグシフトが起きつつある。Kodakに続いてしまうのは? - 世界初のプロセッサ「4004」誕生40周年に思うこと (2011/12/21)
Intel が世界初のマイクロプロセッサ「4004」を発表してから40年。手元にある風呂敷に染め抜かれた4004の回路図を見て、思うことを書いてみた - ARMの64bit化でむしろ深まるIntelとの仲? (2011/11/28)
ARMが64bitアーキテクチャを正式発表。組み込み用途やタブレットなどで、Intelとの競合が気になるところ。意外や、その関係は深まっている? - トランジスタがない?ユニークな不揮発性メモリ登場 (2011/10/26)
MRAMに代表される不揮発性メモリについて何度か取り上げげてきたが、また新しい不揮発性メモリが登場した。このメモリ「CMOx」の特徴は?
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


