前のトピック: サブネット出力ゲートウェイ アプライアンス

次のトピック: IPSec 共有秘密


VPN - 仮想プライベート ネットワーキング アプライアンス

最新バージョン: 2.0.1-1

VPN アプライアンス

早見表

カタログ

システム

カテゴリ

ゲートウェイ

ユーザ ボリューム

yes

最小 メモリ

96M

OS

Linux

制約

なし

機能の概要

VPN は、IPv4 および IPv6 ネットワークで動作する Virtual Private Networking アプライアンスで、グリッド間通信およびアプリケーションとアプライアンスへのリモート アクセス用の安全で信頼できるトンネルを提供するために設計されています。 また、VPN は VPN トンネルを使用せずに動作できます。その場合は、結合されたクリア テキスト IN/OUT ゲートウェイとして機能します。 VPN を使用して、シームレスに IPv4 と IPv6 の CA AppLogic グリッドを相互接続することもできます。 VPN は、OpenVPN、OpenSSH および Racoon オープン ソース ソフトウェア パッケージに基づいています。

VPN には次の 3 つの基本操作モードがあります。server、client、both。

VPN は、IPSec、共有秘密ファイル、SSL 証明書、認証と暗号化用の ssh キー ファイルをサポートします。 通常の OpenVPN/OpenSSH クライアントをリモート ワークステーション上で使用して、VPN に接続できます。接続後は、CA AppLogic 上で実行されるアプリケーションの内部コンポーネントへの安全なアクセスが提供されます。 VPN アプライアンスは、共有秘密ファイル、SSL 証明書、および ssh キーの生成をサポートします。

VPN を使用する安全な VPN トンネルを介して、CA AppLogic アプリケーションにリモートアクセスするには、OpenVPN クライアント側ソフトウェアまたは OpenSSH をクライアントのマシン上で使用できます(または互換性のあるその他のソフトウェア)。

リソース

リソース

最小

最大

デフォルト

CPU

0.1

16

0.2

メモリ

96 MB

32 GB

96 MB

帯域幅

1 Mbps

2 Gbps

250 Mbps

端子

名前

方向

プロトコル

説明

clt

in

任意

VPN がクライアントとして動作するとき、外部インターフェースを介して転送されるすべての受信トラフィックの共通入力。 トンネルが外部インターフェース上で確立されるように VPN が設定されている場合、clt へ送られるパケットは確立されたトンネルに転送されるか、トンネルが停止している場合はドロップされます。

srv

out

任意

VPN がサーバとして動作するとき、外部インターフェースを介して受信するすべての送信トラフィックの共通出力。 トラフィックはすべて、srv を介して送信される前に、tcp_ports、udp_ports、ssh_ports、aux_protocols プロパティを使用してフィルタされます。

fs

out

NFS

NFS を介して読み取り/書き込みファイル アクセスを提供する、共有ファイル ストレージのネットワーク ファイルシステムへのアクセス。 このボリュームは /mnt/fs としてアプライアンスのファイルシステム スペース内にマウントされ、暗号化キーと証明書のストレージに使用されます。 接続されたサーバは /mnt/data という名前の読み取り/書き込み共有アクセス権を持っている必要があります。 VPN がクリアテキスト モードで動作する場合、データ ボリュームも NFS マウント済みボリュームも必要ではありません。 使用しない場合、この端子は未接続のままにできます。

log

out

CIFS

アクセスとエラー ログを格納するための、CIFS ベースのネットワーク ファイルシステムへのアクセス。 接続されたサーバは、匿名のログインを許可し、share という名前の読み取り/書き込み共有アクセス権を持っている必要があります。 使用しない場合、この端子は未接続のままにできます。

mon

out

CCE

パフォーマンスとリソースの使用状況統計を送信するために使用されます。 使用しないとき、この端子は接続しておかなくてもかまいません。

プロパティ

一般プロパティ

プロパティ名

タイプ

説明

ip_addr

ip_owned

ゲートウェイの外部インターフェースの IPv4 アドレスを定義します。 VPN が IPv4 のみのモードで動作する場合、このプロパティは必須です。

netmask

IP アドレス

