CSF防火墙下实现透明IP流量转发并保留客户端真实IP的可行性咨询
CSF防火墙下实现透明IP流量转发并保留客户端真实IP的可行性咨询
我在/etc/csf/csf.redirect文件中配置了以下规则:
10.100.100.115|*|10.200.200.186|*|tcp 10.100.100.115|*|10.200.200.186|*|udp
现在当我通过https://10.100.100.115/(部署了Nginx+PHP)访问时,执行PHP脚本:
<?php echo $_SERVER['REMOTE_ADDR'];?>
返回的是转发服务器(10.100.100.115)的IP,而不是我的客户端真实IP。我想实现的是:当我从家里的IP(比如10.0.50.50)访问时,后端服务器显示的是10.0.50.50,而非转发服务器的IP。
需要重点说明的是,仅针对HTTP/HTTPS的方案(比如通过X-Forwarded-For这类请求头)并不满足我的需求,因为我需要支持TCP、UDP等多种协议,不局限于HTTP(S)。本质上我需要一个通用的透明代理,让10.200.200.186这台后端服务器能直接看到客户端的真实IP,而不是转发服务器10.100.100.115的IP,希望这个需求是清晰且可实现的。
另外,我不能直接使用纯iptables规则,因为CSF防火墙会阻止这类操作——当前服务器用的是DirectAdmin搭配CSF,出于安全考虑我也不想禁用CSF:它通过LFD自动拦截多次认证失败的请求,在阻止暴力破解方面非常实用。
备注:内容来源于stack exchange,提问作者J Frost
相关产品推荐
相关产品推荐

