プライベート・ネットワークからのインターネット・アクセスのための NAT の構成
このチュートリアルでは、クラシック・インフラストラクチャー の使用方法について説明しています。 ほとんどのワークロードは、IBM Cloud® Virtual Private Cloud リソースを使用して実装できます。 IBM Cloud VPC を使用すると、共有のパブリック・クラウド・インフラストラクチャー上に、プライベート・クラウドのような独自のコンピューティング環境を作成できます。 VPC は、企業が、他のすべてのパブリック・クラウドのテナントから論理的に切り離された仮想ネットワークを定義および制御して、パブリック・クラウド上に安全でプライベートな場所を作れるようにするものです。 具体的には、仮想サーバー・インスタンス、セキュリティー・グループ、 ネットワーク ACL、およびパブリック・ゲートウェイを定義できます。
このチュートリアルでは、費用が発生する場合があります。 コスト見積もりツールを使用して、予測使用量に基づいてコスト見積もりを生成します。
現在の Web ベースの IT アプリケーションおよびサービスの世界では、分離した状態で存在するアプリケーションは稀です。 開発者はインターネット上のサービスへのアクセスを想定するようになり、そのサービスはオープン・ソースのアプリケーション・コードやアップデートである場合や、REST API 経由でアプリケーション機能を提供する「サード・パーティー」サービスである場合があります。 ネットワーク・アドレス変換 (NAT) マスカレードは、プライベート・ネットワークからインターネットでホストされたサービスへのアクセスを保護するために、一般的に使用されるアプローチです。 NAT マスカレードでは、プライベート IP アドレスをパブリック・ビューからシールディングするために、プライベート IP アドレスは多対 1 の関係でアウトバウンド・パブリック・インターフェースの IP アドレスに変換されます。
このチュートリアルでは、IBM Cloud プライベート・ネットワーク上でセキュア・サブネットに接続するために、ネットワーク・アドレス変換 (NAT) マスカレードを Virtual Router Appliance (VRA) 上でセットアップする方法を示します。 これは、セキュアなプライベート・ネットワークを使用してワークロードを分離するのチュートリアルに基づいてソース NAT (SNAT) 構成を追加し、ソース・アドレスが難読化され、ファイアウォール・ルールを使用してアウトバウンド・トラフィックが保護されるようにします。 より複雑な NAT 構成は、VRA 補足資料で参照できます。
目標
- 仮想ルーター・アプライアンス (VRA) 上でのソース・ネットワーク・アドレス変換 (SNAT) のセットアップ
- インターネット・アクセスのためのファイアウォール・ルールのセットアップ
{: caption="図
- 必要なインターネット・サービスを文書化します。
- NAT をセットアップします。
- インターネット・ファイアウォール・ゾーンとルールを作成します。
開始前に
このチュートリアルでは、セキュア・プライベート・ネットワークを使用してワークロードを分離するチュートリアルによって作成されたセキュア・プライベート・ネットワーク・エンクロージャー内のホストが、パブリック・インターネットのサービスにアクセスできるようにします。 そのチュートリアルを先に完了する必要があります。
インターネット・サービスの文書化
最初のステップとして、パブリック・インターネット上でアクセスするサービスを識別して、アウトバウンド・トラフィックおよびインターネットからの対応するインバウンド・トラフィックを有効にする必要があるポートを文書化します。 このポートのリストは、後のステップで、ファイアウォール・ルールのために必要になります。
この例では http と https の各ポートのみを有効にします。これらによって要件の大部分に対処できるためです。 DNS サービスと NTP サービスは、IBM Cloud プライベート・ネットワークから提供されます。 これらと、SMTP (ポート 25) や MySQL (ポート 3306) などの他のサービスが要求される場合は、追加のファイアウォール・ルールが必要になります。 以下の 2 つの基本的なポート・ルールがあります。
- ポート 80 (http)
- ポート 443 (https)
許可されるソース・アドレスのリストを定義する機能がサード・パーティーのサービスでサポートされるかどうかを確認します。 サポートされている場合は、サード・パーティーのサービスでサービスへのアクセス制限を構成するために、VRA のパブリック IP アドレスが必要になります。
インターネットへの NAT マスカレード
こちらの指示に従って、NAT マスカレードを使用して APP ゾーンのホストの外部インターネット・アクセスを構成します。
-
SSH で VRA に接続し、[edit] (config) モードに入ります。
SSH vyatta@<VRA Private IP Address> configure
-
VRA プロビジョニング・チュートリアルで APP ゾーンのサブネット/VLAN に設定したのと同じ
/ を指定して、VRA で SNAT ルールを作成します。 set service nat source rule 1000 description 'pass traffic to the Internet' set service nat source rule 1000 outbound-interface 'dp0bond1' set service nat source rule 1000 source address <Subnet Gateway IP>/<CIDR> set service nat source rule 1000 translation address masquerade commit
ファイアウォールの作成
-
APP-TO-OUTSIDE のファイアウォール・ルールの作成
set security firewall name APP-TO-OUTSIDE default-action drop set security firewall name APP-TO-OUTSIDE description 'APP traffic to the Internet' set security firewall name APP-TO-OUTSIDE default-log set security firewall name APP-TO-OUTSIDE rule 90 protocol tcp set security firewall name APP-TO-OUTSIDE rule 90 action accept set security firewall name APP-TO-OUTSIDE rule 90 destination port 80 set security firewall name APP-TO-OUTSIDE rule 100 protocol tcp set security firewall name APP-TO-OUTSIDE rule 100 action accept set security firewall name APP-TO-OUTSIDE rule 100 destination port 443 set security firewall name APP-TO-OUTSIDE rule 200 protocol icmp set security firewall name APP-TO-OUTSIDE rule 200 icmp type 8 set security firewall name APP-TO-OUTSIDE rule 200 action accept commit
-
ファイアウォール・ルール OUTSIDE-TO-APP の作成
set security firewall name OUTSIDE-TO-APP default-action drop set security firewall name OUTSIDE-TO-APP description 'Internet traffic to APP' set security firewall name OUTSIDE-TO-APP default-log set security firewall name OUTSIDE-TO-APP rule 100 protocol tcp set security firewall name OUTSIDE-TO-APP rule 100 action accept set security firewall name OUTSIDE-TO-APP rule 100 destination port 443 set security firewall name OUTSIDE-TO-APP rule 90 protocol tcp set security firewall name OUTSIDE-TO-APP rule 90 action accept set security firewall name OUTSIDE-TO-APP rule 90 destination port 80 set security firewall name OUTSIDE-TO-APP rule 200 protocol icmp set security firewall name OUTSIDE-TO-APP rule 200 icmp type 8 set security firewall name OUTSIDE-TO-APP rule 200 action accept commit
ゾーンの作成とルールの適用
-
外部インターネットへのアクセスを制御するために、OUTSIDE というゾーンを作成します。
set security zone-policy zone OUTSIDE default-action drop set security zone-policy zone OUTSIDE interface dp0bond1 set security zone-policy zone OUTSIDE description 'External Internet'
-
インターネットとの間のトラフィックを制御するために、ファイアウォールを割り当てます。
set security zone-policy zone APP to OUTSIDE firewall APP-TO-OUTSIDE set security zone-policy zone OUTSIDE to APP firewall OUTSIDE-TO-APP commit
-
APP ゾーンの VSI がインターネット上のサービスにアクセスできるようになったことを確認します。 SSH を使用してローカル VSI にログインします。
ssh root@<VSI Private IP>
ping と curl を使用して、インターネット上のサイトに対する icmp アクセスと tcp アクセスを確認します。
ping 8.8.8.8 curl www.google.com
リソースを削除する
このチュートリアルで作成したリソースを削除する手順は以下のとおりです。
VRA は月額料金プランで提供されます。 取り消しても払い戻しはありません。 取り消しは、この VRA が翌月に再び必要とならない場合にのみ行うことをお勧めします。 デュアル VRA 高可用性クラスターが必要な場合は、この単一の VRA を「ゲートウェイの詳細 (Gateway Details)」ページでアップグレードできます。
- 仮想サーバーまたはベアメタル・サーバーをすべて取り消します
- VRA を取り消します
- VLAN をすべて取り消します