外部インターフェースの IPv4 ネットワーク マスクを定義します。 VPN が IPv4 のみのモードで動作する場合、このプロパティは必須です。

gateway

IP アドレス

外部インターフェース用のデフォルト IPv4 ネットワーク ゲートウェイ(ルータ)を定義します。 空にしておくと、ip_addr/netmask と同じサブネット上のホストにしかアクセスできません。 デフォルト:

ipv6_addr

文字列

ゲートウェイの外部インターフェースの IPv6 アドレスを定義します。 IPv6 アドレスは、4 桁の 16 進数 8 グループからなる標準アドレス記法で指定されます。 1 つまたは任意の数の、値 0 の連続したグループは、2 つのコロン(::)に置き換えることができます。 フォーマットはアドレス/ネットマスクです。たとえば「fc00:1234:5678::12/64」のようになります。 VPN が IPv6 のみのモードで動作する場合、このプロパティは必須です。

ipv6_gateway

文字列

外部インターフェース用のデフォルト IPv6 ネットワーク ゲートウェイ(ルータ)を定義します。 空にしておくと、ipv6_addr と同じサブネット上のホストにしかアクセスできません。 デフォルト:

dns1

IP アドレス

VPN による DNS リクエストの転送先となるプライマリ DNS サーバを定義します。 空にしておくと、VPN はルート DNS サーバを使用します。 デフォルト:

dns2

IP アドレス

プライマリ DNS サーバを使用できない場合に、VPN による DNS リクエストの転送先となるバックアップ DNS サーバを定義します。 空にしておくと、VPN はバックアップ DNS サーバを使用しません。 デフォルト:

重要: 少なくとも 1 ペアのアドレス(IPv4 または IPv6)を定義する必要があります。

VPN プロパティ

プロパティ名

タイプ

説明

mode

文字列

動作モード。 有効な値は以下のとおりです。
server - VPN はサーバ モードで動作し、外部インターフェース上の確立されたトンネルから受信トラフィックを受け付け、それを srv 端子へ送信します。
client - VPN はクライアント モードで動作し、clt 端子上で受信トラフィックを受け付け、外部インターフェース上の確立されたトンネルへ送信します。
both - VPN はクライアント モードとサーバ モードの両方で動作します。
デフォルト: server

tunnel

文字列

確立するトンネルのタイプ。 有効な値は以下のとおりです。
certificate - OpenVPN との認証および暗号化に SSL クライアントおよびサーバ証明書を使用して、VPN トンネルが確立されます。 サーバ証明書がない場合は、自動的に生成されます。クライアント証明書は、VPN サーバにある /appliance/security.sh スクリプトによって手動で生成し、データ ボリュームまたは nfs マウント済みボリューム上の /client/ サブディレクトリへコピーする必要があります。 このモードは IPv4 と IPv6 で動作します。
shared secret - OpenVPN との間に共有秘密ファイルを使用して、VPN トンネルが確立されます。 このファイルがない場合は、VPN サーバ上に自動で生成され、データ ボリュームまたは nfs マウント済みボリュームの /server/ サブディレクトリ内に配置されて secret.key と命名されます。 このファイルはクライアント VPN アプライアンス上で /client/ サブディレクトリにコピーする必要があります。 このモードは IPv4 と IPv6 で動作します。
SSH key - 認証に OpenSSH キーファイルを使用して SSH トンネルが確立されます。 キーファイルは /appliance/security.sh サーバ側スクリプトで生成されます。 クライアント キーファイルは、nfs マウント済みストレージのデータ ボリュームの /client/ サブディレクトリにコピーする必要があります。 このモードは IPv4 と IPv6 で動作します。
ipsec shared secret - IPSec トンネルは VPN のインスタンス間で確立されます。 auth_path プロパティによって指定されるファイルの最初の行は、共有キーとして使用されます。 このモードは IPv4 のみで動作します。
ipsec certificate - 証明書を使用する IPSec トンネルは、VPN のインスタンス間で確立されます。 サーバ証明書がない場合は、自動的に生成されます。また、/appliance/security.sh スクリプトを使って生成することもできます。クライアント証明書は、VPN サーバにある /appliance/security.sh スクリプトによって手動で生成し、データ ボリュームまたは nfs マウント済みボリューム上の /client/ サブディレクトリへコピーする必要があります。 このモードは IPv4 のみで動作します。 どちらの操作モードの場合も、すべての証明書は同じアプライアンスによって生成され、その ca.crt 証明書とともに配布される必要があります。
cleartext - トンネルは確立されません。VPN アプライアンスは、結合された IN/OUT ゲートウェイとして動作し、clt 端子上のトラフィックを受け付けてから外部インターフェースを介して転送し、外部インターフェース上のトラフィックを受け付けてから srv 端子を介して転送します。 このモードは IPv4 と IPv6 で動作します。 IPv6 モードの場合は、remote_host プロパティにピアのアドレスが含まれる必要があります。
デフォルト: cleartext

