SQL Server アクセス用のマルチホーム コンピューターの構成
サーバーが複数のネットワークまたはネットワーク サブネットへの接続を提供する必要がある場合、一般的なシナリオではマルチホーム コンピューターを使用します。 通常、このコンピューターは、境界ネットワーク (DMZ、非武装地帯、またはスクリーン サブネットとも呼ばれます) にあります。 このトピックでは、マルチホーム環境内の SQL Server のインスタンスへのネットワーク接続用に SQL Server とセキュリティが強化された Windows ファイアウォールを構成する方法について説明します。
![]() |
---|
マルチホーム コンピューターには複数のネットワーク アダプターがあるか、または 1 つのネットワーク アダプターに複数の IP アドレスを使用するように構成されています。 デュアルホーム コンピューターには 2 つのネットワーク アダプターがあるか、または 1 つのネットワーク アダプターに 2 つの IP アドレスを使用するように構成されています。 |
このトピックを続行する前に、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」のトピックの説明をよく理解してください。 このトピックには、SQL Server コンポーネントがファイアウォールと連携して動作する方法に関する基本的な情報が含まれています。
この例の前提条件は、次のとおりです。
コンピューターに 2 つのネットワーク アダプターがインストールされています。 1 つ以上のネットワーク アダプターをワイヤレスにすることができます。 2 つのネットワーク アダプターをシミュレートするには、1 つ目のネットワーク アダプターの IP アドレスを使用してから、2 つ目のネットワーク アダプターとしてループバック IP アドレス (127.0.0.1) を使用します。
簡単にするため、この例では IPv4 アドレスを使用します。 IPv6 アドレスを使用しても、同じ手順を実行できます。
注
IPv4 アドレスは、オクテットと呼ばれる一連の 4 つの数字です。 各数字は、ピリオドで区切られた 255 より小さい数字です (127.0.0.1 など)。 IPv6 アドレスは、コロンで区切られた一連の 8 つの 16 進数です (fe80:4898:23:3:49a6:f5c1:2452:b994 など)。
ファイアウォール ルールでは、特定のポート (ポート 1433 など) を経由したアクセスを許可できます。 または、SQL Server データベース エンジン プログラム (sqlservr.exe) へのアクセスを許可できます。 どちらのメソッドもあまりよくありません。 境界ネットワーク内のサーバーはイントラネット上のサーバーよりも攻撃に対して脆弱なので、このトピックでは、より正確に制御し、開くポートを個別に選択する場合を前提とします。 そのため、このトピックでは、SQL Server が固定ポートでリッスンするように構成することを前提とします。 SQL Server で使用されるポートの詳細については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。
次の例では、TCP ポート 1433 を使用してデータベース エンジンへのアクセスを構成します。 SQL Server コンポーネントが異なる他のポートは、同じ一般的な手順を使用して構成できます。
この例の一般的な手順は、次のとおりです。
コンピューターの IP アドレスを特定します。
特定の TCP ポートでリッスンするように SQL Server を構成します。
セキュリティが強化された Windows ファイアウォールを構成します。
省略可能な手順
コンピューターで使用可能で、SQL Server で使用されている IP アドレスが既にわかっている場合、これらの手順をスキップできます。
コンピューターで使用可能な IP アドレスを特定するには
SQL Server がインストールされているコンピューターで、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、「cmd」と入力して、[OK] をクリックします。
コマンド プロンプト ウィンドウで、「ipconfig」と入力し、Enter キーを押してこのコンピューターで使用可能な IP アドレスを一覧表示します。
注
ipconfig コマンドを使用すると、切断されている接続を含む使用可能な多くの接続が一覧表示される場合があります。 ipconfig コマンドは、IPv4 アドレスと IPv6 アドレスの両方を一覧表示できます。
使用中の IPv4 アドレスおよび IPv6 アドレスに注意してください。 一時アドレス、サブネット マスク、既定のゲートウェイなど一覧内の他の情報は、TCP/IP ネットワークを構成する際の重要な情報です。 ただし、この情報はこの例では使用されません。
SQL Server で使用される IP アドレスおよびポートを特定するには
[スタート] ボタンをクリックし、[すべてのプログラム]、[ Microsoft SQL Server 2012 ]、[構成ツール] の順にポイントして、[SQL Server 構成マネージャー] をクリックします。
[SQL Server 構成マネージャー] のコンソール ペインで、[SQL Server ネットワークの構成]、[<インスタンス名>のプロトコル] を順に展開し、[TCP/IP] をダブルクリックします。
[TCP/IP のプロパティ] ダイアログ ボックスの [IP アドレス] タブに、IP1、IP2 という形式で IPAll まで IP アドレスが表示されます。 このうちいずれかが、ループバック アダプターの IP アドレス 127.0.0.1 です。 追加の IP アドレスがコンピューターで構成される各 IP アドレスとして表示されます。
IP アドレスについて、[TCP 動的ポート] ダイアログ ボックスに 0 が表示されている場合、これはデータベース エンジンが動的ポートでリッスンしていることを示しています。 この例では、再起動時に変わる可能性のある動的ポートではなく、固定ポートを使用します。 したがって、[TCP 動的ポート] ダイアログ ボックスに 0 が表示されている場合は、0 を削除します。
構成する各 IP アドレスについて TCP ポートが一覧表示されます。 この例では、両方の IP アドレスが既定のポート 1433 でリッスンしているとします。
SQL Server で使用可能なポートの一部を使用しない場合、[プロトコル] タブで、[すべて受信待ち] 値を [いいえ] に変更し、[IP アドレス] タブで、使用しない IP アドレスの [アクティブ] 値を [いいえ] に変更します。
セキュリティが強化された Windows ファイアウォールの構成
コンピューターで使用される IP アドレスと SQL Server で使用されるポートを確認した後、ファイアウォール ルールを作成して、特定の IP アドレス用にそれらのルールを構成できます。
ファイアウォール ルールを作成するには
SQL Server がインストールされているコンピューターで、管理者としてログオンします。
[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「wf.msc」と入力して、[OK] をクリックします。
[ユーザー アカウント制御] ダイアログ ボックスの [続行] をクリックし、管理者資格情報を使用して、セキュリティが強化された Windows ファイアウォールのスナップインを開きます。
[概要] ページで、Windows ファイアウォールが有効であることを確認します。
左側のペインで、[受信の規則] をクリックします。
[受信の規則] を右クリックし、[新しい規則] をクリックして、新規の受信の規則ウィザードを開きます。
SQL Server プログラムのルールを作成できます。ただし、この例では固定ポートを使用しているので、[ポート] を選択して [次へ] をクリックします。
[プロトコルおよびポート] ページで、[TCP] を選択します。
[指定したローカル ポート] を選択します。 コンマで区切ったポート番号を入力して、[次へ] をクリックします。 この例では、既定のポートを構成するので、「1433」と入力します。
[アクション] ページで、オプションを確認します。 この例では、セキュリティで保護された接続を指定するためにファイアウォールを使用しません。 したがって、[接続を許可する]、[次へ] を順にクリックします。
注
環境で、セキュリティで保護された接続が必要な場合があります。 セキュリティで保護された接続のオプションのいずれかを選択すると、証明書および [強制的に暗号化] オプションの構成が必要な場合があります。 セキュリティで保護された接続の詳細については、「データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)」および「データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)」を参照してください。
[プロファイル] ページで、ルールに対して 1 つ以上のプロファイルを選択します。 ファイアウォール プロファイルの詳細を確認するには、ファイアウォール プログラムの [プロファイルの詳細を表示します] リンクをクリックします。
コンピューターがサーバーであり、ドメインに接続されているときのみ使用可能な場合は、[ドメイン] を選択して、[次へ] をクリックします。
コンピューターがモバイル コンピューターである場合 (たとえば、ラップトップ)、別のネットワークに接続するとき複数のプロファイルを使用する可能性があります。 モバイル コンピューターの場合、別のプロファイル用に別のアクセス機能を構成できます。 たとえば、コンピューターがドメイン プロファイルを使用する場合はアクセスを許可し、パブリック プロファイルを使用する場合はアクセスを許可しないようにすることができます。
[名前] ページで、ルールの名前および説明を指定して、[完了] をクリックします。
SQL Server で使用する IP アドレスごとに別のルールを作成するには、この手順を繰り返します。
1 つ以上のルールを作成した後、ルールを使用するコンピューターで各 IP アドレスを構成するには、次の手順を実行します。
特定の IP アドレス用にファイアウォール ルールを構成するには
[セキュリティが強化された Windows ファイアウォール] の [受信の規則] ページで、作成したルールを右クリックして、[プロパティ] をクリックします。
[規則のプロパティ] ダイアログ ボックスで、[スコープ] タブをクリックします。
[ローカル IP アドレス] 領域で [これらの IP アドレス] を選択して、[追加] をクリックします。
[IP アドレス] ダイアログ ボックスで [この IP アドレスまたはサブネット] を選択して、構成する IP アドレスのいずれかを入力します。
[OK] をクリックします。
[リモート IP アドレス] 領域で [これらの IP アドレス] を選択して、[追加] をクリックします。
[IP アドレス] ダイアログ ボックスを使用して、コンピューター上の選択した IP アドレス用に接続を構成します。 指定した IP アドレス、IP アドレスの範囲、サブネット全体、または特定のコンピューターからの接続を有効にすることができます。 このオプションを正しく構成するには、ネットワークをよく理解しておく必要があります。 ネットワークの詳細については、ネットワーク管理者にお問い合わせください。
[IP アドレス] ダイアログ ボックスを閉じるには、[OK] をクリックします。次に [OK] をクリックして [規則のプロパティ] ダイアログ ボックスを閉じます。
マルチホーム コンピューターで他の IP アドレスを構成するには、別の IP アドレスと別のルールを使用して、この手順を繰り返します。