スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ

ノートPCのTCP/IP設定を簡単に切り替える方法

―― netshコマンドを使ったネットワーク設定の高速切り換え ――

解説をスキップして操作方法を読む

デジタルアドバンテージ
2001/09/04
2002/12/07更新
 
対象OS
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
環境によっては、DHCPを使ったTCP/IPの自動設定を利用できない場面もある。
この場合には、netshコマンドを利用して、設定内容をファイルに保存しておき、これをロードすることで、TCP/IP設定を復帰することができる。
複数の接続先で設定を切り替える場合には、設定ファイルを複数作っておき、それらを切り替えてロードすれば簡単である。

  解説

 DHCP(Dynamic Host Configuration Protocol)が一般的ではなかったその昔、IPアドレスサブネット・マスクを始めとするTCP/IP設定はすべて手作業で行うのが一般的だった。このため、間違えて他人と同じIPアドレスを割り当ててトラブルになったり、ゲートウェイ・アドレスを間違えて通信できなかったりといった問題がよく起こっていたものだ。DHCPは、こうしたTCP/IPが抱える厄介な問題を解決してくれた。ネットワークに参加するクライアント側では、自身がDHCPクライアントである旨の設定を行っておけば、ネットワークの接続時にIPアドレスやサブネット・マスク、デフォルト・ゲートウェイ・アドレス、ドメイン名などの情報がDHCPサーバから与えられ、自動的に正しいネットワーク設定が行える。このようにDHCPを利用すれば、クライアントのTCP/IP設定が容易になると同時に、各クライアントのTCP/IP設定をサーバ側で集中的に管理できるようになるため、ネットワーク管理者の負担も大幅に軽減される。Windows OSを始め、ほとんどのネットワーク機器でDHCPが標準サポートされるようになった現在、よほど特別な事情がないかぎり、DHCPを使わない理由はないだろう。

しかし、DHCPを使えないケースもある

 しかし、比較的身近な例外として、ノートPCを持ち歩き、会社や自宅、訪問先のネットワークに接続して使うというケースがある。この場合でも、すべての接続先でDHCPが利用できるなら、クライアント側(ノートPC側)は、DHCPによって適切な設定を行うようにしておけばよい。DHCPの設定はTCP/IPのプロパティで行う。Windows 2000の場合は、[スタート]メニューの[設定]−[ネットワークとダイヤルアップ接続]を選択し、ネットワーク接続に使用するインターフェイスを選択する。システムに複数のネットワーク・インターフェイスがある場合は、それらが一覧表示される。そして接続の[プロパティ]を表示し、プロトコル一覧から[インターネット プロトコル(TCP/IP)]をダブルクリックし、表示される[IPアドレスを自動的に取得する]ラジオ・ボタンを選択する)。

DHCPサーバからTCP/IPの設定情報を取得するための設定(Windows 2000の場合)
DHCPを利用すれば、面倒なTCP/IP設定はすべて自動で行えるようになる。具体的には、ネットワーク接続に使用するインターフェイスのプロパティ・ダイアログを表示し、さらにTCP/IPのプロパティを表示して、[IP アドレスを自動的に取得する]を選択すればよい。
  ネットワーク・インターフェイスのプロパティ・ダイアログ。
  当該ネットワーク・インターフェイスで利用可能なプロトコル一覧。ここから[インターネット プロトコル(TCP/IP)]を選択し、[プロパティ]を表示する。
  TCP/IPプロトコルのプロパティ・ダイアログ。DHCPサーバから設定情報を取得し、自動設定するには、こちらを選択する。すると下のIPアドレス設定は淡色表示になり、設定不能(設定不要)になる。
  DNSサーバのアドレスもDHCPによって自動取得するにはこちらを選択する。

 Windows XPの場合は、[スタート]メニューの[コントロール パネル]−[ネットワーク接続]を選択し、表示されるサブメニューからネットワーク・インターフェイスを選択する。表示される「接続の状態」ダイアログの[全般]タブの[プロパティ]ボタンをクリックし、表示される「接続のプロパティ」ダイアログのプロトコル一覧から[インターネット プロトコル(TCP/IP)]をダブルクリックし、表示される[IPアドレスを自動的に取得する]ラジオ・ボタンを選択する。

 実のところ筆者も、電子メールはすべてノートPCで管理しており、これをまるごと持ち歩くことで、いつでもどこでも完全に同じメッセージング環境を使えるようにしている(メッセージは、サーバからPOPで取り出し、ノートPCのローカル・ディスク上で管理している)。幸い筆者の場合は、会社も自宅もDHCPを利用できる環境にあるのだが、接続するネットワーク環境によっては、DHCPを利用できず、IPアドレスなどの固定的な割り当てが必要な場合があるかもしれない。そのような場合には、手作業でIPアドレスなどのTCP/IP設定を行うことになる。手作業でTCP/IP設定を行うには、先のダイアログで[次のIPアドレスを使う]ラジオ・ボタンの側を選択する。するとそれ以下のテキスト・ボックスが有効になるので、望みのTCP/IP情報をマニュアルで入力する(画面はIPアドレス“192.168.100.5”をマニュアルで指定しているところ)。