auth_path

文字列

トンネルの認証情報。 共有秘密モードの操作では、これはデータ ボリューム上の共有秘密ファイルへの相対パスになります(例: 「client/secret.key」ファイルの場合は 「secret.key」)。 証明書モードの場合は、これは証明書/キー ファイルのペアへの相対パスで、拡張子なしのファイル名を含めます。 たとえば、証明書ファイル client1-2009.crt および client1-2009.key がデータ ボリュームの /client サブディレクトリ内にある場合、ここでは client1-2009 を指定する必要があります。 トンネルがクリアテキストである場合、このプロパティは無視されます。 トンネルが SSH キーである場合、このプロパティは、SSH 公開キー ファイル(VPN サーバの場合)、または秘密キー ファイル(VPN クライアントの場合)へのパスになります。パスにはファイル名も含まれます(例: /client/1/ssh.key 公開キー ファイルの場合は /1/ssh.key)。
デフォルト: empty

log_level

文字列

VPN ロギング レベル。 有効な値は以下のとおりです。
none - ログが記録されません。
emerg - VPN によって検出されたエラーのみがログ記録されます。
warn - 警告とエラーの両方をログに記録します。
notice - 警告、エラーおよび通知をログに記録します。
debug - 警告、通知およびエラーに加えて追加のデバッグ情報をログに記録します。
デフォルト: log 端子が接続されていない場合は none、log 端子が接続されている場合は emerg。

サーバ プロパティ

allowed_hosts

文字列

接続できるホストまたはサブネットのリスト。 スペースまたはカンマで複数のエントリを区切ります。 サポートされている形式の例: 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0 fc00:1234::12/64。
デフォルト: 0.0.0.0/0 (IPv4 と IPv6 の両方ですべて許可されます)

tcp_ports

文字列

srv 端子上で許可されるポート番号またはポート範囲。 カンマまたはスペースで区切られた値の文字列を受け付けます。 ポート範囲は、区切り記号としてコロンまたはダッシュを使用し、lower_port:higher_port として指定する必要があります(たとえば、80,81,82:85 86-90)。 0 は特殊な値で、すべての tcp ポートが受け入れられることを意味します。
デフォルト: empty

udp_ports

文字列

tcp_ports と同じですが、UDP プロトコルを対象とします。
デフォルト: empty

aux_protocols

文字列

カンマまたはスペースで区切られた、追加で許可される IP プロトコル番号の文字列(たとえば、TCP は 6、GRE は 47)。 個別のプロトコルは、それぞれの名前によって指定してもかまいません(たとえば、「47」の代わりに「gre」など)。 割り当てについては、http://www.iana.org/assignments/protocol-numbers を参照してください。
デフォルト: 空(無効)

クライアント プロパティ

remote_host

文字列

すべてのトラフィックの転送先となるリモート ホストを定義します。 これは、ホストの DNS 名か、「ドット」記法によるホストの IPv4 または IPv6 アドレスです。 このプロパティは必須です。
デフォルト: empty

dns_poll

整数

remote_host の DNS 名から IP アドレスへのマッピングを確認するときに VPN が使用する、秒単位のポーリング間隔(remote_host が DNS 名として指定される場合にのみ使用されます)。 0 に設定すると、ポーリングは無効になり、変更の検出を試みません。
デフォルト: 3600 秒 (1 時間)

