如何在DMZ内的MX设备上获取EAS用户的真实IP地址?
解决方案
问题根源
你的情况是用户手机的访问流量先经过了Microsoft 365中转服务器(比如Intune Always On VPN、Microsoft Defender网络代理等),导致MX和Sophos防火墙看到的源IP都是微软服务器IP,而非用户真实IP。
具体修复步骤
1. 排查用户设备的微软代理/隧道设置
- 检查手机是否启用了Intune Always On VPN或Microsoft Defender for Endpoint 网络保护功能,这类服务会强制设备流量通过微软服务器转发。
- 把MX的公网IP/域名添加到上述服务的豁免列表,让访问MX的流量直接走公网,不经过微软中转。
2. 配置Sophos防火墙传递真实IP
- 在Sophos防火墙的Web规则或NAT规则中,启用**X-Forwarded-For(XFF)**头传递功能,确保微软服务器携带的真实用户IP能转发到MX。
- 如果防火墙启用了Web代理,需配置允许XFF头透传,并设置信任微软代理的IP段(可从微软官方文档获取365相关IP范围)。
3. 调整MX端的服务配置
- 确保MX上的网页/应用服务支持读取X-Forwarded-For头。
- 在服务配置中,添加Sophos防火墙IP和微软中转服务器IP段作为可信代理,让服务优先从XFF头提取用户真实IP,而非直接使用连接的源IP。
4. 验证流量路径
- 让用户暂时关闭手机上所有微软相关的VPN/代理服务,直接访问MX,确认此时MX是否能获取真实IP。如果可以,说明问题确实来自设备端的微软中转配置,重点调整豁免规则即可。
内容的提问来源于stack exchange,提问作者Giorgi Japaridze
相关产品推荐
相关产品推荐

