Dieser Modus unterstützt ein Szenario aus einem Server und mehreren Clients, bei dem der Zugriff auf den VPN-Server von mehreren Speicherorten aus zulässig ist. Ein Datenspeicher ist erforderlich (entweder ein Daten-Volume oder eine NAS-Appliance, mit dem Terminal "fs" verbunden). Dieser Modus funktioniert nur in IPv4.
Beim Starten extrahiert die Server-Appliance die erste Zeile der Datei, die in der Eigenschaft "auth_path" angegeben ist, und verwendet sie als gemeinsamen Schlüssel. Diese Datei muss auf Client und Server vorhanden sein. Bevor Sie VPN-Clients konfigurieren, muss diese Datei für gemeinsame geheime Schlüssel in den entsprechenden Datenspeicher in das Unterverzeichnis "/client/" kopiert werden.
Auf der Server-VPN-Appliance wird auf der externen Schnittstelle eingegangener Datenverkehr entschlüsselt, über die Eigenschaften "tcp_ports", "udp_ports" und "aux_protocols" gefiltert und an die Serverschnittstelle weitergeleitet.
Auf der Client-VPN-Appliance wird der gesamte auf der Client-Schnittstelle eingegangene Datenverkehr verschlüsselt und an den Remote-VPN-Server weitergeleitet, der in der Eigenschaft "remote_host" angegeben wurde.
Eigenschaften, die auf der Serverseite konfiguriert werden müssen: "ip_addr", "netmask", "gateway" (bzw. entsprechende IPv6-Eigenschaften), "mode", "tunnel", "allowed_hosts", "tcp_ports", "udp_ports", "aux_protocols".
Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: ip_addr, netmask, gateway (bzw. entsprechende IPv6-Eigenschaften), mode, tunnel, remote_host, auth_path.
Das folgende Diagramm zeigt ein Beispiel, wie Sie Remote-Zugriff auf einen externen Dienst konfigurieren:

Beispiel: Eine Web-Appliance, die auf Grid A ausgeführt wird, greift auf eine Remote-MySQL-Datenbank zu, die über einen sicheren VPN-Tunnel auf Grid B ausgeführt wird.
vpn1 auf Grid A ist so konfiguriert, dass sie mit der IP-Adresse verbunden ist, die vpn2 auf Grid B zugewiesenen ist. Das Terminal "srv" von vpn1 und das Terminal "clt" von vpn2 werden nicht verbunden. Externe Schnittstellen von vpn1 und vpn2 werden mit entsprechenden routbaren IP-Adressen konfiguriert.
Beispiel-Eigenschaftskonfiguration:
vpn1:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
25.74.63.87 |
externe IP, die für vpn1 verwendet wird |
|
netmask |
255.255.255.0 |
netmask |
|
gateway |
25.74.63.1 |
gateway |
|
mode |
Client |
Client-Betriebsmodus |
|
tunnel |
ipsec-Zertifikat |
Datenverkehr wird mithilfe von IPSec verschlüsselt |
|
auth_path |
client-7575 |
Name des Zertifikat-/Schlüsseldateienpaares |
|
remote_host |
12.12.12.12 |
externe IP, die der externen Schnittstelle von vpn2 zugewiesen ist |
vpn2:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
12.12.12.12 |
externe IP, die für vpn2 verwendet wird |
|
netmask |
255.255.255.0 |
netmask |
|
gateway |
12.12.12.1 |
gateway |
|
mode |
Server |
Server-Betriebsmodus |
|
tunnel |
ipsec-Zertifikat |
Datenverkehr wird mithilfe von IPSec verschlüsselt |
|
allowed_hosts |
25.74.63.87 |
nur Verbindungen von vpn1 zulassen |
|
tcp_ports |
3306 |
Standardport für MySQL-Server |
Das folgende Diagramm zeigt ein Beispiel, wie Sie Remote-Zugriff auf interne CA AppLogic-Appliances konfigurieren:

