最新版本:1.0.2-1

|
概览 |
|
|
目录 |
系统 |
|
类别 |
网关 |
|
用户卷 |
否 |
|
最小 内存 |
96MB |
|
操作系统 |
Linux |
|
约束 |
否 |
VPN2 是在 IPv4 和 IPv6 网络中运行的虚拟专用网络组件,旨在为网格间通信以及远程访问应用和组件提供安全可靠的通道。 不使用 VPN2 通道也可以运行 VPN,在此情况下,VPN 充当明文 IN/OUT 组合网关。 VPN2 还可用于无缝互连 IPv4 和 IPv6 CA AppLogic 网格。 VPN2 基于 OpenVPN、OpenSSH 和 Racoon 开源软件包。
VPN 具有三种基本运行模式:server、client 和 both。
VPN2 对身份验证和加密支持 IPSec、共享密钥文件、SSL 证书和 ssh 密钥文件。 可以在远程工作站上使用常规 OpenVPN/OpenSSH 客户端连接到 VPN2,随即对 CA AppLogic 上运行的应用的内部组件提供安全访问。 VPN2 组件支持生成共享密钥文件、SSL 证书和 ssh 密钥。
要使用 VPN2 基于安全 VPN 通道远程访问 CA AppLogic 应用,可以在客户端计算机上使用 OpenVPN 客户端软件或 OpenSSH(或其他某些兼容软件)。
资源
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.1 |
16 |
0.2 |
|
内存 |
96 MB |
32 GB |
96MB |
|
带宽 |
1 Mbps |
2 Gbps |
250 Mbps |
终端
|
名称 |
方向 |
协议 |
描述 |
|
clt |
in |
任何 |
在 VPN 作为 client 运行时,用于要通过 in 终端定向的所有传入流量的通用输入。 如果 VPN 配置为在 in 终端上建立通道,则发送给 clt 的数据包将定向到建立的通道;如果通道未建立,则将数据包丢弃。 |
|
in |
in,out |
任何 |
为分配的 IP 接收所有加密的(传入或传出)流量 |
|
srv |
out |
任何 |
在 VPN 作为 server 运行时,用于要通过 in 终端接收的所有传出流量的通用输出。 在通过 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 |
用于发送性能和资源使用统计信息。 如果未使用,则可以保持断开连接状态。 |
in 终端用于加密流量(入站或出站)。此终端通过“应用配置编辑器”的“接口”选项卡进行配置。
属性
常规属性
|
属性名 |
类型 |
描述 |
|
dns1 |
IP 地址 |
定义 VPN2 将 DNS 请求转发到的主要 DNS 服务器。 如果留空,VPN2 将使用根 DNS 服务器。 默认值:空 |
|
dns2 |
IP 地址 |
定义当主要服务器不可用时,VPN2 将 DNS 请求转发到的备份 DNS 服务器。 如果留空,VPN2 将不使用备份 DNS 服务器。 默认值:空 |
VPN 属性
|
属性名 |
类型 |
描述 |
|
mode |
字符串 |
操作方式。 可能值为: server-VPN2 以 server 模式运行,接受来自 in 终端上的已建立通道的传入流量并将其发送到 srv 终端。 client-VPN2 以 client 模式运行,接受 clt 终端上的传入流量并将其发送到 in 终端上的已建立通道中。 both-VPN2 同时以 client 和 server 模式运行。 默认值:server。 |
|
通道 |
字符串 |
要建立的通道的类型。 可能值为: 证书-使用 SSL 客户端和服务器证书建立 VPN 通道,用于 OpenVPN 的身份验证和加密。 如果服务器证书不存在,则会自动生成;必须使用 VPN2 服务器上的 /appliance/security.sh 脚本手工生成客户端证书,并将它复制到数据卷或 nfs 挂接卷的 /client/ 子目录中。 该模式适用于 IPv4 和 IPv6。 共享密钥-使用 OpenVPN 共享密钥建立 VPN 通道。 如果该文件不存在,则会在 VPN2 服务器上自动生成该文件,其所在位置为数据卷或 nfs 挂接卷的 /server/ 子目录,名称为 secret.key。 必须在客户端 VPN2 组件上将该文件复制到 /client/ 子目录中。 该模式适用于 IPv4 和 IPv6。 ssh 密钥-使用用于身份验证的 OpenSSH 密钥文件建立 SSH 通道。 密钥文件是使用 /appliance/security.sh 服务器端脚本生成的。 必须将客户端密钥文件复制到挂接了 nfs 的存储数据卷的 /client/ 子目录中。 该模式适用于 IPv4 和 IPv6。 ipsec 共享密钥-在 VPN2 实例之间建立 IPSec 通道。 auth_path 属性指定的文件的第一行用作共享密钥。 该模式仅适用于 IPv4。 ipsec 证书-在 VPN2 实例之间建立使用证书的 IPSec 通道。 如果服务器证书不存在,则自动生成或使用 /appliance/security.sh 脚本生成;必须使用 VPN2 服务器上的 /appliance/security.sh 脚本手工生成客户端证书,并将它复制到数据卷或 nfs 挂接卷的 /client/ 子目录中。 该模式仅适用于 IPv4。 对于这两种运行模式,所有证书都必须由同一组件生成,并随其 ca.crt 证书一起发布。 cleartext-不建立任何通道;VPN2 组件作为组合的 IN/OUT 网关运行,接受 clt 终端上的流量并通过 in 终端转发该流量,还接受 in 终端上的流量并通过 srv 终端转发该流量。 该模式适用于 IPv4 和 IPv6。 对于 IPv6 模式,remote_host 属性必须包含对等方的地址。 默认值:cleartext。 |
|
auth_path |
字符串 |
通道的身份验证信息。 对于操作的共享密钥模式,这是数据卷的共享密钥文件的相对路径(例如“client/secret.key”文件的“secret.key”)。 对于证书模式,这是证书/密钥文件对的相对路径,包括没有扩展名的文件名。 例如:如果证书文件 client1-2009.crt 和 client1-2009.key 位于数据卷的 /client 子目录,则此处必须指定“client1-2009”。 如果通道是 cleartext,则忽略该属性。 如果通道是 ssh 密钥,此属性显示 ssh 公共(对于 VPN 服务器)或专用(对于 VPN 客户端)密钥文件的路径,包括文件名(例如 /client/1/ssh.key 公共密钥文件的“/1/ssh.key”)。 默认值:空 |
|
log_level |
字符串 |
VPN 日志记录级别。 可能值为: none-不记录任何内容。 emerg-只记录 VPN2 检测到的错误。 warn-既记录警告又记录错误。 notice-记录警告、错误和通知。 debug-除警告、通知和错误外,还记录其他调试信息。 默认值:如果未连接日志终端,则为 none;如果连接日志终端,则为 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 端口。
默认值:空 |
|
udp_ports |
字符串 |
与 tcp_ports 相同,但用于 UDP 协议。
默认值:空 |
|
aux_protocols |
字符串 |
允许的其他 IP 协议数的逗号或空格分隔的字符串(例如:6 表示 TCP,47 表示 GRE)。 可以使用名称指定其他协议(例如指定“gre”而不指定 47)。 有关 分配的信息,请参阅“协议数”。
默认值:空(禁用) |
客户端属性
|
属性名 |
类型 |
描述 |
|
remote_host |
字符串 |
定义所有流量要转发到的远程主机。 可以是主机的 DNS 名称,也可以是以“点”表示法表示的 IPv4 或 IPv6 地址。 此属性是强制性属性。 默认值:空 |
|
dns_poll |
整数 |
VPN2 在检查从 remote_host 的 DNS 名称到 IP 地址的映射时将使用的轮询时间间隔(秒)(仅在将 remote_host 指定为 DNS 名称时使用)。 设置为 0 将会禁用轮询且不尝试检测更改。 默认值:3600 秒(1 小时)。 |
|
ssh_ports |
字符串 |
SSH 密钥模式的客户端属性,用于指定要转发到 VPN2 服务器的 tcp 端口。 不支持端口范围,可以使用空格或逗号分隔端口。 默认值:空 |
卷
|
名称 |
描述 |
|
data |
包含配置文件和证书文件的读写数据卷(占位符)。 如果已连接 fs 终端,则不需要该卷。 如果已连接 fs 并已提供数据卷,VPN2 将无法启动并记录错误消息。 VPN2 服务器操作必需的所有文件都存储在数据存储的 /server/ 子目录中。 VPN2 客户端操作必需的所有文件都存储在 /client/ 子目录中。 |
自定义计数器
VPN2 组件通过 mon 终端报告以下自定义计数器。
|
计数器名称 |
描述 |
|
server_bytes_in |
VPN2 接收的总字节数。 |
|
server_bytes_out |
VPN2 发送的总字节数。 |
|
client_bytes_in |
VPN2 发送的总字节数。 |
|
client_bytes_out |
发送至客户端通道的总字节数。 |
|
client_bytes_out |
连接到 VPN2 的客户端的数量。 |
性能
两个测试应用驻留在同一 CA AppLogic 网格上。 为两个 VPN2 组件(客户端和服务器)以及服务器和客户端组件分配了 100MB 带宽。 提取了多个对象,每次 10 个对象,每个对象大小为 1 MB,持续时间为 60 秒。
|
模式 |
带宽(MB/秒) |
对象大小 |
请求数/秒 |
传输速率(MB/秒) |
|
证书 |
100 |
1 MB |
12.5667 |
12.56 |
|
共享密钥 |
100 |
1 MB |
12.5166 |
12.51 |
|
SSH 密钥 |
100 |
1 MB |
12.7667 |
12.76 |
|
明文 |
100 |
1 MB |
13.0329 |
12.76 |
错误消息
在组件启动失败的情况下,系统日志可能记录以下错误消息:
|
错误消息 |
描述 |
|
无法挂接数据卷 |
VPN2 无法挂接数据卷。 验证卷是否已格式化并可用。 |
|
无法生成 server_key |
VPN2 无法生成共享密钥文件。 数据卷可能太小,或者是以只读方式挂接的。 |
|
无法启动 OpenVPN 服务器 |
VPN2 无法启动 OpenVPN 服务器。 请联系 3Tera 支持。 |
|
无法生成证书。 |
VPN2 无法创建证书颁发机构并为证书服务器运行模式生成必要的证书。 数据卷可能太小,或者是以只读方式挂接的。 |
|
无法生成 DH 文件。 |
VPN2 无法生成 Diffie-Hellman 密钥文件。 数据卷可能太小,或者是以只读方式挂接的。 |
|
密钥文件 client_auth 不存在 |
在 auth 属性中指定的文件 client_auth 不存在。 验证文件的路径和名称。 |
|
远程服务器地址为空 |
用于通道 X 的远程 VPN2 服务器地址为空。 |
|
无法为 clientX 通道启动 OpenVPN |
VPN2 无法为客户端通道 X 启动 OpenVPN 软件。 可能有些属性或密钥文件无效。 |
|
证书文件 client_auth.crt 不存在 |
VPN2 找不到证书文件。 在 auth 属性中为证书客户端运行模式指定的路径或文件名无效。 |
|
密钥文件 client_auth.key 不存在 |
VPN2 找不到密钥文件。 在 auth 属性中为证书客户端运行模式指定的路径或文件名无效。 |
|
缺少证书颁发机构证书 ca_cert |
VPN2 找不到证书颁发机构证书。 它应位于数据卷上的 /CA/ca.crt 文件中。 |
通道类型
明文
该模式支持“单服务器 - 多客户端”方案,允许从多个位置访问 VPN2 服务器。 在该模式中不建立 VPN 通道,也不需要数据存储(数据卷和 NAS 组件都不连接到 fs 终端)。 该模式适用于 IPv4 和 IPv6。
在服务器 VPN2 组件上,通过 tcp_ports、udp_ports、aux_protocols 属性对 in 终端上接收的流量进行筛选并将其转发到 srv 终端。
在客户端 VPN2 组件上,在 clt 终端上接收的所有流量都转发到在 remote_host 属性中指定的远程 VPN2 服务器。
必须在服务器端配置的属性:mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols。
必须在客户端配置的属性:mode、tunnel、remote_host。
如果正在使用 IPv6 模式,则必须用客户端的地址来配置服务器端属性 remote_host。
证书
该模式支持“单服务器 - 多客户端”方案,允许从多个位置访问 VPN2 服务器。 需要数据存储(连接到 fs 终端的数据卷或 NAS 组件)。 该模式在 IPv4 和 IPv6 中均适用。
启动后,如果必要的证书和密钥文件不存在,服务器组件会生成这些文件。 可以使用位于 /appliance/ 目录的 security.sh 脚本重新生成这些文件。 在配置任何 VPN2 客户端之前,必须为其生成证书。 用户可以登录正在运行的 VPN2 服务器组件并生成客户端密钥对,如下所述:
grid> comp login VPN2-1:main.VPN2
CentOS 发行版 6(最终)
[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
生成的客户端 SSL 证书和密钥文件。
==============================================
这些文件以及 CA 证书文件应复制到 VPN2 服务器的
数据卷或 fs 挂接卷的 /client/ 子目录。
在 auth_path 属性中应指定到客户端文件(client.829de5afcac564b3)的路径。
文件的位置:
客户端证书:/mnt/fs/server/client.829de5afcac564b3.crt
客户端密钥文件:/mnt/fs/server/client.829de5afcac564b3.key
CA 证书文件位于 /mnt/fs/server/ca.crt
必须将客户端证书和密钥文件复制到客户端 VPN2 组件上数据存储的 /client/ 子目录下,并将 auth_path 设置为适当值,在此示例中为“client.829de5afcac564b3”。 还必须将 VPN2 服务器 (/mnt/fs/server/ca.crt) 中的 CA 证书复制到客户端组件上的 /client/ 子目录,并将其命名为“ca.crt”。 每个客户端 VPN2 组件都应有自己的证书。
在服务器 VPN2 组件上,对 in 终端上接收的流量解密,通过 tcp_ports、udp_ports、aux_protocols 属性对其进行筛选并将其转发到 srv 终端。
在客户端 VPN2 组件上,对 clt 终端上接收的所有流量加密并将其转发到在 remote_host 属性中指定的远程 VPN2 服务器。
必须在服务器端配置的属性:mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols。
必须在客户端配置的属性:mode、tunnel、remote_host、auth_path。
共享密钥文件
该模式只支持“单服务器 - 单客户端”方案,一次只允许从单个客户端访问 VPN2 服务器。 需要数据存储(连接到 fs 终端的数据卷或 NAS 组件)。 该模式在 IPv4 和 IPv6 中均适用。
启动后,如果共享密钥文件 /server/secret.key 不存在,则服务器组件会生成该文件。 可以使用位于 /appliance/ 目录的 security.sh 脚本重新生成该文件。 在配置任何 VPN2 客户端之前,必须将该共享密钥文件复制到其数据存储中的 /client/ 子目录。 要生成新的共享密钥文件,用户可以登录到正在运行的 VPN2 服务器组件并发出以下命令:
[VPN2-1:main.VPN2 server]# /appliance/security.sh generate_secret
生成的 OpenVPN 共享密钥文件。
======================================
该文件应复制到 VPN2 服务器的数据卷或 fs 挂接卷的 /server/ 子目录,
以及 VPN2 客户端的数据卷或 fs 挂接卷的 /client/ 子目录。
在 VPN2 客户端的 auth_path 属性中应指定到它的路径。
文件位置:/mnt/fs/server/secret.key
如果已存在密钥文件,则新生成的密钥文件会覆盖旧文件。 必须将该共享密钥文件“/mnt/fs/server/secret.key”复制到客户端 VPN2 组件上数据存储的 /client/ 子目录中,并将 auth_path 属性设置为正确值,在此示例中为“secret.key”。 可以配置多个客户端 VPN2 组件,但任候时候只能连接一个组件。
在服务器 VPN2 组件上,对 in 终端上接收的流量解密,通过 tcp_ports、udp_ports、aux_protocols 属性对其进行筛选并将其转发到 srv 终端。
在客户端 VPN2 组件上,对 clt 终端上接收的所有流量加密并将其转发到在 remote_host 属性中指定的远程 VPN2 服务器。
必须在服务器端配置的属性:mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols。
必须在客户端配置的属性:mode、tunnel、remote_host、auth_path。
Ssh 密钥
该模式支持“单服务器 - 多客户端”方案,允许从多个位置访问 VPN2 服务器。 需要数据存储(连接到 fs 终端的数据卷或 NAS 组件)。 只有 tcp 流量可以通过 ssh 通道传送,因此在服务器端只能使用 tcp_ports 属性。 不支持端口范围-必须在 ssh_ports 客户端属性中显式指定应转发的每个端口。 该模式在 IPv4 和 IPv6 中均适用。
VPN2 服务器启动后会生成默认的 ssh 密钥对;默认密钥位于:服务器密钥(公钥):server/ssh-server.pub;客户端密钥(私钥):server/ssh-client.key。可以使用 security.sh 脚本手工生成更多密钥:
[VPN2-1:main.VPN2 ~]# /appliance/security.sh generate_ssh
生成的 SSH 密钥对。
======================
公钥应复制到 VPN2 服务器的数据卷或 fs 挂接卷的 /server/ 子目录。
私钥应复制到 VPN2 客户端的数据卷或 fs 挂接卷的 /client/ 子目录。
在 VPN2 客户端和服务器上 auth_path 属性中应指定到密钥文件的路径。
文件的位置:
公钥:/mnt/fs/server/ssh.11179ebbfa3f6852.pub
私钥:/mnt/fs/server/ssh.11179ebbfa3f6852.key
应该将公钥复制到 VPN2 服务器的 /server/ 子目录中,将私钥复制到客户端的 /client/ 子目录中。 在客户端和服务器上均应设置 auth_path 属性。 如果服务器上的 auth_path 为空,则使用默认的 SSH 密钥。
在服务器 VPN2 组件上,对 in 终端上接收的流量解密,通过 ssh_ports 属性对其进行筛选并将其转发到 srv 终端。 只支持 tcp 端口转发。 auth_path 属性定义要使用的 SSH 公钥。 当组件同时在客户端和服务器模式下工作时,公钥和私钥应该名称相同,并位于 /server/ 和 /client/ 子目录中。 在服务器和客户端上应以相同方式配置 ssh_ports 属性。
在客户端 VPN2 组件上,对 clt 终端上接收的所有流量加密并将其转发到在 remote_host 属性中指定的远程 VPN2 服务器。
必须在服务器端配置的属性:mode、tunnel、allowed_hosts、auth_path、tcp_ports。
必须在客户端配置的属性:mode、tunnel、remote_host、auth_path、ssh_ports。
注意:SSH 服务器-服务器模式。 可以在 both 模式下同时配置两个 VPN2 组件,并将它们互相连接。 要使用该模式,必须以特殊方式配置组件:
假设有 2 个组件,名称分别为 VPN21 和 VPN22:
IPSec 证书
该模式支持“单服务器 - 多客户端”方案,允许从多个位置访问 VPN2 服务器。 需要数据存储(连接到 fs 终端的数据卷或 NAS 组件)。 该模式仅适用于 IPv4。
启动后,如果必要的证书和密钥文件不存在,服务器组件会生成这些文件。 可以使用位于 /appliance/ 目录的 security.sh 脚本重新生成这些文件。 在配置任何 VPN2 客户端之前,必须为其生成证书。 用户可以登录正在运行的 VPN2 服务器组件并生成客户端密钥对,如下所述:
grid> comp login VPN2-1:main.VPN2
CentOS 发行版 6(最终)
[VPN2-1:main.VPN2 ~]# /appliance/security.sh generate_client
生成的客户端 SSL 证书和密钥文件。
==============================================
这些文件以及 CA 证书文件应复制到 VPN2 服务器的
数据卷或 fs 挂接卷的 /client/ 子目录。
在 auth_path 属性中应指定到客户端文件(client.829de5afcac564b3)的路径。
文件的位置:
客户端证书:/mnt/fs/server/client.829de5afcac564b3.crt
客户端密钥文件:/mnt/fs/server/client.829de5afcac564b3.key
CA 证书文件位于 /mnt/fs/server/ca.crt
必须将客户端证书和密钥文件复制到客户端 VPN2 组件上数据存储的 /client/ 子目录下,并将 auth_path 设置为适当值,在此示例中为“client.829de5afcac564b3”。 还必须将 VPN2 服务器 (/mnt/fs/server/ca.crt) 中的 CA 证书复制到客户端组件上的 /client/ 子目录,并将其命名为“ca.crt”。 每个客户端 VPN2 组件都应有自己的证书。
重要信息! 在 both 模式下使用 VPN2 时,操作将有所不同。 在此情况下,所有证书、客户端和服务器必须由同一 VPN2 实例生成,并且与其 ca.crt 证书一起分发到其他实例中。
在服务器 VPN2 组件上,对 in 终端上接收的流量解密,通过 tcp_ports、udp_ports、aux_protocols 属性对其进行筛选并将其转发到 srv 终端。
在客户端 VPN2 组件上,对 clt 终端上接收的所有流量加密并将其转发到在 remote_host 属性中指定的远程 VPN2 服务器。
必须在服务器端配置的属性:mode、tunnel、allowed_hosts、tcp_ports、udp_ports、aux_protocols。
必须在客户端配置的属性:mode、tunnel、remote_host、auth_path。
|
版权所有 © 2013 CA。
保留所有权利。
|
|