このモードは、単一サーバと複数クライアントのシナリオをサポートします。複数の場所から VPN サーバへのアクセスを許可します。 データ ストアが必要です(データ ボリュームか NAS アプライアンスのいずれかが fs 端子に接続されています)。 このモードは IPv4 のみで動作します。
起動時に、サーバ アプライアンスは auth_path プロパティによって指定されるファイルの最初の行を抽出し、共有キーとして使用します。 このファイルは両方のパーティ上に存在する必要があります。 どの VPN クライアントを設定する前にも、この共有秘密ファイルを /client/ サブディレクトリ内のデータ ストアにコピーする必要があります。
サーバ 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 です。
以下の図は、外部サービスのリモート アクセスの設定方法の例を示しています。
この例では、グリッド A 上で実行される Web アプライアンスで、安全な VPN トンネルを介してグリッド B 上で実行されるリモート MySQL データベースにアクセスします。
グリッド A 上の vpn1 は、グリッド B 上の vpn2 に割り当てられた IP アドレスに接続するように設定されます。 vpn1 の srv 端子、および vpn2 の clt 端子は、未接続のままです。 vpn1 と vpn2 の外部インターフェースは、適切なルーティング可能 IP アドレスで設定されます。
プロパティ設定の例:
vpn1:
プロパティ名 |
値 |
ノート |
ip_addr |
25.74.63.87 |
vpn1 に使用される外部 IP |
netmask |
255.255.255.0 |
netmask |
gateway |
25.74.63.1 |
gateway |
mode |
client |
クライアント操作モード |
tunnel |
ipsec certificate |
トラフィックは IPSec を使用して暗号化されます |
auth_path |
client-7575 |
証明書/キー ファイル ペアの名前 |
remote_host |
12.12.12.12 |
vpn2 の外部インターフェースに割り当てられた外部 IP |
vpn2:
プロパティ名 |
値 |
ノート |
ip_addr |
12.12.12.12 |
vpn2 に使用される外部 IP |
netmask |
255.255.255.0 |
netmask |
gateway |
12.12.12.1 |
gateway |
mode |
server |
サーバ操作モード |
tunnel |
ipsec certificate |
トラフィックは IPSec を使用して暗号化されます |
allowed_hosts |
25.74.63.87 |
vpn1 からの接続のみを許可します |
tcp_ports |
3306 |
MySQL サーバ用のデフォルト ポート |
以下の図は、内部 CA AppLogic アプライアンスへのリモート アクセスの設定方法の例を示しています。
この例の場合、ユーザは、自分の PC から OpenVPN クライアントを使用し、安全な VPN 接続を通じて、異なる複数のアプライアンスにアクセスする必要があります。 OpenVPN は vpn に割り当てられた IP アドレスに接続するために使用されます。 Vpn は、ユーザの PC で VPN トンネルを確立し、アプリケーション内の 4 つの異なるアプライアンスにトラフィックを配信するように設定された sw ポート スイッチにすべての受信トラフィックを転送します。
OpenVPN は、この例で説明されているように、VPN アプライアンスを使用する CA AppLogic アプリケーションにアクセスする前にユーザの PC にインストールする必要があります。 以下の手順では、このアプリケーションがどのように設定されるか、および安全な VPN トンネルを介してアプリケーションにアクセスするには、ユーザが何を実行する必要があるかを説明します。
vpn:
プロパティ名 |
値 |
ノート |
ip_addr |
28.36.85.21 |
VPN アプライアンスに割り当てられた IP アドレス |
mode |
server |
サーバ操作モード |
tunnel |
shared secret |
共有秘密ファイルの使用 |
allowed_hosts |
26.42.56.72 |
クライアント PC の IP アドレス |
tcp_ports |
0 |
ポートがすべて許可されます |
udp_ports |
0 |
ポートがすべて許可されます |
3. sw アプライアンスを介して転送する必要がある目的のプロトコルおよびポートを割り当てます。 この場合は、4 つのポート(122、422、522、822)が sw に接続されたアプライアンスの ssh ポートへ転送されます。
プロパティ名 |
値 |
ノート |
out1_protocol |
tcp |
TCP プロトコル |
out1_in_port |
122 |
受信ポート 122 |
out1_out_port |
22 |
送信ポート 22 |
out4_protocol |
tcp |
TCP プロトコル |
out4_in_port |
422 |
受信ポート 422 |
out4_out_port |
22 |
送信ポート 22 |
out5_protocol |
tcp |
TCP プロトコル |
out5_in_port |
522 |
受信ポート 522 |
out5_out_port |
22 |
送信ポート 22 |
out8_protocol |
tcp |
TCP プロトコル |
out8_in_port |
822 |
受信ポート 822 |
out8_out_port |
22 |
送信ポート 22 |
4. アプリケーションを起動します。 アプリケーションが起動されたら、vpn アプライアンスから共有秘密ファイルを抽出します。
grid> comp ssh APPLICATION:main.VPN vpn> cat /mnt/data/server/secret.key # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- 431e845f2ca67f2a31649b20e3ba3291 ... fe991cdbfe82525a9367b9afbfd0f922 -----END OpenVPN Static key V1-----
5. 上記の secret.key の内容をユーザの PC 上の新しいファイルに貼り付けて、ファイルを保存します。 これは認証に使用される共有秘密ファイルです。
6. クライアント OpenVPN 設定ファイルを準備します。 以下の行をユーザの PC 上の新しいファイルにコピーします(手順 5 とは異なるファイル)。
dev tun proto udp resolv-retry infinite persist-key persist-tun cipher AES-128-CBC comp-lzo keepalive 10 120 remote 11.22.33.44 1194 secret "C:\\Program Files\\OpenVPN\\sample-config\\secret.key" nobind ifconfig 169.254.215.101 169.254.215.102
ifconfig 行内の IP アドレスは、a) 169.254.0.0/16 ネットワーク ブロックに基づいている、b) 同じ /30 サブネットにある、および c) /30 サブネット内の最初または最後のアドレスでない限り、任意に指定できます。 B および C は、Windows プラットフォーム上で実行される OpenVPN クライアントの制限です。
7. リモート IP アドレスを vpn アプライアンスに割り当てられる IP アドレスに置き換えます。 秘密行内の共有秘密ファイルへのパスを、手順 5 で作成したキー ファイルへのパスに置き換えます。 OpenVPN がインストールされたユーザ PC 上で Microsoft Windows オペレーティング システムを使用している場合は、すべての行を引用符で囲み、すべてのスラッシュをダブルスラッシュに置き換えます。
8. 以下のように OpenVPN クライアントを起動します。
c:\program files\OpenVPN\bin\openvpn.exe --config "c:\client.ovpn"
注:「c:\client.ovpn」を手順 6 で作成した設定ファイルへのパスに置き換えてください。
9. 数秒後、OpenVPN から以下のメッセージが表示されます。
Wed Jul 01 09:41:12 2009 Peer Connection Initiated with XX.XX.XX.XX:1194 Wed Jul 01 09:41:12 2009 Initialization Sequence Completed
これで、設定ファイル(ここでは 169.254.215.102)内に定義された IP アドレスを使用して、CA AppLogic アプリケーションのアプライアンスにアクセスできます。 ポート 169.254.215.102:122 はソフトウェアによって srv1 アプライアンスのポート 22 に転送されます。同様に、ポート 169.254.215.102:422 は srv4 アプライアンスへ転送されます。 たとえば、
ssh -p 122 root@169.254.215.102
を実行して、最初のアプライアンスにアクセスします。
以下の図は、ユーザが MySQL レプリケーション用の安全な VPN トンネルを提供する方法の一例を示します。
この例では、グリッド A およびグリッド B の異なるグリッド上で 2 つのアプリケーションが実行されています。どちらのアプリケーションも、安全な VPN トンネルを介してレプリケートされるものと同じ MySQL データベースを使用します。
vpn1 と vpn2 は、外部インターフェース上のルーティング可能な IP アドレスで設定されます。 vpn1 は vpn2 へのトンネルを確立するように設定され、vpn2 は vpn1 へのトンネルを確立するように設定されます。
グリッド A からの db1 は、レプリケーションのために vpn1 へトラフィックを送信します。そこでトラフィックは暗号化されて vpn2 に転送された後、復号化されてグリッド B 上の db2 のリング ターミナルへ送信されます。 グリッド B 上の db2 からグリッド A 上の db1 へのレプリケーションも、同じ仕組みで動作します。
vpn1:
プロパティ名 |
値 |
ノート |
ip_addr |
82.56.42.25 |
外部インターフェースに割り当てられるアドレス。 |
mode |
both |
サーバの操作モード。 |
tunnel |
ssh key |
SSH キー ファイルの使用。 |
auth_path |
"/keys/vpn21.ssh.key" |
SSH キー ファイルへのパス。 |
remote_host |
92.72.57.95 |
vpn2 の外部インターフェースに割り当てられるアドレス。 |
tcp_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
ssh_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
vpn2:
プロパティ名 |
値 |
ノート |
ip_addr |
92.72.57.95 |
外部インターフェースに割り当てられるアドレス。 |
mode |
both |
サーバの操作モード。 |
tunnel |
ssh key |
SSH キー ファイルの使用。 |
auth_path |
"/keys/vpn21.ssh.key" |
SSH キー ファイルへのパス。 |
remote_host |
82.56.42.25 |
vpn1 の外部インターフェースに割り当てられるアドレス。 |
tcp_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
ssh_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
vpn1:
プロパティ名 |
値 |
ノート |
ip_addr |
82.56.42.25 |
外部インターフェースに割り当てられるアドレス。 |
mode |
both |
サーバおよびクライアントとして機能し、2 方向レプリケーションを可能にします。 |
tunnel |
ipsec shared secret |
IPSec を使用したトラフィックの暗号化。 |
auth_path |
"/keys/ipsec.key" |
ipsec 共有秘密ファイルへのパス。 |
remote_host |
92.72.57.95 |
vpn2 の外部インターフェースに割り当てられるアドレス。 |
tcp_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
vpn2:
プロパティ名 |
値 |
ノート |
ip_addr |
92.72.57.95 |
外部インターフェースに割り当てられるアドレス。 |
mode |
both |
サーバおよびクライアントとして機能し、2 方向レプリケーションを可能にします。 |
tunnel |
ipsec shared secret |
IPSec を使用したトラフィックの暗号化。 |
auth_path |
"/keys/server/ipsec.key" |
ipsec 共有秘密ファイルへのパス。 |
remote_host |
82.56.42.25 |
vpn1 の外部インターフェースに割り当てられるアドレス。 |
tcp_ports |
3306,22 |
MySQL Server および SSH 用のデフォルト ポート。 |
VPN アプライアンスによって提供される安全な VPN トンネルにアクセスするには、クライアントのマシン上で OpenVPN を使用する必要があります。
アプライアンスの内部で使用されるサードパーティ オープンソース ソフトウェア
VPN は、ベース クラス LUX5 で使用されるサードパーティのオープン ソース パッケージに加えて、以下のサードパーティのオープン ソース パッケージを使用します。
ソフトウェア |
バージョン |
変更 |
ライセンス |
ノート |
IPsec-Tools |
0.6.5-13.el5_3.1 |
いいえ |
BSD |
ホームページ |
iptables |
1.3.5-5.3.el5_4.1 |
いいえ |
GPLv2 |
該当なし |
iptables-ipv6 |
1.3.5-5.3.el5_4.1 |
いいえ |
GPLv2 |
該当なし |
LZO |
2.03 |
いいえ |
GPLv2 |
ホームページ |
OpenVPN |
2.1.4 |
いいえ |
GPLv2 |
ホームページ |
samba-client |
3.0.33-3.15.el5_4 |
いいえ |
GPLv2 |
該当なし |
samba-common |
3.0.33-3.15.el5_4 |
いいえ |
GPLv2 |
該当なし |
iproute2 |
2.6.29-1 |
いいえ |
GPLv2 |
ホームページ |
autossh |
1.4b |
いいえ |
BSD |
ホームページ |
Copyright © 2012 CA. All rights reserved. |
|