云服务器内容精选
-
操作步骤 根据Windows操作系统下载Easy-RSA安装包至“D:\”目录下。 Windows 32位操作系统,可以下载EasyRSA-3.1.7-win32.zip。 Windows 64位操作系统,可以下载EasyRSA-3.1.7-win64.zip。 此处以安装EasyRSA-3.1.7-win64为示例。 解压缩“EasyRSA-3.1.7-win64.zip”至指定目录,如“D:\EasyRSA-3.1.7”。 进入“D:\EasyRSA-3.1.7”目录。 在地址栏中输入cmd并按回车键,打开命令行窗口。 执行以下命令,运行Easy-RSA。 .\EasyRSA-Start.bat 系统显示如下类似信息: Welcome to the EasyRSA 3 Shell for Windows. Easy-RSA 3 is available under a GNU GPLv2 license. Invoke './easyrsa' to call the program. Without commands, help is displayed. EasyRSA Shell # 执行以下命令,初始化PKI环境。 ./easyrsa init-pki 系统显示如下类似信息: Notice ------ 'init-pki' complete; you may now create a CA or requests. Your newly created PKI dir is: * D:/EasyRSA-3.1.7/pki Using Easy-RSA configuration: * undefined EasyRSA Shell # 执行命令后,在“D:\EasyRSA-3.1.7”的目录下自动生成了“pki”的文件夹。 配置变量参数。 将“D:\EasyRSA-3.1.7”目录下的“vars.example”文件复制到“D:\EasyRSA-3.1.7\pki”目录下。 将“D:\EasyRSA-3.1.7\pki”目录下的“vars.example”重命名为“vars”。 默认按“vars.example”中描述的参数值进行配置。如需自定义参数值,按需设置“vars”文件的参数值。 执行以下命令,生成CA证书。 ./easyrsa build-ca nopass 系统显示如下类似信息: Using Easy-RSA 'vars' configuration: * D:/EasyRSA-3.1.7/pki/vars Using SSL: * openssl OpenSSL 3.1.2 1 Aug 2023 (Library: OpenSSL 3.1.2 1 Aug 2023) .....+..+.............+......+........+...+...+....+++++++++++++++++++++++++++++++++++++++*.+.+.....+..........+............+...+++++++++++++++++++++++++++++++++++++++*............+.....+......+...+....+..+..........+.....+....+...............+..+.........+.............+......+..+...+....+..+.+.........+.....+.........+....+............+...+...+.....+........................+...+.+.....+....+...+.........+...+...+...+.....+......+........................++++++ .+++++++++++++++++++++++++++++++++++++++*.........+..........+++++++++++++++++++++++++++++++++++++++*.+......++++++ ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]:p2cvpn.com # 设置CA证书名称 Notice ------ CA creation complete. Your new CA certificate is at: * D:/EasyRSA-3.1.7/pki/ca.crt EasyRSA Shell # 查看CA证书及其私钥。 生成的CA证书默认存放在“D:\EasyRSA-3.1.7\pki”目录下。 本示例中生成的证书为“ca.crt”。 生成的CA私钥默认存放在“D:\EasyRSA-3.1.7\pki\private”目录下。 本示例中生成的私钥为“ca.key”。 执行以下命令,生成服务端证书及其私钥。 ./easyrsa build-server-full p2cserver.com nopass 此命令中,“p2cserver.com”为服务端证书的CN,必须是 域名 格式,如“p2c-server.com”。否则无法正常托管到 云证书管理服务 ,请根据实际填写。 系统显示如下类似信息: Using Easy-RSA 'vars' configuration: * D:/EasyRSA-3.1.7/pki/vars Using SSL: * openssl OpenSSL 3.1.2 1 Aug 2023 (Library: OpenSSL 3.1.2 1 Aug 2023) .+............+........+............+............+.+...............+.....+....+....................+............+.+..+......+............+....+.........+..+.........+.+.........+..............+.........+++++++++++++++++++++++++++++++++++++++*...+......+.....+......+...+++++++++++++++++++++++++++++++++++++++*..+...+..........+......+...........+....+......+.....+....+.....+....+........+...+.......+...+..+.......+..+......+.............+..+....+......+...+.....+................+......+..+.............+..+................+.....+......+....+...........+....+.....+.........+.+..+.............+...........+..........+......+........+............+...+....+..+......+......................+.....+......+.+...+..+...+.+......+........+...+....+.....+......+....+...+..+................+..+...+.......+..+......+..........+.........+...+..+.........+......+......++++++ ........+.+......+...+......+.....+...+.+.....+.+........+......+++++++++++++++++++++++++++++++++++++++*...+.....+...+.+.........+......+........+++++++++++++++++++++++++++++++++++++++*......+........+.+...+.....+.+..............+.+.....+.+...+...+.....+.......+.................+.+............+..+......+...+....+...+..+.+.....+.....................+.+..+.+...................................+....+........+.............+.....+....+.....+...+..........+........+.+.....+...+.............+........+....+......+.....+.......+..+............+.........+.+......+...+...............+......+...........+............+.......+...........+.......+...............+......+.................+...+.+...+..+...+.+..........................+.+.........+......+............+..+....+..+....+........+.......+........+...+...+.+...+...+..+...............+...+..........+..+.......+.........+.....+.........+................+......+...+......+.....+.......+...+..............+.+.....+.+...+...........+.+...+...+...+............+..+.......+...........+.......+...+...+...........+.....................+...+....+...........+............+...+......+..........+........+.+.....+....+.....+.+..+..........+..............+...+......+.+...+...........+.+......+...++++++ ----- Notice ------ Private-Key and Public-Certificate-Request files created. Your files are: * req: D:/EasyRSA-3.1.7/pki/reqs/p2cserver.com.req * key: D:/EasyRSA-3.1.7/pki/private/p2cserver.com.key You are about to sign the following certificate: Request subject, to be signed as a server certificate for '825' days: subject= commonName = p2cserver.com Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes # 输入“yes”以继续 Using configuration from D:/EasyRSA-3.1.7/pki/openssl-easyrsa.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'p2cserver.com' Certificate is to be certified until Sep 22 09:56:54 2026 GMT (825 days) Write out database with 1 new entries Database updated Notice ------ Certificate created at: * D:/EasyRSA-3.1.7/pki/issued/p2cserver.com.crt Notice ------ Inline file created: * D:/EasyRSA-3.1.7/pki/inline/p2cserver.com.inline EasyRSA Shell # 查看服务端证书及其私钥。 生成的服务端证书默认存放在“D:\EasyRSA-3.1.7\pki\issued”目录下。 本示例中生成的服务端证书为“p2cserver.com.crt”。 生成的服务端私钥默认存放在“D:\EasyRSA-3.1.7\pki\private”目录下。 本示例中生成的服务端私钥为“p2cserver.com.key”。 执行以下命令,生成客户端证书及其私钥。 ./easyrsa build-client-full p2cclient.com nopass 此命令中,客户端证书的命名(如“p2cclient.com”)应与服务端证书的命名(如“p2cserver.com”)不一致。 系统显示如下类似信息: Using Easy-RSA 'vars' configuration: * D:/EasyRSA-3.1.7/pki/vars Using SSL: * openssl OpenSSL 3.1.2 1 Aug 2023 (Library: OpenSSL 3.1.2 1 Aug 2023) .......+++++++++++++++++++++++++++++++++++++++*...+...+...+.....+...+....+......+......+........+.+.....+............+++++++++++++++++++++++++++++++++++++++*.+.....+.+.....+.........+.......+..+...+.......+...+..+......+.+......+........+....+...+...+..+.......+......+.....+..........+...........+....+......+.....+.........+......+.+..+...+..........+........+......+....+......+...........+.......+.....+.............+..+.+...........+..........+...+..+.........+......+.+........+.........+.+...............+..+..........+...+............+...+.....+.+...........+....+.....+.........+....+.......................+....+...+..+....+..+.......+...+............+.....+............+.+........+.......+.....+....+.........+..+............+..........+..+.............+...+...+..++++++ ..+.....+.......+.....+.........+....+++++++++++++++++++++++++++++++++++++++*.....+......+..+++++++++++++++++++++++++++++++++++++++*.......+.+.....+....+.........+...+.....+.........+...+...............+...+....+.....+.+...+......+......+...+.........+..+...+...+....+.........+..+...+...................+......+.....+.+...+...+.........+.....+..................+...+...+......+.+..+......+.+......+.....+...+..........+..+............+.......+.........+.....+......+.+..+............+................+..+...+....+......+.....+...+....+..+......+.........+.........++++++ ----- Notice ------ Private-Key and Public-Certificate-Request files created. Your files are: * req: D:/EasyRSA-3.1.7/pki/reqs/p2cclient.com.req * key: D:/EasyRSA-3.1.7/pki/private/p2cclient.com.key You are about to sign the following certificate: Request subject, to be signed as a client certificate for '825' days: subject= commonName = p2cclient.com Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes # 输入“yes”以继续 Using configuration from D:/EasyRSA-3.1.7/pki/openssl-easyrsa.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'p2cclient.com' Certificate is to be certified until Sep 22 09:58:26 2026 GMT (825 days) Write out database with 1 new entries Database updated Notice ------ Certificate created at: * D:/EasyRSA-3.1.7/pki/issued/p2cclient.com.crt Notice ------ Inline file created: * D:/EasyRSA-3.1.7/pki/inline/p2cclient.com.inline EasyRSA Shell # 查看客户端证书及其私钥。 生成的客户端证书默认存放在“D:\EasyRSA-3.1.7\pki\issued”目录下。 本示例中生成的客户端证书为“p2cclient.com.crt”。 生成的客户端私钥默认存放在“D:\EasyRSA-3.1.7\pki\private”目录下。 本示例中生成的客户端私钥为“p2cclient.com.key”。
-
数据规划 表1 规划数据 类别 规划项 规划值 VPC 待互通子网 192.168.0.0/16 VPN网关 互联子网 用于VPN网关和VPC通信,请确保选择的互联子网存在3个及以上可分配的IP地址。 192.168.2.0/24 最大连接数 10 EIP地址 EIP地址在购买EIP时由系统自动生成。 本示例假设EIP地址生成如下:11.xx.xx.11 服务端 本端网段 192.168.1.0/24 服务端证书 cert-server(使用 云证书管理 服务托管的服务端证书名称) SSL参数 协议:TCP 端口:443 加密算法:AES-128-GCM 认证算法:SHA256 是否压缩:否 客户端 客户端网段 172.16.0.0/16 客户端认证类型 默认选择“口令认证(本地)”。 用户组 名称:Testgroup_01 用户 名称:Test_01 密码:请根据实际配置 所属用户组:Testgroup_01 访问策略 名称:Policy_01 目的网段:192.168.1.0/24 用户组:Testgroup_01
-
操作流程 通过VPN实现客户端远程接入VPC的操作流程如图 操作流程所示。 图1 操作流程 表2 操作流程说明 序号 步骤 说明 1 步骤一:创建VPN网关 VPN网关需要绑定EIP作为出口公网IP。 如果您已经购买EIP,则此处可以直接绑定使用。 2 步骤二:配置服务端 指定客户端需要访问的网段(本端网段)和客户端访问时使用的网段(客户端网段)。 选择服务端证书和客户端认证类型,用于建立VPN连接时的身份认证。 客户端认证类型支持“证书认证”和“口令认证(本地)”两种方式。 配置VPN连接的SSL参数(协议、端口、认证算法、加密算法等)。 3 步骤三:配置客户端 从管理控制台下载客户端配置,对配置文件进行修改后导入对应的VPN客户端软件。 4 步骤四:验证连通性 打开客户端设备的命令行窗口,执行ping命令,验证连通性。
-
VPN网关 权限 对应API接口 授权项(Action) 依赖的授权项 IAM 项目 (Project) 企业项目 (Enterprise Project) 订购包周期终端入云VPN网关 POST /v5/{project_id}/p2c-vpn-gateways/subscribe/{order_id} vpn:p2cVpnGateway:subscribe vpn:system:listAvailabilityZones vpc:vpcs:list vpc:subnets:get vpc:bandwidths:list vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:list vpc:quotas:list √ × 变更包周期 VPN网关规格 PUT /v5/{project_id}/p2c-vpn-gateways/update-specification/{order_id} vpn:p2cVpnGateway:updateSpecification - √ × 更新终端入云VPN网关 PUT /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:update vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:get vpc:publicIps:list vpc:bandwidths:list √ × 查询终端入云VPN网关详情 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:get vpc:publicIps:get √ × 查询终端入云VPN网关列表 GET /v5/{project_id}/p2c-vpn-gateways vpn:p2cVpnGateway:list vpc:publicIps:get √ × 查询终端入云VPN连接列表 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections vpn:p2cVpnGateway:listConnections - √ × 断开P2C VPN网关连接 POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections/{connection_id}/disconnect vpn:p2cVpnGateway:disconnectConnection - √ × 父主题: 终端入云VPN授权项列表
-
VPN网关 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 订购包周期终端入云VPN网关 POST /v5/{project_id}/p2c-vpn-gateways/subscribe/{order_id} vpn:p2cVpnGateway:subscribe vpn:system:listAvailabilityZones vpc:vpcs:list vpc:subnets:get vpc:bandwidths:list vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:list vpc:quotas:list √ × 变更包周期 VPN网关规格 PUT /v5/{project_id}/p2c-vpn-gateways/update-specification/{order_id} vpn:p2cVpnGateway:updateSpecification - √ × 更新终端入云VPN网关 PUT /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:update vpc:publicIps:create vpc:publicIps:delete vpc:publicIps:update vpc:publicIps:get vpc:publicIps:list vpc:bandwidths:list √ × 查询终端入云VPN网关详情 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id} vpn:p2cVpnGateway:get vpc:publicIps:get √ × 查询终端入云VPN网关列表 GET /v5/{project_id}/p2c-vpn-gateways vpn:p2cVpnGateway:list vpc:publicIps:get √ × 查询终端入云VPN连接列表 GET /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections vpn:p2cVpnGateway:listConnections - √ × 断开P2C VPN网关连接 POST /v5/{project_id}/p2c-vpn-gateways/{p2c_vgw_id}/connections/{connection_id}/disconnect vpn:p2cVpnGateway:disconnectConnection - √ × 父主题: 终端入云VPN授权项列表
-
响应消息 响应参数 返回状态码为 200: 查询成功。 表2 响应Body参数列表 名称 类型 描述 p2c_vpn_gateway p2c_vpn_gateway object vpn_gateway对象 request_id String 请求ID 表3 p2c_vpn_gateway 名称 类型 描述 id String 功能说明:P2C VPN网关ID 格式:36位UUID name String 功能说明:P2C VPN网关名称 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线) status String 功能说明:P2C VPN网关状态 取值范围: PENDING_CREATE:创建中 PENDING_UPDATE:更新中 PENDING_DELETE:删除中 ACTIVE:正常 FAULT:异常 FROZEN:冻结 vpc_id String P2C VPN网关所连接的VPC的ID connect_subnet String P2C VPN网关所使用的VPC子网ID flavor String 功能说明:P2C VPN网关的规格类型 取值范围: Professional1:专业型1 availability_zone_ids Array of strings 可用区列表 eip ResponseEipInfo object 网关绑定的EIP信息 max_connection_number Integer 功能说明:最多支持同时在线的客户端连接数 取值范围:1~500 current_connection_number Integer 当前建连的客户端连接数 enterprise_project_id String 企业项目ID tags Array of VpnResourceTag objects 标签列表 order_id String 订单ID admin_state_up Boolean 功能说明:冻结状态 取值范围: true:未冻结 false:冻结 frozen_effect Integer 功能说明:冻结影响,标识该资源冻结后是否可以删除 取值范围: 0:未冻结 1:冻结可删除 2:冻结不可删除 version string 功能说明:网关版本 created_at String 功能说明:创建时间 UTC时间格式:yyyy-MM-ddTHH:mm:ssZ applied_at String 功能说明:生效时间 UTC时间格式:yyyy-MM-ddTHH:mm:ssZ updated_at String 功能说明:最后一次更新时间 UTC时间格式:yyyy-MM-ddTHH:mm:ssZ 表4 ResponseEipInfo 名称 类型 描述 id String 功能说明:EIP的ID 格式:36位UUID ip_version Integer 功能说明:EIP版本 取值范围:4 ip_billing_info String 功能说明:EIP的订单信息。包年/包月EIP才会返回订单信息,按需计费的EIP不返回 格式:order_id:product_id:region_id:project_id,如: CS 22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa type String 功能说明:EIP的类型 取值范围:可查看申请EIP表6中type字段的取值范围 ip_address String 功能说明:EIP的公网IPv4地址 格式:ipv4类型地址。例如:88.***.***.11 charge_mode String 功能说明:EIP的带宽计费模式。按流量计费或按带宽计费 取值范围: bandwidth:按带宽计费 traffic:按流量计费 bandwidth_id String 功能说明:EIP的带宽ID 格式:36位UUID bandwidth_size Integer 功能说明:EIP的带宽大小,单位:Mbit/s。每个region能够提供的EIP最大带宽不同,EIP的最大带宽受限于EIP服务,可以使用工单来提高帐户下的EIP的最大带宽 取值范围:1-1000,具体取值请参考弹性公网服务创建EIP资料。 bandwidth_name String 功能说明:EIP的带宽名称 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点) bandwidth_billing_info String 功能说明:EIP的带宽订单信息。包年/包月EIP带宽才会返回带宽订单信息,按需计费的EIP带宽不返回 格式:order_id:product_id:region_id:project_id,如: CS22********LIBIV:00301-******-0--0:br-iaas-odin1:0605768a************c006c7e484aa share_type String 功能说明: 带宽共享类型 取值范围: PER:独享带宽 表5 VpnResourceTag 名称 类型 描述 key String 功能说明:标签的键。 取值范围:1-128个字符,支持任意语种字母、数字、空格和_.:=+-@,但首尾不能含有空格,不能以_sys_开头。 value String 功能说明:标签的值。 取值范围:0-255个字符,支持任意语种字母、数字、空格和_.:/=+-@。 响应样例 { "p2c_vpn_gateway": { "id": "6d526e5f-a0c6-44b6-a785-000000000000", "name": "p2c-vpngw-0000", "status": "ACTIVE", "vpc_id": "05b9d7de-9acd-4a05-b497-1a3c75afaa0a", "connect_subnet": "1948ce22-ddc5-4fb6-87b8-dfcc9b176b51", "flavor": "Professional1", "availability_zone_ids": [ "cn-south-1f", "cn-south-1e" ], "eip": { "id": "f0bac06a-88a7-4d37-8e2e-c37691ee4ba2", "ip_version": 4, "ip_billing_info": "CS*********JWT1O:OFFI*************5078:cn-south-1:47190474************98781092d16c", "type": "5_youxuanbgp", "ip_address": "215.***.***.120", "charge_mode": "bandwidth", "bandwidth_id": "3456471c-9dac-40f6-8344-daca14fbd81e", "bandwidth_size": 20, "bandwidth_name": "p2c-vpngw-bandwidth-bd61", "bandwidth_billing_info": "CS*********JWT1O:OFFI*************5078:cn-south-1:47190474************98781092d16c", "share_type": "PER" }, "max_connection_number": 10, "current_connection_number": 0, "enterprise_project_id": "0", "tags": [], "order_id": "CS**********JWT1O", "admin_state_up": true, "frozen_effect": 0, "created_at": "2024-06-14T10:24:12.147Z", "updated_at": "2024-06-14T10:24:12.147Z" }, "request_id": "2ddd2f6107a8164ce6f6268bd991e57c" }
-
计费示例 假设您在2024/08/08 15:50:04购买了一个包年/包月终端入云VPN网关(规格:专业型1,VPN连接数:20,带宽大小:20),计费资源包括VPN网关、VPN连接。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2024/08/08 15:50:04 ~ 2024/09/08 23:59:59 第二个计费周期为:2024/09/08 23:59:59 ~ 2024/10/08 23:59:59 您需要为每个计费周期预先付费,各项VPN资源单独计费,计费公式如表 计费公式所示。 表2 计费公式 资源类型 计费公式 资源单价 VPN网关 元/月·个 请以 虚拟专用网络 价格详情中的价格为准。 VPN连接数 元/月·1个 请以虚拟专用网络价格详情中的价格为准。
-
计费说明 VPN的计费项由VPN网关、VPN连接组成。具体内容如表 虚拟专用网络计费项所示。 如您需要快速了解VPN服务的具体价格,请参见VPN价格详情。 表 终端入云VPN计费项标 * 的计费项为必选计费项。 表1 终端入云VPN计费项 计费项 计费项说明 适用的计费模式 计费公式 * VPN网关 不同规格的网关实例单价不同。 包年/包月 网关规格单价 * 购买时长 * VPN连接 默认支持10个免费的VPN连接,超出10个部分您需要额外购买。 包年/包月 连接单价 * 购买时长
-
数据规划 表1 规划数据 类别 规划项 规划值 VPC 待互通子网 192.168.0.0/16 VPN网关 互联子网 用于VPN网关和VPC通信,请确保选择的互联子网存在3个及以上可分配的IP地址。 192.168.2.0/24 已创建/剩余连接数 0/10 EIP地址 EIP地址在购买EIP时由系统自动生成。 本示例假设EIP地址生成如下:11.xx.xx.11 服务端 本端网段 192.168.0.0/24 服务端证书 cert-server(使用云证书管理服务托管的服务端证书名称) 客户端 SSL参数 协议:TCP 端口:443 加密算法:AES-128-GCM 认证算法:SHA256 是否压缩:否 客户端网段 172.16.0.0/16 客户端认证类型 选择“证书认证”,单击上传CA证书。 名称:ca-cert-client 内容: -----BEGIN CERTIFICATE----- od2VC7zXq7vmsVS5ZuyzeZA9CG+kzHsznZnmMjK+L9ddtRrLolRKIlE7VgWSVvn NCnGre6nQErWV688fsKJFIJ7xEBpt+S10zNuuk42OA36RsSauJWtLtebvhTav5df -----END CERTIFICATE-----
-
操作系统支持列表 表1 操作系统支持列表 操作系统类型 操作系统版本 客户端版本 如何操作 Windows Windows10及以上 OpenVPN GUI 2.6及以上版本 OpenVPN Connect 3.4.4及以上版本 配置Windows客户端 Linux Ubuntu 24.10 Ubuntu 22.04(jammy) 24.10系统为OpenVPN 2.6及以上版本 22.04系统为OpenVPN 2.5及以下版本 Ubuntu CentOS 7.9 CentOS 8 CentOS Stream 9 7.9、8系统为OpenVPN 2.4.12版本 Stream 9系统为OpenVPN 2.5及以上版本 CentOS Debian12 OpenVPN 2.5及以上版本 Debian Redhat 9.5 OpenVPN 2.5及以上版本 Redhat OpenSUSE 15.5 OpenVPN 2.5及以上版本 OpenSUSE MacOS - Tunnelblick 3.8.8d OpenVPN Connect 3.4.4.4629 配置Mac客户端 Android - OpenVpn Connect APK 3.3.2以上版本 配置Android客户端 iOS - OpenVpn Connect 3.4.0 配置iOS客户端
-
前提条件 已完成VPN网关和服务端的相关配置,客户端可以正常连接VPN网关。 本示例中,VPN网关规格为专业型1(最大转发带宽300Mbps)。 已部署3个ECS实例,位于VPN网关所在VPC网络中,用于模拟云上的资源节点。 本示例中,每个ECS实例规格均为c6.large.2(vCPUs:2,内存:4GB,系统镜像:CentOS 8.0-64bit)。 已准备3个云下设备,模拟接入客户端。 本示例中,设备A、设备B为Linux服务器(4U8G,运行ubuntu-20.04.6-live-server-amd64操作系统),设备C为PC(i7处理器,运行Windows 10操作系统)。 云下设备、ECS接口和网络的带宽能力满足要求(上、下行带宽不低于100Mbps)。 云下设备到VPN网关的网络质量较好。
-
使用iPerf3测试VPN网关的带宽 iPerf3概述 iPerf3的主要参数说明如表1所示。 表1 iPerf3主要参数说明 主要参数 参数说明 -s 服务端专用参数,表示iPerf3以服务端模式运行。 -c 客户端专用参数,表示iPerf3以客户端模式运行。 -p 指定服务端侦听端口,即客户端需要连接的服务端的端口(服务端和客户端的配置需要保持一致)。 -i 发送数据的时间间隔,单位:秒。 -l 设置读写缓冲区的长度。建议该值设为1300,模拟业务数据payload为1300字节。 -P 表示线程个数,不指定则默认单线程。 云下设备作为服务端 在云下设备上执行以下命令,以服务端模式启动iPerf3进程,并指定不同的侦听端口。示例如下: 设备A(Linux) iperf3 -s -p 20001 设备B(Linux) iperf3 -s -p 20002 设备C(Windows) iperf3.exe -s -p 20003 分别在3个ECS实例上,执行以下命令,以客户端模式启动iPerf3进程,并指定云下设备对应的服务端侦听端口。 iperf3 -c server-ip -p server-port -l 1300 -P 10 示例如下: iperf3 -c 192.168.10.1 -p 20001 -l 1300 -P 10 iperf3 -c 192.168.10.2 -p 20002 -l 1300 -P 10 iperf3 -c 192.168.10.3 -p 20003 -l 1300 -P 10 云下设备作为客户端 分别在3个ECS实例上,执行以下命令,以服务端模式启动iPerf3进程并指定不同的侦听端口。 iperf3 -s -p server-port 示例如下: iperf3 -s -p 20001 iperf3 -s -p 20002 iperf3 -s -p 20003 分别在云下设备上,执行以下命令,以客户端模式启动iPerf3进程,并指定ECS实例对应的侦听端口。示例如下: 设备A iperf3 -c 172.16.10.1 -p 20001 -l 1300 -P 10 设备B iperf3 -c 172.16.10.2 -p 20002 -l 1300 -P 10 设备C iperf3.exe -c 172.16.10.3 -p 20003 -l 1300 -P 10 测试结果 iPerf3进程执行完毕后,会显示如下的结果。 Connecting to host 172.16.10.1, port 20001 [ 4] local 192.168.10.1 port 20001 connected to 172.16.10.1 port 20001 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 8.62 MBytes 72.1 Mbits/sec [ 4] 1.00-2.01 sec 9.88 MBytes 82.2 Mbits/sec [ 4] 2.01-3.01 sec 9.88 MBytes 82.9 Mbits/sec [ 4] 3.01-4.00 sec 9.50 MBytes 80.4 Mbits/sec [ 4] 4.00-5.01 sec 9.88 MBytes 82.1 Mbits/sec [ 4] 5.01-6.01 sec 9.62 MBytes 81.2 Mbits/sec [ 4] 6.01-7.00 sec 9.12 MBytes 77.0 Mbits/sec [ 4] 7.00-8.01 sec 10.0 MBytes 83.2 Mbits/sec [ 4] 8.01-9.01 sec 9.50 MBytes 79.9 Mbits/sec [ 4] 9.01-10.01 sec 8.62 MBytes 72.4 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.01 sec 94.6 MBytes 79.3 Mbits/sec sender [ 4] 0.00-10.01 sec 94.6 MBytes 79.3 Mbits/sec receiver 根据上述iperf3测试的结果,从192.168.10.1到172.16.10.1的连接中,传输速率大约是79.3 Mbits/sec。整个测试持续了10秒钟,期间发送了94.6MB的数据。
-
安装iPerf3 此处以在本次测试使用的云下设备上安装iPerf3为例。 在Linux上安装iPerf3 打开命令行窗口。 执行以下命令,安装iPerf3。 yum install -y iperf3 执行以下命令,查看是否安装成功。 iperf3 -v 若系统回显iPerf版本信息,表示安装成功。 在Windows上安装iPerf3 在iPerf3官方网站下载iPerf3,根据操作系统版本下载对应软件。
-
Windows客户端(OpenVPN Connect) 此处以安装OpenVPN Connect 3.5.0(3818)为例,不同软件版本的安装界面可能存在差异,请以实际为准。 Windows客户端OpenVPN Connect建议使用3.4.4版本以上。 在OpenVPN官方网站下载OpenVPN Connect,根据界面提示进行安装。 启动OpenVPN Connect客户端,支持以下两种方式添加配置信息,建立VPN连接。 方式1:使用配置文件(已添加客户端证书及私钥)建立VPN连接 打开OpenVPN客户端,导入已添加客户端证书及私钥的配置文件,建立VPN连接。 方式2:使用原始配置文件(未添加客户端证书及私钥)+USB-Key的组合,建立VPN连接 初始化USB-Key。 此处以使用龙脉mToken GM3000管理员工具(v2.2.19.619)制作USB-Key为例。USB-Key初始化成功后如下图所示,此时需要拔插一下USB设备。 将客户端证书导入USB-Key。 使用USB-Key建立VPN连接。 在OpenVPN Connect中导入USB-Key中未添加客户端CA证书及私钥的配置文件,单击“CONNECT”。 建连过程中,USB-Key需要保持插入状态。 建连成功后,拔出USB-Key,连接不会中断,需要手动断连;USB-Key拔出后,重新建连将失败。 出现类似下图所示界面,代表连接成功。 图1 连接成功
-
Linux客户端 此处以在Ubuntu 22.04(jammy) openvpn_2.5.8-0ubuntu0.22.04.1_amd64操作系统上安装OpenVPN为例,不同Linux系统的安装命令可能存在差异,请以实际为准。Linux客户端OpenVPN建议使用2.5版本以上(2.5版本不支持dco,需要在配置文件中注释“disable-dco”)。 打开命令行窗口。 执行以下命令安装OpenVPN客户端。 yum install -y openvpn 将已添加客户端证书及私钥的客户端配置文件内容复制至/etc/openvpn/conf/目录。 进入/etc/openvpn/conf/目录,执行以下命令建立VPN连接。 openvpn --config /etc/openvpn/conf/config.ovpn --daemon 在Linux系统里,启动OPenVPN后,建议不要修改OS的DNS配置,如果修改了,在下次启动OpenVPN时,OS的DNS配置会被OpenVPN客户端里的DNS配置覆盖。