ssh_ports

文字列

SSH キー モードのクライアント側プロパティで、どの tcp ポートを VPN サーバへ転送するかを指定します。 ポート範囲はサポートしていませんが、ポートはスペースまたはカンマで区切ることができます。
デフォルト: empty

ボリューム

名前

説明

data

環境設定ファイルおよび証明書ファイルが含まれる読み取り/書き込みデータ ボリューム(プレースホルダ)。 fs 端子が接続されている場合、このボリュームは必要ありません。 fs が接続され、データ ボリュームが提供されている場合、VPN は起動せず、エラー メッセージをログ記録します。 VPN サーバ動作に必要なファイルはすべて、データ ストレージの /server/ サブディレクトリ内に格納されます。 VPN クライアント動作に必要なファイルはすべて、/client/ サブディレクトリ内に格納されます。

カスタム カウンタ

VPN アプライアンスは mon 端子を介して以下のカスタム カウンタをレポートします。

カウンタ名

説明

server_bytes_in

VPN が受信した総バイト数。

server_bytes_out

VPN が送信した総バイト数。

client_bytes_in

クライアント トンネルから受信した総バイト数。

client_bytes_out

クライアント トンネルに送信した総バイト数。

clients

VPN に接続されたクライアント数。

パフォーマンス

2 つのテスト アプリケーションが同じ CA AppLogic グリッド上に存在していました。 100mbit 帯域幅は、両方の VPN アプライアンス(クライアントとサーバ)、およびサーバとクライアントのアプライアンスに割り当てられました。 サイズが各 1 メガバイトの複数のオブジェクトを取得。60 秒間で 10 のオブジェクトを並行して取得しました。

モード

帯域幅、Mbit/秒

オブジェクト サイズ

リクエスト数/秒

転送レート、MB/秒

証明書

100

1MB

12.5667

12.56

共有秘密

100

1MB

12.5166

12.51

SSH キー

100

1MB

12.7667

12.76

クリアテキスト

100

1MB

13.0329

13.03

エラー メッセージ

アプライアンスの起動に失敗した場合、以下の内容のエラーがシステム ログにログ記録される場合があります。

エラー メッセージ

説明

データ ボリュームをマウントできませんでした

VPN がデータ ボリュームのマウントに失敗しました。 ボリュームがフォーマットされ使用可能であることを確認してください。

server_key を生成できませんでした

VPN が共有秘密ファイルの生成に失敗しました。 データ ボリュームが小さすぎるか、読み取り専用でマウントされたためと思われます。

OpenVPN サーバを起動できませんでした

VPN が OpenVPN サーバの起動に失敗しました。 CA Technologies のサポートにお問い合わせください。

証明書を生成できませんでした

VPN が証明機関の作成に失敗し、証明書サーバの操作モードに必要な証明書の生成に失敗しました。 データ ボリュームが小さすぎるか、読み取り専用でマウントされたためと思われます。

DH ファイルを生成できませんでした。

VPN が Diffie-Hellman キー ファイルの生成に失敗しました。 データ ボリュームが小さすぎるか、読み取り専用でマウントされたためと思われます。

秘密ファイル client_auth が存在しません

認証プロパティ中で指定されたファイル client_auth が存在しません。 ファイルのパスと名前を確認してください。

リモート サーバ アドレスが空です

トンネル X 用のリモート VPN サーバ アドレスが空です。

clientX トンネル用の OpenVPN を起動できませんでした

VPN が、クライアント トンネル X 用の OpenVPN ソフトウェアの起動に失敗しました。 いくつかのプロパティまたはキー ファイルが無効な可能性があります。

証明書ファイル client_auth.crt が存在しません

VPN が証明書ファイルを見つけられませんでした。 証明書クライアント モード操作の認証プロパティで、無効なパスまたはファイル名が指定されています。

キー ファイル client_auth.key が存在しません

VPN がキー ファイルを見つけられませんでした。 証明書クライアント モード操作の認証プロパティで、無効なパスまたはファイル名が指定されています。

証明機関の証明書 ca_cert がありません

