在基于TCP的应用程序中,获取客户端真实源IP地址可以用于以下应用场景:
针对四层的TCP请求(TCP监听器),可以通过在后端主机配置TOA插件获取客户端的真实源IP地址。TOA是操作系统的内核模块,需要在ELB后端主机中安装TOA插件,以实现后端主机可获取客户端真实源IP地址的目的。不支持UDP监听器的后端主机通过此方式获取的客户端真实IP地址。
主备、集群模式资源池列表见产品简介-产品类型和规格,实际情况以控制台展现为准。
a. 针对Linux内核版本为3.0以上的操作系统。以Centos环境为例。
b. 安装gcc编译器,执行以下命令:
sudo yum install gcc
c. 安装make工具,执行以下命令:
sudo yum install make
d. 安装内核模块开发包,执行以下命令:
sudo yum install kernel-devel-`uname -r`
e. 注意开发包的版本需要与内核版本一致,假如自带源里没有对应的内核开发包,可以到以下链接地址进行下载,地址如下:
https://mirror.netcologne.de/oracle-linux-repos/ol7_latest/getPackage/
以3.10.0-1160.80.1.0.1.el7.x86_64为例,下载后执行以下命令安装:
rpm -ivh kernel-devel-3.10.0-1160.80.1.0.1.el7.x86_64.rpm
f. 以下步骤是以Ubuntu、Debian环境为例,进行编译环境准备。
g. 安装gcc编译器,执行以下命令:
sudo apt-get install gcc
h. 安装make工具,执行以下命令:
sudo apt-get install make
i. 安装内核模块开发包,执行以下命令:
sudo apt-get install linux-headers-`uname -r `
a. 下载TOA内核模块源代码,点击进入常见TOA下载页面进行下载。
b. 编译模块。执行以下命令:
cd src make
c. 编译过程若未提示warning或者error,说明编译成功,检查当前目录下是否已经生成toa.ko文件。
a. 加载内核模块,执行以下命令:
sudo insmod toa.ko
b. 验证模块加载情况及内核输出信息,执行以下命令:
dmesg | grep TOA
假如提示信息中包含“TOA: toa loaded”,则证明内核模块已经加载成功。