IPアドレスを手作業で設定する
IPアドレス情報を手作業で設定するには、前出のTCP/IPプロトコルのプロパティ・ダイアログを表示し、IPアドレスを指定すればよい。
  IPアドレスを手作業で指定するには、こちらを選択する。すると下の設定用テキスト・ボックスが有効になり、アドレス情報を入力できるようになる。
  IPアドレス情報。どのような設定も可能だが、LAN内部のほかのコンピュータとIPアドレスが衝突しないようにすること。またネットワークによって、デフォルト・ゲートウェイを正しく設定しないと、通信できない場合もあるので注意が必要。

 このようにして、DHCPサーバを利用できるネットワークに接続するときにはDHCPクライアントでTCP/IP情報を自動設定するようにし、そうでないネットワークに接続するときにはマニュアルでTCP/IP情報を指定する。これで、双方のLAN環境でノートPCを使えるようになる。ただし、接続自体は問題なく行えるようになったのはよいとして、接続を切り替えるたびに、毎回TCP/IPのプロパティ・ダイアログを表示して、設定を変更するのは面倒だ。そんなときには、次のnetshコマンドを使うことで、設定を簡単に切り替えられるようになる。

  操作方法

netshコマンドを利用したネットワーク設定の高速切り替え

 Windows 2000/XPには、ネットワーク関連の構成を設定したり、監査を行ったりするためのコマンドライン・スクリプト・インターフェイスとしてnetsh.exeコマンドが提供されている(このnetshコマンドを利用したRRAS(Routing and Remote Access)セキュリティ設定について、別稿「運用:常時接続時代のパーソナル・セキュリティ対策(第2回)」でご紹介した)。このnetshコマンドを活用すれば、くだんのTCP/IP設定を1クリックで実行できるようになる。

 簡単にいえば、2つのTCP/IP設定(会社用と自宅用など)の状態をnetshコマンドでファイルに保存しておき、同じくnetshコマンドを使って、それらをスクリプトとして読み込んで、TCP/IP設定を行う。後は、それらをマウス・ボタンの1クリックで実行できるように、バッチ・ファイルにして、ショートカットをタスク・バーのクイック起動バーに配置するだけだ。

 netshコマンドを使用して、現在のTCP/IP設定を保存するには次のようにする(この例では、自宅にはDHCPサーバが存在しないと仮定し、前出の“192.168.100.5”をIPアドレスとして指定した状態でコマンドを実行し、設定内容を“home_conf.nsh”というファイルに保存した。ファイル名や拡張子は任意で構わない)。

C:\>netsh -c interface dump > home_conf.nsh

 詳しくは説明しないが、これはnetshコマンドを“interface”コンテキストで起動し、それに“dump”コマンドを与えて、その結果を“home_conf.nsh”というファイルにリダイレクトしている。netshは、単一のコマンドではなく、さまざまなシステム・ヘルパ・プログラムを起動するためのコマンドライン・インターフェイスで、対象となるバックエンド・ヘルパごとにコンテキストを選択する(例えばRRASによるルーティング設定では、“routing”コンテキストを使用する)。

 こうして出力された“home_conf.nsh”ファイルをのぞいてみると次のようになっている。

#========================
# インターフェイス構成
#========================
pushd interface

reset all

popd
# インターフェイス構成の最後

# ----------------------------------
# インターフェイス IP 構成
# ----------------------------------
pushd interface ip


# "ローカル エリア接続" のインターフェイス IP 構成

set address name = "ローカル エリア接続" source = static addr = 192.168.100.5

mask = 255.255.255.0
set address name = "ローカル エリア接続" gateway = 192.168.100.1 gwmetric = 1
set dns name = "ローカル エリア接続" source = static addr = 192.168.100.1
set wins name = "ローカル エリア接続" source = static addr = none