VPN が証明機関の証明書を見つけられませんでした。 証明書はデータ ボリューム上の /CA/ca.crt ファイルに存在する必要があります。

トンネルのタイプ

クリアテキスト

このモードは、単一サーバと複数クライアントのシナリオをサポートします。複数の場所から VPN サーバへのアクセスを許可します。 このモードでは VPN トンネルが確立されず、データ ストアも必要ではありません(データ ボリュームと NAS アプライアンスのどちらも fs 端子に接続されていません)。 このモードは IPv4 と IPv6 で動作します。

サーバ VPN アプライアンスでは、外部インターフェース上で受信したトラフィックは、tcp_ports、udp_ports、aux_protocols プロパティによってフィルタされ、srv インターフェースへ転送されます。

クライアント VPN アプライアンスでは、clt インターフェース上で受信したすべてのトラフィックは、remote_host プロパティで指定されたリモート VPN サーバへ転送されます。

サーバ側で設定する必要があるプロパティは、ip_addr、netmask、gateway、mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols です。

クライアント側で設定する必要があるプロパティは、ip_addr、netmask、gateway、mode、tunnel、remote_host です。

IPv6 モードが使用されている場合、サーバ側のプロパティ remote_host はクライアントのアドレスで設定する必要があります。

証明書

このモードは、単一サーバと複数クライアントのシナリオをサポートします。複数の場所から VPN サーバへのアクセスを許可します。 データ ストアが必要です(データ ボリュームか NAS アプライアンスのいずれかが fs 端子に接続されています)。 このモードは IPv4 と IPv6 の両方で動作します。

起動時に、必要な証明書およびキー ファイルが存在していない場合、サーバ アプライアンスがこれらのファイルを生成します。 これらのファイルは、/appliance/ ディレクトリ内で、security.sh スクリプトによって再生成することができます。 どの VPN クライアントも、設定する前にそのクライアント用の証明書を生成しておく必要があります。 ユーザは、実行されている VPN サーバ アプライアンスへログインし、以下のようにクライアント キー ペアを生成することができます。

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL certificate and key file.
==============================================
These files, with CA certificate file, should be copied to VPN server into
/client/ subdirectory of data volume or fs-mounted volume.
Path to client files (client.829de5afcac564b3) should be specified in auth_path property.
Location of files:
client certificate: /mnt/fs/server/client.829de5afcac564b3.crt
client key file: /mnt/fs/server/client.829de5afcac564b3.key
CA certificate file located at /mnt/fs/server/ca.crt

クライアント証明書およびキー ファイルは、データ ストアの /client/ サブディレクトリへのクライアント VPN アプライアンスにコピーする必要があります。また、auth_path を適切な値に設定する必要があります(この場合は client.829de5afcac564b3)。 VPN サーバ(/mnt/fs/server/ca.crt)からの CA 証明書は、クライアント アプライアンス上の /client/ サブディレクトリにコピーし、「ca.crt」と命名する必要があります。 すべてのクライアント VPN アプライアンスに、それぞれの証明書が必要です。

サーバ VPN アプライアンスでは、外部インターフェース上で受信したトラフィックは復号化され、tcp_ports、udp_ports、aux_protocols プロパティによってフィルタされた後、srv インターフェースへ転送されます。

クライアント VPN アプライアンスでは、clt インターフェース上で受信したすべてのトラフィックは暗号化され、remote_host プロパティで指定されたリモート VPN サーバへ転送されます。

サーバ側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols です。

クライアント側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、remote_host、auth_path です。

共有秘密ファイル

このモードは、単一サーバと単一クライアントのシナリオのみをサポートします。一度に 1 つのクライアントから VPN サーバへのアクセスのみを許可します。 データ ストアが必要です(データ ボリュームか NAS アプライアンスのいずれかが fs 端子に接続されています)。 このモードは IPv4 と IPv6 の両方で動作します。