In diesem Beispiel muss ein Benutzer von seinem PC aus über eine sichere VPN-Verbindung mit dem OpenVPN-Client auf unterschiedliche Appliances zugreifen. OpenVPN wird für die Verbindung mit der IP-Adresse verwendet, die vpn zugewiesen ist. Vpn stellt einen VPN-Tunnel mit dem PC des Benutzers her und leitet den gesamten eingehenden Datenverkehr an den sw-Port-Schalter weiter, der so konfiguriert ist, dass der Datenverkehr auf vier verschiedene Appliances innerhalb der Anwendung verteilt wird.
OpenVPN muss vor dem Zugriff auf eine CA AppLogic-Anwendung, die die VPN-Appliance wie in diesem Beispiel beschrieben verwendet, auf dem PC des Benutzers installiert werden. Die unten stehenden Schritte beschreiben, wie diese Anwendung konfiguriert wird und wie ein Benutzer über einem sicheren VPN-Tunnel auf die Anwendung zugreifen kann:
vpn:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
28.36.85.21 |
IP-Adresse, die der VPN-Appliance zugewiesen ist |
|
mode |
Server |
Server-Betriebsmodus |
|
tunnel |
gemeinsamer Schlüssel |
Verwendung der Datei für gemeinsamen geheime Schlüssel |
|
allowed_hosts |
26.42.56.72 |
IP-Adresse des Client-PC |
|
tcp_ports |
0 |
Alle Ports sind zulässig |
|
udp_ports |
0 |
Alle Ports sind zulässig |
3. Weisen Sie die gewünschten Protokolle und Ports zu, die über die sw-Appliance weitergeleitet werden müssen. In diesem Fall werden 4 Ports (122, 422, 522, 822) an die ssh-Ports der mit sw verbundenen Appliances weitergeleitet:
|
Eigenschaftsname |
Wert |
Hinweise |
|
out1_protocol |
tcp |
TCP-Protokoll |
|
out1_in_port |
122 |
Eingehender Port 122 |
|
out1_out_port |
22 |
Ausgehender Port 22 |
|
out4_protocol |
tcp |
TCP-Protokoll |
|
out4_in_port |
422 |
Eingehender Port 422 |
|
out4_out_port |
22 |
Ausgehender Port 22 |
|
out5_protocol |
tcp |
TCP-Protokoll |
|
out5_in_port |
522 |
Eingehender Port 522 |
|
out5_out_port |
22 |
Ausgehender Port 22 |
|
out8_protocol |
tcp |
TCP-Protokoll |
|
out8_in_port |
822 |
Eingehender Port 822 |
|
out8_out_port |
22 |
Ausgehender Port 22 |
4. Starten Sie die Anwendung. Nachdem die Anwendung gestartet wurde, extrahieren Sie die Datei für gemeinsame geheime Schlüssel aus der VPN-Appliance:
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. Fügen Sie die Inhalte von secret.key oben in eine neue Datei auf dem PC des Benutzers ein, und speichern Sie die Datei. Dies ist eine Datei für gemeinsame geheime Schlüssel, die für die Authentifizierung verwendet wird.
6. Bereiten Sie eine Client-OpenVPN-Konfigurationsdatei vor. Kopieren Sie die folgenden Zeilen in eine neue Datei auf dem PC des Benutzers (eine andere Datei als in Schritt 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
In der Zeile "Ifconfig" können Sie beliebige IP-Adressen verwenden, sofern sie: a) aus dem 169.254.0.0/16-Netzwerkblock stammen, b) sich im gleichen /30-Teilnetz befinden, c) nicht die ersten oder letzten Adressen im /30-Teilnetz sind. b) und c) sind die Einschränkungen des OpenVPN-Client, der auf der Windows-Plattform ausgeführt wird.
7. Ersetzen Sie die Remote-IP-Adresse durch die IP-Adresse, die der vpn-Appliance zugewiesen ist. Ersetzen Sie den Pfad zur Datei für gemeinsame geheime Schlüssel in der Zeile "secret" durch den Pfad der in Schritt 5 erstellten Schlüsseldatei. Wenn Sie auf dem Benutzer-PC, auf dem OpenVPN installiert ist, mit einem Microsoft-Windows-Betriebssystem arbeiten, setzen Sie alle Zeilen in Anführungszeichen, und ersetzen Sie jeden Schrägstrich durch einen doppelten Schrägstrich.
8. Starten Sie den OpenVPN-Client:
c:\Programme\OpenVPN\bin\openvpn.exe --config "c:\client.ovpn"
Hinweis: Ersetzen Sie "c:\client.ovpn" durch den Pfad der in Schritt 6 erstellten Konfigurationsdatei.
9. Nach wenigen Sekunden wird die folgende Meldung von OpenVPN angezeigt:
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
Jetzt können Sie mithilfe der in der Konfigurationsdatei (in diesem Fall 169.254.215.102) definierten IP-Adresse auf die Appliances der CA AppLogic-Anwendung zugreifen. Port 169.254.215.102:122 wird von sw an Port 22 der srv1-Appliance weitergeleitet, ebenso wird Port 169.254.215.102:422 an die srv4-Appliance weitergeleitet usw. Führen Sie beispielsweise Folgendes aus:
ssh -p 122 root@169.254.215.102
um auf die erste Appliance zuzugreifen.
Das folgende Diagramm zeigt ein Beispiel, wie Sie sichere VPN-Tunnel für die MySQL-Replikation bereitstellen können:

