シナリオ 3 - Web ホスティング

1. Web ホスティング・シナリオ


このシナリオでは、適切に定義された 2 つのネットワークがあります。1 つは、サーバーがインストールされており、コントローラー・マシンが配置されているセキュア・ネットワーク、もう 1 つは非セキュア・ネットワークです。非セキュア・ネットワークには、保守と問題解決のためにサーバーにアクセスする必要がある Web 対応ネットワークなどが該当します。

2 つのネットワークをリンクする DMZ ネットワークには、特定の目的のゲートウェイが 2 つ導入されています。

また、非セキュア・ネットワーク内のターゲットをセキュア・ネットワーク内のサーバーに登録できるようにする目的で HTTP プロキシーを使用することができないため、この通信を実現するにはゲートウェイがトンネル接続を確立する必要があります。

次の 2 つのシナリオが考えられます。
シナリオ A:
DMZ ネットワーク内のゲートウェイに対し、セキュア・ネットワーク内のターゲットへの直接接続を許可する (このシナリオではゲートウエイ T1、ゲートウェイ T2、ゲートウェイ T3x、およびゲートウェイ RC2 が必要です)。

このシナリオでは、ゲートウェイ RC1 を TRC サーバーに追加します。

シナリオ B:
DMZ ネットワークへのトラフィックが許可されず、ゲートウェイに対しセキュア・ネットワーク内のターゲットへの直接接続が許可されません (このシナリオでは、ゲートウェイ T1、ゲートウェイ T2、ゲートウェイ T3x、ゲートウェイ RC1、ゲートウェイ RC2、およびゲートウェイ RC3x が必要です)。

このシナリオでは、ゲートウェイ RC1 を TRC サーバーに追加します。

各シナリオの構成は以下のようになります。

2 つのシナリオに共通の構成

ゲートウェイ T1:

  • トンネルに使用するゲートウェイ T2 へのコントロール接続を作成します。
  • トンネル接続のためにサーバーとの接続を作成します。

Gateway.3.ConnectionType = Gateway

Gateway.3.DestinationAddress = gatewayT2_ipaddress

Gateway.3.DestinationPort = 8881

# Optional:

# Gateway.3.BindTo = 0.0.0.0

# Gateway.3.SourcePort = 0

# Gateway.3.RetryDelay = 45

# Gateway.3.KeepAlive = 900

# Gateway.3.Timeout = 90

# Gateway.3.Passphrase =

非セキュア・ネットワーク内のターゲットはサーバーに直接接続できないため、ターゲットからサーバーにハートビートを転送するトンネル接続を作成する必要があります。

Outbound.1.ConnectionType = OutboundTunnel

Outbound.1.DestinationAddress = trc_server_ip_address

Outbound.1.DestinationPort = 80

# Optional

# Outbound.1.TunnelID = TRCSERVER

# Outbound.1.BindTo = 0.0.0.0

# Outbound.1.Timeout = 90

DestinationAddress は TRC サーバーの IP アドレス、DestinationPort は TRC サーバーのポートです。

ゲートウェイ T2:

したがって、ゲートウェイ T2 の構成ファイルには、シナリオのタイプに関係なく以下の項目が含まれます。

  • ゲートウェイ T3x への接続を作成します。
  • ゲートウェイ T2 からのコントロール接続を受け入れます。

各 T3 ゲートウェイ (GatewayT3a、GatewayT3b、および GatewayT3c) のゲートウェイ接続を定義する必要があります。

Gateway.T3x.ConnectionType = Gateway

Gateway.T3x.DestinationAddress = gatewayT3x_ipaddress

Gateway.T3x.DestinationPort = 8881

# Optional:

# Gateway.T3x.BindTo = 0.0.0.0

# Gateway.T3x.SourcePort = 0

# Gateway.T3x.RetryDelay = 45

# Gateway.T3x.KeepAlive = 900

# Gateway.T3x.Timeout = 90

# Gateway.T3x.Passphrase =

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = true

Inbound.1.AllowEndpoints = false

ゲートウェイ T3x:

ゲートウェイ T3x の構成ファイルには、シナリオのタイプに関係なく以下の項目が含まれます。

  • ゲートウェイ T2 からのコントロール接続を受け入れます。
  • エンドポイントからのサーバーへのトンネル接続要求を受け入れます。

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = true

Inbound.1.AllowEndpoints = false

InboundTunnel.1.ConnectionType = InboundTunnel