起動時に共有秘密ファイル /server/secret.key が存在していない場合、サーバ アプライアンスがこのファイルを生成します。 このファイルは、/appliance/ ディレクトリ内で、security.sh スクリプトによって再生成することができます。 どの VPN クライアントを設定する前にも、この共有秘密ファイルを /client/ サブディレクトリ内のデータ ストアにコピーする必要があります。 共有秘密ファイルを新規に生成するには、実行する VPN サーバ アプライアンスへユーザがログインし、以下のコマンドを発行します。

[VPN-1:main.VPN server]# /appliance/security.sh generate_secret
Generated OpenVPN shared secrets file.
======================================
This file should be copied to VPN server into /server/ subdirectory of data volume or fs-mounted volume,
and to the VPN client into /client/ subdirectory of data volume or fs-mounted volume.
Path to it should be specified in auth_path property of the VPN client.
Location of file: /mnt/fs/server/secret.key

古い秘密ファイルがある場合、新規に生成された秘密ファイルが古いファイルを上書きします。 この共有秘密ファイル /mnt/fs/server/secret.key は、データ ストアの /client/ サブディレクトリ中のクライアント VPN アプライアンスにコピーする必要があります。また、auth_path プロパティを適切な値(この場合は secret.key)に設定します。 複数のクライアント VPN アプライアンスを設定できますが、接続できるのは常に 1 つのみです。

サーバ VPN アプライアンスでは、外部インターフェース上で受信したトラフィックは復号化され、tcp_ports、udp_ports、aux_protocols プロパティによってフィルタされた後、srv インターフェースへ転送されます。

クライアント VPN アプライアンスでは、clt インターフェース上で受信したすべてのトラフィックは暗号化され、remote_host プロパティで指定されたリモート VPN サーバへ転送されます。

サーバ側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols です。

クライアント側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、remote_host、auth_path です。

SSH キー

このモードは、単一サーバと複数クライアントのシナリオをサポートします。複数の場所から VPN サーバへのアクセスを許可します。 データ ストアが必要です(データ ボリュームか NAS アプライアンスのいずれかが fs 端子に接続されています)。 ssh トンネルを介してトンネルできるのは tcp トラフィックのみです。したがって、サーバ側では tcp_ports プロパティのみが使用されます。 ポート範囲はサポートしていません。転送するすべてのポートは、ssh_ports のクライアント側プロパティで明示的に指定する必要があります。 このモードは IPv4 と IPv6 の両方で動作します。

vpn サーバは、起動時にデフォルトの ssh キーペアを生成します。デフォルト キーは、次の場所にあります。サーバ キー(公開キー)、server/ssh-server.pub クライアント キー(秘密キー)、server/ssh-client.key。追加のキーは、security.sh スクリプトを使用して手動で生成することができます。

[VPN-1:main.VPN ~]# /appliance/security.sh generate_ssh
Generated SSH keypair.
======================
Public key should be copied to VPN server into /server/ subdirectory of data volume or fs-mounted volume.
Private key should be copied to VPN client into /client/ subdirectory of data volume or fs-mounted volume.
Path to key files should be specified in auth_path property on both VPN client and server.
Location of files:
Public key: /mnt/fs/server/ssh.11179ebbfa3f6852.pub
Private key: /mnt/fs/server/ssh.11179ebbfa3f6852.key

公開キーは VPN サーバの /server/ サブディレクトリにコピーし、秘密キーはクライアントの /client/ サブディレクトリにコピーします。 auth_path プロパティは、クライアントとサーバの両方で設定する必要があります。 auth_path がサーバ上で空の場合、デフォルトの SSH キーが使用されます。

サーバ VPN アプライアンスでは、外部インターフェース上で受信したトラフィックは復号化され、ssh_ports プロパティによってフィルタされた後、srv インターフェースへ転送されます。 tcp ポート転送のみがサポートされています。 auth_path プロパティは、使用する SSH 公開キーを定義します。 アプライアンスがクライアント モードとサーバ モードの両方で動作しているとき、公開キーと秘密キーはどちらも同じ名前に命名し、/server/ および /client/ サブディレクトリに置く必要があります。 ssh_ports プロパティは同様に、サーバとクライアントの両方で設定する必要があります。

クライアント VPN アプライアンスでは、clt インターフェース上で受信したすべてのトラフィックは暗号化され、remote_host プロパティで指定されたリモート VPN サーバへ転送されます。