Beispiel: Zwei Anwendungen, die auf unterschiedlichen Grids (Grid A und Grid B) ausgeführt werden, wobei beide Anwendungen die gleiche MySQL-Datenbank verwenden, die über einen sicheren VPN-Tunnel repliziert wird.
"vpn1" und "vpn2" werden mit umleitbarer IP-Adresse auf ihren externen Schnittstellen konfiguriert. "vpn1" wird konfiguriert, um einen Tunnel nach "vpn2" einzurichten, und umgekehrt.
"db1" von Grid A sendet Datenverkehr von "vpn1" zu Replikationszwecken. Dort wird er verschlüsselt und an "vpn2" weitergegeben, der den Datenverkehr entschlüsselt und an das Terminal "rin" von "db2" auf Grid B sendet. Die Replikation von "db2" auf Grid B nach "db1" auf Grid A verhält sich auf die gleiche Weise.
vpn1:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
82.56.42.25 |
Der externen Schnittstelle zugewiesene Adresse. |
|
mode |
beide |
Server-Betriebsmodus. |
|
tunnel |
SSH-Schlüssel |
Verwenden von SSH-Schlüsseldateien. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Pfad zur SSH-Schlüsseldatei. |
|
remote_host |
92.72.57.95 |
Der externen Schnittstelle von "vpn2" zugewiesene Adresse. |
|
tcp_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
|
ssh_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
vpn2:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
92.72.57.95 |
Der externen Schnittstelle zugewiesene Adresse. |
|
mode |
beide |
Server-Betriebsmodus. |
|
tunnel |
SSH-Schlüssel |
Verwenden von SSH-Schlüsseldateien. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Pfad zur SSH-Schlüsseldatei. |
|
remote_host |
82.56.42.25 |
Der externen Schnittstelle von "vpn1" zugewiesene Adresse. |
|
tcp_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
|
ssh_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
vpn1:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
82.56.42.25 |
Der externen Schnittstelle zugewiesene Adresse. |
|
mode |
beide |
Fungiert als Server und Client, lässt Replikation in beide Richtungen zu. |
|
tunnel |
Gemeinsamer geheimer IPSec-Schlüssel |
Verschlüsseln von Datenverkehr mit IPSec. |
|
auth_path |
"/keys/ipsec.key" |
Pfad zur gemeinsamen IPSec-Schlüsseldatei |
|
remote_host |
92.72.57.95 |
Der externen Schnittstelle von "vpn2" zugewiesene Adresse. |
|
tcp_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
vpn2:
|
Eigenschaftsname |
Wert |
Hinweise |
|
ip_addr |
92.72.57.95 |
Der externen Schnittstelle zugewiesene Adresse. |
|
mode |
beide |
Fungiert als Server und Client, lässt Replikation in beide Richtungen zu. |
|
tunnel |
Gemeinsamer geheimer IPSec-Schlüssel |
Verschlüsseln von Datenverkehr mit IPSec. |
|
auth_path |
"/keys/server/ipsec.key" |
Pfad zur gemeinsamen IPSec-Schlüsseldatei. |
|
remote_host |
82.56.42.25 |
Der externen Schnittstelle von "vpn1" zugewiesene Adresse. |
|
tcp_ports |
3306,22 |
Standardport für MySQL-Server und SSH. |
OpenVPN muss auf dem Client-Rechner verwendet werden, um auf einen sicheren VPN-Tunnel zuzugreifen, der von der VPN-Appliance verfügbar gemacht wird.
In der Appliance verwendete Drittanbieter-/Open-Source-Software von Drittanbietern
VPN verwendet zusätzlich zu den Drittanbieter-Open-Source-Paketen der jeweiligen Basisklasse LUX5 die folgenden Drittanbieter-Open-Source-Pakete.
|
Software |
Version |
Geändert |
Lizenz |
Hinweise |
|
IPsec-Tools |
0.6.5-13.el5_3.1 |
Nein |
BSD |
homepage |
|
iptables |
1.3.5-5.3.el5_4.1 |
Nein |
GPLv2 |
N/A |
|
iptables-ipv6 |
1.3.5-5.3.el5_4.1 |
Nein |
GPLv2 |
N/A |
|
LZO |
2.03 |
Nein |
GPLv2 |
homepage |
|
OpenVPN |
2.1.4 |
Nein |
GPLv2 |
homepage |
|
samba-client |
3.0.33-3.15.el5_4 |
Nein |
GPLv2 |
N/A |
|
samba-common |
3.0.33-3.15.el5_4 |
Nein |
GPLv2 |
N/A |
|
iproute2 |
2.6.29-1 |
Nein |
GPLv2 |
homepage |
|
autossh |
1.4b |
Nein |
BSD |
homepage |
| Copyright © 2012 CA. Alle Rechte vorbehalten. |
|