文档首页 > > 最佳实践> 如何获取真实源IP

如何获取真实源IP

分享
更新时间: 2020/04/30 GMT+08:00

操作场景

经过高防转发的流量到服务端之后真实源IP将被隐藏,本任务指导用户如何通过华为高防提供的TOA模块获取真实源IP。

原理说明

通常情况下,经过高防的流量会修改真实源IP与高防IP(由真实源IP->高防IP转换为回源IP->源站IP),用户在自己的源站服务器上看到的流量源IP是回源IP,如图1所示:

图1 原理说明
  • 高防IP:华为云为用户提供的IP,用来代理源站IP,确保源站的稳定可靠。
  • 回源IP:用户在自己的源站服务器上看到的所有流量的源IP就是回源IP。
  • 源站IP:用户的实际业务对外提供服务所使用的公网IP地址。

前提条件

华为高防提供的TOA模块,支持的Linux操作系统如下:

  • 内核版本2.6(一般对应操作系统CentOS6.5)。
  • 内核版本3.10(一般对应操作系统CentOS7)。
  • 详情可以优先参考华为高防提供的TOA模块的开源代码
  • 如果客户源站是使用的其他操作系统(比如Ubuntu、SUSE等),也可参考《华为云弹性负载均衡用户指南》中的《TOA插件配置》章节进行操作系统定制。

    如果无法确定操作系统对应的TOA版本,请提交工单

操作步骤

华为高防专用TOA模块在开源TOA的基础上做了优化,可直接在Linux服务器(CentOS系列,其他系统需要定制)上编译安装。

  1. TOA模块的获取方法:

    华为高防提供了TOA模块的开源代码

  2. TOA模块的编译方法:

    >> make   #进入对应目录下,根据自己的服务器版本而定,有gcc即可 
    >> rmmod toa   #卸载以前的toa版本 
    >> insmod toa.ko   #挂载编译好的toa 
    >> lsmod | grep toa   #查看是否成功 

    挂载内核模块过程中,不影响服务器现有业务,不用修改原有服务器进程即可获取真实源IP。

  • Linux环境下安装TOA之后,一般情况下,系统默认重启时不会自动加载TOA,如需重启自动加载TOA,请参考“TOA模块的开源代码”的后续说明事项。
  • 如果以上方法不能获取高防转发后流量的真实源IP,请联系华为技术支持。

验证方法

用户可以通过常规函数获取真实源IP,或参考原理说明的代码获取。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问