サーバ側で設定する必要があるプロパティは、ip_addr、netmask、gateway (または対応する IPv6 プロパティ)、mode、tunnel、allowed_hosts、auth_path、tcp_ports です。

クライアント側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、remote_host、auth_path、ssh_ports です。

重要: SSH サーバ - サーバ モードについて。 2 つの VPN アプライアンスを両方のモードで設定し、互いに接続することができます。 このモードを使用するには、以下のように特別な方法でアプライアンスを設定する必要があります。

VPN1 と VPN2 という名前の 2 つのアプライアンスがあると仮定します。1. 2 セットの公開/秘密キー ファイル(「/appliance/security.sh generate_ssh」スクリプトを使用する 1.key/1.pub、2. key/2.pub) を作成します。2. 「ssh.key」への両方のアプライアンス上の auth_path プロパティを設定します。3. 2.pub を VPN1:/mnt/data/server/ssh.key(または NAS ドライブの /server/ サブディレクトリ内の ssh.key ファイル)へコピーします(公開キーは /server/ サブディレクトリに移動します)。4. 2.key を VPN2:/mnt/data/client/ssh.key へコピーします(秘密キーは /client/ サブディレクトリに移動します)。5. 1.pub を VPN2:/mnt/data/server/ssh.key へコピーします(公開キーは /server/ サブディレクトリに移動します)。6. 1.key を VPN1:/mnt/data/client/ssh.key へコピーします(秘密キーは /client/ サブディレクトリに移動します)。

IPSec 証明書

このモードは、単一サーバと複数クライアントのシナリオをサポートします。複数の場所から VPN サーバへのアクセスを許可します。 データ ストアが必要です(データ ボリュームか NAS アプライアンスのいずれかが fs 端子に接続されています)。 このモードは IPv4 のみで動作します。

起動時に、必要な証明書およびキー ファイルが存在していない場合、サーバ アプライアンスがこれらのファイルを生成します。 これらのファイルは、/appliance/ ディレクトリ内で、security.sh スクリプトによって再生成することができます。 どの VPN クライアントも、設定する前にそのクライアント用の証明書を生成しておく必要があります。 ユーザは、実行されている VPN サーバ アプライアンスへログインし、以下のようにクライアント キー ペアを生成することができます。

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL cerfiticate and key file.
==============================================
These files, with CA certificate file, should be copied to VPN server into
/client/ subdirectory of data volume or fs-mounted volume.
Path to client files (client.829de5afcac564b3) should be specified in auth_path property.
Location of files:
client certificate: /mnt/fs/server/client.829de5afcac564b3.crt
client key file: /mnt/fs/server/client.829de5afcac564b3.key
CA certificate file located at /mnt/fs/server/ca.crt

クライアント証明書およびキー ファイルは、データ ストアの /client/ サブディレクトリへのクライアント VPN アプライアンスにコピーする必要があります。また、auth_path を適切な値に設定する必要があります(この場合は client.829de5afcac564b3)。 VPN サーバ(/mnt/fs/server/ca.crt)からの CA 証明書は、クライアント アプライアンス上の /client/ サブディレクトリにコピーし、「ca.crt」と命名する必要があります。 すべてのクライアント VPN アプライアンスに、それぞれの証明書が必要です。

重要: VPN が both モードで使用される場合、例外が存在します。 この場合、クライアントとサーバのすべての証明書は、同じ VPN インスタンスによって生成し、他のインスタンスへの ca.crt 証明書と共に生成する必要があります。

サーバ VPN アプライアンスでは、外部インターフェース上で受信したトラフィックは復号化され、tcp_ports、udp_ports、aux_protocols プロパティによってフィルタされた後、srv インターフェースへ転送されます。

クライアント VPN アプライアンスでは、clt インターフェース上で受信したすべてのトラフィックは暗号化され、remote_host プロパティで指定されたリモート VPN サーバへ転送されます。

サーバ側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols です。

クライアント側で設定する必要があるプロパティは、ip_addr、netmask、gateway(または対応する IPv6 プロパティ)、mode、tunnel、remote_host、auth_path です。