

# 如何获取用户的真实IP地址？

操作存在一定风险，建议备份环境，并在不影响业务的时候进行。

## 方式一：安装toa模块

内地高防获取真实IP地址,
可以在您的源站服务器上加载SIGCALCLOUD专有的内核模块，让应用直接获取到源IP，这时候，再去查看日志，就是访问者的真实IP了。  
由于经过高防后，在日志中看到的访问者IP全部变为高防的回源IP。 如果需要获取真实的客户端IP,
可以在您的源站服务器上加载SIGCALCLOUD专有的内核模块，让应用直接获取到源IP，这时候，再去查看日志，就是访问者的真实IP了。  
**Linux系统**  
64位的linux系统可运行"modprobe toa"尝试加载模块，成功后无需其他操作。  
如提示未找到该模块，可按如下步骤进行手工编译与加载：

1.  查看当前内核版本号，确认依赖kernel-devel、kernel-headers是否安装以及版本号是否与内核一致(uname
-r && rpm -qa |egrep 'kernel-devel|kernel-headers')：  


- 若一致，跳过步骤2，进行toa模块的编译安装  



- 若不一致，如下图：  
<!-- image-todo --> 
需要卸载后进行步骤2操作(rpm -e --nodeps kernel-devel kernel-headers)  



- 若未安装依赖，如下图： 
<!-- image-todo -->

  


2. yum搜索是否有与当前内核版本对应的‘kernel-devel、kernel-headers’包  


- 若有，则安装对用版本（yum install pkgname-version.x86_64）  


- 若无，如下图  
<!-- image-todo -->  


- 则打开网站 http://rpm.pbone.net ，点击左侧SEARCH标签，填入包名+版本号（如：`kernel-devel-3.10.0-693.11.6.el7.x86_64`），选择对应的系统发行版本（此处为CentOS7），点击搜索

<!-- image-todo --> 

搜索结果：

<!-- image-todo --> 

或使用谷歌用关键字rpm.pbone.net kernel-devel-3.10.0-693.11.6.el7.x86_64搜索

<!-- image-todo --> 

下载后rpm方式安装，kernel-headers的安装同理

<!-- image-todo --> 

确认安装结果（uname -r && rpm -qa|egrep 'kernel-devel|kernel-headers'），如下图：

<!-- image-todo -->


3. 下载linux通用版的源码包，该版本支持Centos 6.9和Centos 7、ubuntu14.04等绝大多数的linux发行版,并已经适配了linux内核5.0：  


- 国内：  wget http://pathx.cn-bj.ufileos.com/linux_toa.tar.gz


- 海外：  wget http://toa.hk.ufileos.com/linux_toa.tar.gz

  
4. 编译加载  
```
yum install -y gcc
tar -zxvf linux_toa.tar.gz
cd linux_toa
make
mv toa.ko /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko
insmod /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko
```
toa模块安装验证如下（lsmod |grep toa）：

<!-- image-todo -->

5. 添加开机模块自动加载  

```
echo "insmod /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko">> /etc/rc.local
```

**nginx环境下**，直接在nginx 日志中查看真实访问者地址,日志路径： /var/log/nginx/access.log

<!-- image-todo -->

**apache环境下**，直接在apache日志中查看真实访问者地址,日志路径：/etc/httpd/logs/access_log

<!-- image-todo -->

  - 其他web配置环境， 采用同样方法在相关web 日志文件中检查即可  

## 方式二：搭配UWAF一起使用

如果不满足方式一的要求，还可以购买UWAF搭配一起使用。将域名先解析到高防，源站指定为uwaf的IP。
操作[参见此处](/docs/uewaf/use/ddos_with_uwaf)。