CentOS 7 安装TOA模块
F5使用TCP代理时,4层tcp中DR模式把请求数据包的ip封装了到了tcp的头中,这时一些应用就无法获取用户真实ip,此时获取到的是F5的IP,如果需要获取到用户的真实IP,需要F5开启插件,同时主机上需要安装toa模块解析出来tcp头中的用户真实ip,toa模块是为了让后端的realserver能够看到真实的clientip。
TOA模块是华为开源的模块,地址:https://github.com/huaweicloud/elb-toa
验证支持的版本
- CentOS 6.8(Kernel version 2.6.32)
- Suse 11 sp3 (Kernel version 3.0.76)
- CentOS 7/7.2 (Kernel version 3.10.0)
- Ubuntu 16.04.3 (Kernel version 4.4.0)
- Ubuntu 18.04 (Kernel version 4.15.0)
- OpenSUSE 42.2 (Kernel version 4.4.36)
- CoreOS 10.10.5 (Kernel version 4.9.16)
- Debian 8.2.0 (Kernel version 3.16.0)
1、安装相应的软件
yum install gcc
yum install make
yum install kernel-devel-`uname -r`
内核版本必须和kernel-devel版本一致。
2、下载源码包并编译
git clone https://github.com/huaweicloud/elb-toa.git
cd src
make
insmod toa.ko
# 拷贝文件
mkdir /usr/local/lib/toa/
cp toa.ko /usr/local/lib/toa/
3、验证
[root@localhost ~]# lsmod |grep toa
toa 12745 0
4、配置开机自动加载
创建文件toa.modules
touch /etc/sysconfig/modules/toa.modules
chmod +x /etc/sysconfig/modules/toa.modules
添加脚本
#!/bin/sh
/sbin/modinfo -F filename /usr/local/lib/toa/toa.ko > /dev/null 2>&1
if [ $? -eq 0 ]; then
/sbin/insmod /usr/local/lib/toa/toa.ko
fi
重启主机后检查模块:
[root@localhost ~]# lsmod |grep toa
toa 12745 0