Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windowsで単一NICに複数のIPアドレス(エイリアス)を割り当てる方法

Windowsでは、管理者が1枚のネットワークインターフェースカード(NIC)に複数のIPアドレスを設定する必要があるケースがあります。例えば、IISやApacheサーバー上で、それぞれ固有のIPアドレスとSSL証明書(Let's Encryptなど)を使用する複数のサイトを運用したい場合、サブネットのIPアドレッシング変更に備えたい場合、アプリケーションごとに異なるIPアドレスへバインドしたい場合などが挙げられます。

この記事では、Windows 10のネットワークインターフェースに追加の静的IPアドレスを設定する方法を解説します(同じ手順はWindows Serverでも利用可能です)。まず、イーサネットアダプターに現在1つのIPアドレスのみが割り当てられていることを確認しましょう。以下のコマンドを実行します。

ipconfig

実行結果を見ると、ローカルネットワーク接続(ここでは「Ethernet0」という名前)に対して、192.168.1.90という1つのIPアドレスが割り当てられていることがわかります。

2つ目の静的IPアドレスを追加するには、主に3つの方法があります。GUIから追加する方法、Netshコマンドを使う方法、そしてPowerShellを使う方法です。

GUIから追加のIPアドレスを設定する方法

WindowsのGUI操作だけで、2つ目のIPアドレスを追加できます。

  1. コントロールパネル → ネットワークとインターネット → ネットワークと共有センター → アダプターの設定の変更 を開きます(ncpa.cplコマンドを実行しても同じ画面を開けます)。
  2. 対象のネットワークインターフェースのプロパティを開きます。
  3. プロトコルの一覧から「TCP/IPv4」を選択し、「プロパティ」をクリックします。
  4. 詳細設定」ボタンを押し、「IPアドレス」セクションの「追加」をクリックします。
  5. 追加するIPアドレスとサブネットマスクを入力して「追加」を押します。
  6. 「OK」を何度かクリックして変更を保存します。

再度 ipconfig コマンドを実行し、そのインターフェースに2つ目のIPアドレスが表示されていることを確認してください。

さらに、同一ネットワーク上の他のコンピュータから ping コマンドで2つ目のIPアドレスに疎通確認を行い、応答があることもチェックしておきましょう。

SkipAsSourceフラグについて

GUIから追加したIPアドレスの主な欠点は、SkipAsSource フラグが有効化されない(SkipAsSource=False のままになる)点です。SkipAsSourceがTrueに設定されている場合、そのIPアドレスは特定のアプリケーションが明示的に指定しない限り、送信接続には使用されません。また、このフラグが有効な場合、動的DNS登録が有効になっていても、そのIPアドレスはDNSに登録されません。逆に言えば、SkipAsSourceパラメータを使えば、どのIPアドレスを「メイン」として使うかを制御できるということです。

Netshコマンドで2つ目のIPアドレスを割り当てる方法

コマンドプロンプトから Netsh ユーティリティを使って追加のIPアドレスを割り当てることもできます。このコマンドでは、IPアドレスに対してSkipAsSourceを同時に設定できるのが利点です。

コマンドプロンプトを管理者として開き、以下のコマンドを実行します。

Netsh int ipv4 add address name="Local Area Connection" 192.168.1.92 255.255.255.0 SkipAsSource=True

PowerShellでセカンダリIPアドレスを追加する方法

PowerShellの NetIPAddress 系コマンドレットを使用しても、ネットワークインターフェースに2つ目のIPエイリアスを追加できます(これらのコマンドレットはWindows Server 2012 / Windows 8以降で利用可能です)。

まず、利用可能なインターフェースの一覧を表示します。

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource

IPAddress InterfaceAlias SkipAsSource
--------- -------------- ------------
172.23.53.241 vEthernet False
192.168.1.90 Ethernet0 False
127.0.0.1 Loopback Pseudo-Interface 1 False

Ethernet0のNICに追加のIPアドレスを設定するには、次のコマンドを実行します。

New-NetIPAddress –IPAddress 192.168.1.92 –PrefixLength 24 –InterfaceAlias "Ethernet0" –SkipAsSource $True

IPAddress : 192.168.1.92
InterfaceIndex : 11
InterfaceAlias : Ethernet0
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Manual
SuffixOrigin : Manual
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : True
PolicyStore : ActiveStore

後からSkipAsSourceパラメータを変更して、このIPアドレスからの送信トラフィックを許可したい場合は、以下のコマンドを使用します。

Get-NetIPAddress 192.168.1.92 | Set-NetIPAddress -SkipAsSource $False

  1. Djangoで単一のビューを使って複数のフォームを同時に処理する方法

    Web開発をしていると、1つの関数やビューの中で複数のフォームを処理したい場面に出くわすことがあります。この記事では、2つのフォームを同じビュー内で同時に扱うための実装方法を解説します。この手法は多くの場面で役立ちますし、考え方を応用すれば3つ以上のフォームにも対応できます。 事前準備 まずDjangoプロジェクトとアプリを作成します。ここではプロジェクト名を「multipleFormHandle」、アプリ名を「formhandlingapp」としました。 続いて、settings.pyのINSTALLED_APPSにアプリを追加し、プロジェクトのurls.pyにアプリのURLを含めるなど、

  2. ネットワークアダプタに複数のIPアドレスを割り当てる3つの方法【Windows】

    IT管理者は、同じネットワークアダプタに対して複数のIPアドレスを設定しなければならない場面にしばしば遭遇します。例えば、1台のサーバーで複数のSSLサイトをホストする場合、複数のIPアドレスを持つことでゲートウェイを経由せずトラフィック交換を高速化したい場合、ファイアウォール対策やスパムフィルターのブラックリスト登録を避けるためにパブリックIPアドレスを使い分けたい場合などが挙げられます。 本記事では、Windowsのネットワークアダプタに複数のIPアドレスを割り当てる3つの方法をわかりやすく解説します。 複数のIPアドレスを割り当てる3つの方法 目的に応じて、以下のいずれかの方法を選択でき