跳转至

通过 TOA 获取客户端真实 IP

使用 TOA 传递 TCP 协议客户端真实 IP,需在控制台内将四层代理转发规则的传递客户端 IP 方式配置为 TOA,如何修改四层代理规则详见:快速入门

您可以通过以下两种方式加载 TOA 模块:

方法一:通过下载 TOA 源码文件自行编译并加载。

1、 安装编译环境。

(1) 查看当前内核版本号,确认 kernel-devel ,kernel-headers 已安装,并保证版本号与内核版本保持一致。

(2)确认已安装 gcc 和 make。

(3)如果以上环境依赖没有安装,可参考如下命令进行安装:

  • Centos安装编译环境:
yum install -y gcc

yum install -y make

yum install -y kernel-headers kernel-devel
  • Ubuntu安装编译环境:
apt-get install -y gcc

apt-get install -y make

apt-get install -y linux-headers-$(uname -r)

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、 执行下面指令确认是否已加载成功。

lsmod | grep toa

方法二:一键编译安装自适应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插件一键安装
sudo apt-get install -y 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