InboundTunnel.1.PortToListen = 8880

# Optional

# InboundTunnel.1.TunnelID = TRCSERVER

# InboundTunnel.1.BindTo = 0.0.0.0

# InboundTunnel.1.RetryDelay = 45

非セキュア・ネットワーク内のターゲットはサーバーに直接接続できないため、ターゲットからサーバーにハートビートを転送するトンネル接続を作成する必要があります。

PortToListen には、ターゲットがトンネル経由でサーバーに接続するときに接続するポートが指定されます。ターゲットがトンネルを使用できるようにするには、ターゲット構成で ProxyURL を次のように設定する必要があります。

trcGateway.://<gateway address>:8880

シナリオ A

ゲートウェイ RC2

ゲートウェイ RC2 の構成は以下のようになります。

  • セキュア・ネットワーク内のコントローラーからの要求を受け入れます。
  • 非セキュア・ネットワーク内のエンドポイントを検出します。

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = false

Inbound.1.AllowEndpoints = true

Endpoint.1.ConnectionType = Endpoint

# Optional

# Endpoint.1.SubnetAddress = 0.0.0.0

# Endpoint.1.SubnetMask = 0.0.0.0

# Endpoint.1.BindTo = 0.0.0.0

# Endpoint.1.SourcePort = 0

# Endpoint.1.Timeout = 90

シナリオ B

このシナリオでは、セキュア・ネットワーク外部でゲートウェイ・トラフィック以外のトラフィックが許可されません。したがって、コントローラーからの要求を受け入れ、要求を RC2 に渡す新しいゲートウェイ RC1 が必要です。同様に、各非セキュア・ネットワーク内に、正しいターゲットを検出するための新しいゲートウェイ RC3x が必要です。

ゲートウェイ RC1:

ゲートウェイ RC1 の構成は以下のようになります。

  • セキュア・ネットワーク内のコントローラーからの要求を受け入れます。
  • ゲートウェイ RC2 に接続し、接続要求を転送します。

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = false

Inbound.1.AllowEndpoints = true

Gateway.RC2.ConnectionType = Gateway

Gateway.RC2.DestinationAddress = gatewayRC2_ipaddress

Gateway.RC2.DestinationPort = 8881

# Optional:

# Gateway.RC2.BindTo = 0.0.0.0

# Gateway.RC2.SourcePort = 0

# Gateway.RC2.RetryDelay = 45

# Gateway.RC2.KeepAlive = 900

# Gateway.RC2.Timeout = 90

# Gateway.RC2.Passphrase =

ゲートウェイ RC2

このシナリオでは、ゲートウェイ RC2 の構成は以下のようになります。

  • ゲートウェイ RC1 からのコントロール接続を受け入れます。
  • ゲートウェイ RC3x に接続し、接続要求を転送します。

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = true

Inbound.1.AllowEndpoints = false

各 RC3 ゲートウェイ (RC3a、RC3b、RC3c) のゲートウェイ接続を定義する必要があります。x は a、b、または c です。

Gateway.RC3x.ConnectionType = Gateway

Gateway.RC3x.DestinationAddress = gatewayT3x_ipaddress

Gateway.RC3x.DestinationPort = 8881

# Optional:

# Gateway.RC3x.BindTo = 0.0.0.0

# Gateway.RC3x.SourcePort = 0

# Gateway.RC3x.RetryDelay = 45

# Gateway.RC3x.KeepAlive = 900

# Gateway.RC3x.Timeout = 90

# Gateway.RC3x.Passphrase =

ゲートウェイ RC3x

これらのゲートウェイは、以前はゲートウェイ RC2 に直接アクセスできたエンドポイントを検出するために必要です。これらのゲートウェイの構成ファイルには以下の項目が含まれます。

Inbound.1.ConnectionType = Inbound

Inbound.1.PortToListen = 8881

# Optional:

# Inbound.1.BindTo = 0.0.0.0

# Inbound.1.RetryDelay = 45

# Inbound.1.Passphrase =

Inbound.1.AllowGateways = true

Inbound.1.AllowEndpoints = false

Endpoint.1.ConnectionType = Endpoint

# Optional

# Endpoint.1.SubnetAddress = 0.0.0.0

# Endpoint.1.SubnetMask = 0.0.0.0

# Endpoint.1.BindTo = 0.0.0.0

# Endpoint.1.SourcePort = 0

# Endpoint.1.Timeout = 90