TOA插件用于幫助經(jīng)高防IP轉(zhuǎn)發(fā)的源站服務(wù)器獲取用戶真實IP地址。用戶數(shù)據(jù)經(jīng)過高防IP轉(zhuǎn)發(fā)至源站服務(wù)器時,用戶IP會被高防IP代理IP池中的地址替換,導(dǎo)至源站服務(wù)器無法獲取真實用戶IP地址。在配置轉(zhuǎn)發(fā)規(guī)則中開啟TOA能力后,用戶每個TCP會話的初始連接報文TCP選項區(qū)內(nèi)會附加用戶真實IP地址及端口,源站服務(wù)器收到用戶初始連接報文后,若已加載TOA模塊或源站服務(wù)器為阿里云CentOS/Redhat鏡像生成的云主機(jī),源站服務(wù)器可以通過解析TOA數(shù)據(jù)信息,獲取到用戶真實IP地址。TOA插件下載
TOA插件,支持Centos 6/7、Redhat 6/7,其它linux發(fā)行版本可單獨定制。我們以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下會生成toa.ko文件
如make 過程產(chǎn)生如下錯誤
make: *** /lib/modules/x.x.x-x.elx.x86_64/build: No such file or directory. Stop.
是因為編譯環(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源碼,實際部署過程建議在輸入/usr/src/kernels/ 后按tab鍵自動補全
cd /root;make 再次編譯 編譯成功root下會生成toa.ko文件
insmod ./toa.ko
lsmod | grep toa.ko //檢測TOA掛載是否成功。
echo “insmod /root/toa.ko” >>/etc/rc.local //開機(jī)自動加載 toa插件
TOA插件功能測試:
TOA模塊編譯成功,并加載后。在源站服務(wù)器上執(zhí)行
python /root/toatest.py
通過高防IP配置頁面,為源站服務(wù)器8010端口配置一條不負(fù)載的TCP轉(zhuǎn)發(fā)規(guī)則。在外網(wǎng)找臺測試機(jī)(用戶本地也可以),執(zhí)行命令telnet 高防IP地址 8010
命令執(zhí)行后,在源站服務(wù)器toatest.py運行頁面中,將顯示出測試用戶公網(wǎng)地址,如果顯示的地址高防IP設(shè)備代理地址,則TOA工作不正常。