通过 TOA 获取客户端真实 IP¶
使用 TOA 传递 TCP 协议客户端真实 IP,需在控制台内将四层代理转发规则的传递客户端 IP 方式配置为 TOA,如何修改四层代理规则详见:快速入门 。
您可以通过以下两种方式加载 TOA 模块:
方法一:通过下载 TOA 源码文件自行编译并加载。¶
1、 安装编译环境。
(1) 查看当前内核版本号,确认 kernel-devel ,kernel-headers 已安装,并保证版本号与内核版本保持一致。
(2)确认已安装 gcc 和 make。
(3)如果以上环境依赖没有安装,可参考如下命令进行安装:
- Centos安装编译环境:
- Ubuntu安装编译环境:
2、 安装完编译环境后,执行以下命令完成源码下载,编译和加载。
# 创建并进入编译目录
mkdir toa_compile && cd toa_compile
# 下载源代码tar包
curl -o toa.tar.gz https://edgeone-document-file-1258344699.cos.ap-guangzhou.myqcloud.com/TOA/toa.tar.gz
# 解压tar包
tar -zxvf toa.tar.gz
# 编译toa.ko文件,编译成功后会在当前目录下生成toa.ko文件
make
# 加载toa模块
insmod toa.ko
# 拷贝到内核模块目录下
cp toa.ko /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko
# 设置系统启动时自动加载toa模块
echo "insmod /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko" >> /etc/rc.local
3、 执行下面指令确认是否已加载成功。
方法二:一键编译安装自适应TOA。¶
- Centos-TOA 插件一键安装
sudo yum -y install gcc make linux-headers-$(uname -r)
/bin/bash -c "$(curl -fsSL https://edgeone-document-file-1258344699.cos.ap-guangzhou.myqcloud.com/TOA/compile_install_toa.sh)"
lsmod | grep toa
- ubuntu-TOA插件一键安装