連載
» 2019年12月18日 05時00分 公開

Tech TIPS:【Windows】netshコマンドでTCP/IPのパラメータを設定する

TCP/IPなどのネットワーク関係のパラメータの設定をコマンドプロンプトから行うにはnetshコマンドを利用する。IPアドレスを設定するには「netsh interface ip set address 〜」を利用する。DNS/WINSサーバを設定するには、「set dns/wins 〜」と「add dns/wins 〜」コマンドを利用する。

[デジタルアドバンテージ,著]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Windows 7/Windows 8.1/Windows 10/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019


 「TCP/IP」を利用する場合、ネットワークインタフェースに対してIPアドレスやサブネットマスク、デフォルトゲートウェイ、DNSサーバなどのパラメータを設定する必要がある。

 既にDHCPによる自動設定が普及しているため、このようなパラメータを手動で設定する必要性は少なくなっている。それでも、例えばルーターやNASの初期設定を行う際など、作業用PCのネットワークインタフェースに特定のIPアドレスを設定しておかないと、ルーターなどに接続できず、設定画面が開けない、といった場合がある。また、サーバ用に固定IPアドレスを割り当てる場合や、実験環境(仮想実行環境も含む)などで、特定のIPアドレスを割り当てておくような場合もIPアドレスの設定が必要になる。

 このようなTCP/IPのパラメータを設定するためには、通常は、[イーサネットのプロパティ]ダイアログなどのGUIの管理画面を利用する。だが、コマンドプロンプト上から作業した方が簡単なこともある。また設定の自動化もしやすい。

 コマンドラインでネットワーク関連のパラメータを設定/変更/確認するには、「netsh」というコマンドが利用できる。本Tech TIPSではこの方法について紹介する。

netshコマンドでTCP/IPパラメータを設定する

 netshコマンドは、ネットワーク全般の制御用のコマンドである。多くのサブコマンドがあるが、TCP/IP関連のパラメータは、interfaceコンテキストの中にある、ip(もしくはipv4)サブコンテキストで設定する。

 なお、最近のWindows OSでnetshコマンドを実行すると、「Windowsの将来のバージョンで、TCP/IPのNetsh機能が削除される可能性があります」という警告が表示される。Windows 10 November 2019 Update(バージョン1909)ではサポートされており、すぐにサポートが終了してしまうことはないと思われる。それでも、netshコマンドがサポート終了になる可能性については念頭に置いておいた方がいいだろう。

netshコマンドのTCP/IPパラメータ設定 netshコマンドのTCP/IPパラメータ設定
netshコマンドでTCP/IPパラメータを設定する。利用できるサブコマンドやその説明は、「? interface」などのようにすると表示される。

 この例ではインタラクティブにnetshコマンドを利用しているが、「netsh interface ip ?」のように、netshコマンドにコンテキストやパラメータを付けて、コマンドプロンプト上から直接実行してもよい。この方法は、コマンドをバッチ化しておいて、簡単に実行させたい場合に便利である。

現在の設定の確認

 現在のネットワークインタフェースの状態を確認するには「netsh interface ip show 〜」コマンドが利用できる。設定状態を見るには「netsh interface ip show config」でよいだろう(サブコマンド名などは適宜省略できるので、「netsh int ip show conf」などとしてもよい)。

netshコマンドによる現在の設定の確認 netshコマンドによる現在の設定の確認

固定IPアドレスを割り当てる

 「インターフェイスの構成」にある「DHCP 有効:」が「はい」になっている場合は、DHCPによるIPアドレスの自動割り当てが有効になっている。これを変更して固定IPアドレスを割り当てるには、管理者権限で起動したコマンドプロンプトで、「netsh interface ip set address "<インタフェース名>" static <IPアドレス> <ネットマスク> <ゲートウェイ> <メトリック>」を利用する。インタフェース名は上の例なら「"Ethernet0"」となる。これは「netsh interface ip show interface」でも確認できる。メトリック値を省略すると、インタフェースのタイプ(速度)に応じて適宜割り当てられる(メトリックとは、インタフェースの優先度。同じネットワークに属するインタフェースが複数ある場合、数値の小さい方が優先される)。

C:\>netsh interface ip set address "Ethernet0" static 172.16.1.101 255.255.255.0 172.16.1.1 

固定IPを割り当てる例(メトリックは省略可能)

 ちなみに、DHCP割り当てに戻すには次のようにする。

C:\>netsh interface ip set address "Ethernet0" dhcp

DHCP割り当てに戻す例

DNSサーバの設定も変更する

 以上の操作でIPアドレスは変更されたが、DNSサーバの設定などはそのままである。これも変更しておこう(これも管理者権限でコマンドプロンプトを起動する必要があるので要注意)。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。