TOA(tcp option adress)安装

本文详细介绍了TOA模块的功能,其主要用于使服务源站能够获取访问者的真 实IP地址,特别适用于游戏等特殊业务场景。文章阐述了TOA的局限性、安装步骤及原理,包括对TCP选项地址的使用,以及在Centos6和Centos7上的具体操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.说明

1.1.场景说明

TOA 属于 4层转发系统的一个功能模块,缺省情况下服务经过 4层转发系统,服务源站查看到的请求IP为NAT的回源地址,这对于一些特殊业务来说(比如游戏),是无法满足的,TOA的功能就是让真实源服务源站获取访问者真实IP地址,该模块安装在源站服务器上。以下为 TOA 的局限性:

  • 仅支持 TCP 协议
  • 仅支持 IPv4
  • 仅支持 Linux 操作系统

1.2.前提条件

  • 编译TOA 内核模块时,当前的内核版本与需与内核开发包版本保持一致

  • 需要 root 权限

  • 在代理节点开启对应转发规则

  • 使用任意客户端访问代理节点业务IP,源站正常可以看到客户端IP,而代理节点业务IP

2.安装

2.1.共通

sudo yum -y install gcc
sudo yum -y install make
sudo yum -y install kernel-devel-`uname -r`
sudo yum -y install kernel-headers-`uname -r`

进入toa内核目录:cd /lib/modules/uname -r/kernel/net/toa/
卸载toa,执行:rmmod toa
重新挂载本目录下的新的toa,执行:modprobe toa (或 insmod ./toa.ko) 若无任何报错,即为安装成功,
通过命令:lsmod | grep toa ,将会显示出已安装的toa模块

2.2.Centos6

2.6.32-754.9.1.el6.x86_64

2.3.Centos7

3.10.0-327.el7.x86_64
系统源码包下载地址

2.3.0.原理

TOA的kind(即代码字段opcode)采用的是254 tcp options
ipv4时占用Options 8字节,ipv6时将占用20字节
在这里插入图片描述在这里插入图片描述

2.3.1.源码编译

git clone https://github.com/Huawei/TCP_option_address.git
cd src
make

2.3.2.加载内核

执行如下命令,加载内核模块。
sudo insmod toa.ko
执行如下命令,验证模块加载情况,查看内核输出信息。
dmesg | grep TOA
若提示信息包含“TOA: toa loaded”,说明内核模块加载成功。
可执行lsmod|grep toa命令检测 toa 模块加载情况
通过执行 modprobe toa 命令手动加载

2.3.3.开机启动自动加载

vi /etc/sysconfig/modules/toa.modules
#!/bin/sh
toapath=/root/toa/toa.ko
/sbin/modinfo -F filename $toapath > /dev/null 2>&1

if [ $? -eq 0 ]; then

/sbin/insmod $toapath

fi

chmod +x /etc/sysconfig/modules/toa.modules

或者

echo “modprobe toa” >> /etc/rc.d/rc.local

3.参考

toa模块-编译centos5/6版本
toa协议源码解析
腾讯云toa.pdf
TOA 实现原理
TOA与Proxy Protocol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值