popd
# インターフェイス IP 構成の最後
home_conf.nshファイルの内容

 ここで“ローカル エリア接続”というのは、コマンドを実行したシステムのネットワーク・インターフェイスのインターフェイス名である。ファイルの内容に関する詳細な説明は省略するが、現在の設定内容を復帰するためのスクリプト・ファイルが出力される。IPアドレスやサブネット・マスクなどが直接指定されていることが分かるだろう。

 次に、会社ではDHCPサーバを利用できると仮定し、前出のTCP/IPのプロパティで会社用のネットワーク構成にして(DHCPによって情報を取得する構成にして)、同じくnetshコマンドを実行する(今度は保存先ファイル名を“office_conf.nsh”とした)。

C:\>netsh -c interface dump > office_conf.nsh

 ファイルの内容は次のようになった。

#========================
# インターフェイス構成
#========================
pushd interface

reset all

popd
# インターフェイス構成の最後

# ----------------------------------
# インターフェイス IP 構成
# ----------------------------------
pushd interface ip

# "ローカル エリア接続" のインターフェイス IP 構成

set address name = "ローカル エリア接続" source = dhcp
set dns name = "ローカル エリア接続" source = dhcp
set wins name = "ローカル エリア接続" source = dhcp

popd
# インターフェイス IP 構成の最後
office_conf.nshファイルの内容

 こうして出力されたファイルを使って、ファイル内に記述されたネットワーク構成を復元するにはnetshコマンドに“-f”オプションを付け、続いてスクリプト・ファイル(dumpコマンドによって保存したファイル)を指定する(ネットワークを使用中のアプリケーションがあるとコマンドはエラーになるので注意)。具体的には、自宅用の設定にする場合は次のようにする。

C:\netsh -f home_conf.nsh

 Windows 2000/XPの優れたところは、こうしてTCP/IP設定を変更しても、システム・リセットを行う必要がないことだ(Windows 9x系のOSでは、TCP/IP設定を変更したら、必ず再起動が必要だ)。一方、会社用の設定にするには次のようにする。

C:\netsh -f office_conf.nsh

 このようにコマンドを毎回実行してもよいが、面倒なら、バッチ・ファイルを作って、そのショートカットをタスク・バーのクイック起動バーか、デスクトップにでも配置すればよいだろう。End of Article

クイック起動バーに追加されたバッチ・ファイルのショートカット・アイコン
コマンドを簡単に実行するには、上記のコマンドをバッチ・ファイルにして、そのショートカットをクイック起動バーやデスクトップなど、アクセスしやすい場所に配置するとよいだろう。名前が示すとおり、クイック起動バーなら、アイコンを1クリックするだけでコマンドが実行されるようになる。
  自宅用の設定に変更するボタン。ショートカット・アイコンは任意のものを指定できるので、分かりやすいイメージを指定すればよい。
  会社用の設定に変更するボタン。同じくショートカット・アイコンを変更している。

この記事と関連性の高い別のWindows TIPS
DHCPによるIPアドレスの切り替え時は、いったん解放してから再割り当てする
DHCPサーバの構成情報をバックアップ/移行する
不正なDHCPサーバを見付ける
DHCPによる未許可クライアントへのIP割り当てを禁止する
ネットワークの診断ツールを活用する
DHCPリレー・エージェントを使う
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴
【2002/12/07】Windows XPに関する情報を加筆・修正しました。

「Windows TIPS」
Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)

- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  New! 2009年の技術トレンド&求められるスキル
〜エンジニア・キャリア進化論(第14回)〜

  New! エンジニアインタビューで見えてくる、
厳しい転職市場でも、引く手あまたの職種

  New! ITコスト削減、お悩みはありませんか?
電力コストを低減するサーバ選びの新常識

  「高可用性」のレベルは千差万別!?
“最適な”高可用性システムを導入

  敬遠されがちだけど、実は簡単なんです!
誰でもできる“リスクマネジメントのコツ”

  “社会人大学院って、実際どうなの?”
現役学生が本音で語る「社会人大学の魅力」

  “スーパーユーザーの反乱”に備えて、
技術者はどのような対策を施せるか?

  小型センサーで不正なPCを“検知&遮断”
容易な導入・運用を実現する3つの特徴は

  「仮想化環境」を1カ月単位でレンタル!?
初期コストを大幅に下げるサービスとは?

  「セキュリティソフト=重い」は昔の話?
@IT編集部の3人が実際に体験してみた

  ファルコンストア会長兼CEOに訊く――
事業継続を考える企業にとって必要なこと

  変化するセキュリティリスクに対応した
情報漏えい対策の方法とは?

  次期OSへの鍵!Windows Vistaのご提案
今Vista導入を検討すべき3つの理由とは!

  「“監視ツール”だけで安心ですか?」
高可用性を追求した“クラスタ構築”とは

  コストをかけずに迅速復旧!!
事業継続性を高める為の“3つの要素”?


ソリューションFLASHPR