TOA插件用于幫助經(jīng)高防IP轉(zhuǎn)發(fā)的源站服務(wù)器獲取用戶真實(shí)IP地址。用戶數(shù)據(jù)經(jīng)過高防IP轉(zhuǎn)發(fā)至源站服務(wù)器時(shí),用戶IP會(huì)被高防IP代理IP池中的地址替換,導(dǎo)至源站服務(wù)器無法獲取真實(shí)用戶IP地址。在配置轉(zhuǎn)發(fā)規(guī)則中開啟TOA能力后,用戶每個(gè)TCP會(huì)話的初始連接報(bào)文TCP選項(xiàng)區(qū)內(nèi)會(huì)附加用戶真實(shí)IP地址及端口,源站服務(wù)器收到用戶初始連接報(bào)文后,若已加載TOA模塊或源站服務(wù)器為阿里云CentOS/Redhat鏡像生成的云主機(jī),源站服務(wù)器可以通過解析TOA數(shù)據(jù)信息,獲取到用戶真實(shí)IP地址。TOA插件下載
TOA插件,支持Centos 6/7、Redhat 6/7,其它linux發(fā)行版本可單獨(dú)定制。我們以TOA源碼方式提供給用戶。由戶上傳至源站服務(wù)器上自行編譯安裝。
TOA插件不支持windows源站取源;
TOA插件不支持非TCP業(yè)務(wù)取源。
TOA插件安裝部署:
? 上傳TOA程序包 20170714_dpdk_hp.zip到源站服務(wù)器root目錄。
? 執(zhí)行如下命令
yum -y install gcc kernel-headers kernel-devel unzip
cd /root
unzip adtoa_20171124.zip
make
編譯成功root下會(huì)生成toa.ko文件
如make 過程產(chǎn)生如下錯(cuò)誤
make: *** /lib/modules/x.x.x-x.elx.x86_64/build: No such file or directory. Stop.
是因?yàn)榫幾g環(huán)境缺少linux頭文件所至,按下述方法解決
cd /lib/modules/`uname -r`
rm build –rf
ln -s /usr/src/kernels/3.10.0-693.11.1.el7.x86_64 ./build *3.10.0-693.11.1.el7.x86_64為示例中l(wèi)inux系統(tǒng)最新linux源碼,實(shí)際部署過程建議在輸入/usr/src/kernels/ 后按tab鍵自動(dòng)補(bǔ)全
cd /root;make 再次編譯 編譯成功root下會(huì)生成toa.ko文件
insmod ./toa.ko
lsmod | grep toa.ko //檢測TOA掛載是否成功。
echo “insmod /root/toa.ko” >>/etc/rc.local //開機(jī)自動(dòng)加載 toa插件
TOA插件功能測試:
TOA模塊編譯成功,并加載后。在源站服務(wù)器上執(zhí)行
python /root/toatest.py
通過高防IP配置頁面,為源站服務(wù)器8010端口配置一條不負(fù)載的TCP轉(zhuǎn)發(fā)規(guī)則。在外網(wǎng)找臺(tái)測試機(jī)(用戶本地也可以),執(zhí)行命令telnet 高防IP地址 8010
命令執(zhí)行后,在源站服務(wù)器toatest.py運(yùn)行頁面中,將顯示出測試用戶公網(wǎng)地址,如果顯示的地址高防IP設(shè)備代理地址,則TOA工作不正常。