
# 通过IPv4/IPv6地址转换实现IPv6客户端访问IPv4业务
#### 应用场景
如果访问您四层业务的请求来自IPv6客户端，而您的后端业务仍部署在IPv4环境，您可以通过IPv4/IPv6地址转换功能解决IPv6客户端和IPv4业务后端之间的兼容性问题。此时，您的后端服务服务器无需做IPv6改造即可处理来自IPv6客户端的请求。
![](https://support.huaweicloud.com/bestpractice-elb/public_sys-resources/note_3.0-zh-cn.png)
该功能陆续上线中，已发布区域请以控制台实际为准。如果您有使用需求，可以提交[工单](https://console.huaweicloud.com/ticket/?agencyId=ed9de0b5e3ac4322a529ac43e44d3872&locale=zh-cn#/ticketindex/serviceTickets)进行申请。
#### 什么是IPv4/IPv6地址转换
弹性负载均衡支持开启**IPv4/IPv6地址转换功能** ，该功能同时支持**NAT64和NAT46网络地址转换**技术，无论客户端访问ELB的IPv4还是IPv6地址，都可以和IPv4或IPv6后端服务器通信。
- **NAT64**：将IPv6流量转换为IPv4流量。开启该功能后，IPv6客户端经过ELB转发可以访问IPv4服务端。
- **NAT46**：将IPv4流量转换为IPv6流量。开启该功能后，IPv4客户端经过ELB转发可以访问IPv6服务端。
图1四层（TCP和UDP协议）ELB开启IPv4/IPv6地址转换业务架构图   
![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002298967680.png "点击放大")
#### 前提条件
- 已购买ECS01实例，ECS的主网卡为IPv4地址。在ECS01中部署了应用服务，部署测试业务详情请参见[搭建后端服务](https://support.huaweicloud.com/qs-elb/zh-cn_topic_0052569751.html#section4)。
- 已创建协议类型为TCP或UDP协议的后端服务器组，本实践以TCP协议的后端服务器组为例，服务器组中添加了ECS01。
 
#### 操作流程
图2配置IPv6客户端访问IPv4后端服务   
![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002299109788.png "点击放大")
#### 步骤一：创建支持IPv6网络的ELB
1. 进入[购买弹性负载均衡页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/create/custom)。
2. 根据界面提示选择负载均衡器的基础配置，如图所示选择"网络型"规格实例。
   图3创建网络型负载均衡器（独享型）   
   ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002298988086.png "点击放大") 
3. 选定负载均衡器的规格后，请根据界面提示选择负载均衡器的网络配置。 网络类型需选择"IPv6网络"，所属VPC和子网需支持IPv6。
   图4网络类型选择"IPV6网络"   
   ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002299147730.png "点击放大") 
4. 确认配置信息，单击"立即购买"，完成创建。
 
#### 步骤二：添加监听器并开启IPv4/IPv6地址转换功能
1. 进入[弹性负载均衡列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/list)。
2. 在目标弹性负载均衡实例的操作列，单击"添加监听器"。
3. 在添加监听器页面，协议类型选择"TCP"，开启"IPv4/IPv6地址转换"功能。
   图5添加TCP监听器并开启"IPv4/IPv6地址转换"   
   ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002299209136.png "点击放大") 
4. 单击"下一步：配置后端分配策略"，后端服务器组参数选择"使用已有"。选择已经创建完成的服务器组，完成后单击"下一步：确认配置"。
5. 确认配置参数后，单击"提交"，完成TCP监听器的创建。
 
#### 步骤三：后端服务器的安全组放通ELB所属子网
来自IPv6客户端的请求经过ELB后会使用ELB后端子网中的IP地址与后端服务器ECS01通信，ECS01的安全组需要放通ELB后端子网所属网段，详情请参见[配置后端服务器的安全组](https://support.huaweicloud.com/usermanual-elb/elb_ug_hd_0007.html)。
#### 步骤四：验证IPv6客户端访问到IPv4后端服务
- 在IPv6客户端中执行以下命令，访问ELB的IPv6地址。
  ```
  telnet -6 ${IPv6地址} ${端口号}
  ```
  收到类似下图所示的信息，表示客户端成功访问IPv6地址。
  图6IPv6客户端成功访问ELB的IPv6地址   
  ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002333164705.png "点击放大") 

- 使用curl命令验证Web类服务应用的连通性。
  ```
  curl -6 [${ELB IPv6地址}]:${ELB 监听器端口} -g -v
  ```
  收到类似下图所示的信息，表示Web类服务应用网络连通。
  图7验证Web类服务应用的连通性   
  ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002424771541.png "点击放大") 
- 通过执行以下命令确定与后端服务器建立连接
  ```
  ss -antp |grep ${后端云服务器端口}
  ```
  收到下图所示的信息，表示IPv6客户端的源IPv6地址信息经过ELB后转换为ELB后端子网的IPv4地址，并与后端服务器ECS01成功通信。
  图8IPv6客户端与IPv4后端服务器通信成功   
  ![](https://support.huaweicloud.com/bestpractice-elb/zh-cn_image_0000002333178821.png "点击放大") 
 
#### 相关文档
IPv4/IPv6地址转换功能开启后，不支持开启**获取客户端IP** 功能，TCP监听器场景可以通过[通过Proxy Protocol协议获取客户端真实IP](https://support.huaweicloud.com/bestpractice-elb/elb_bp_1014.html#elb_bp_1014__section1176311711620)。
