我家有两个路由器。第一个(192.168.1.1)用作 ADSL 调制解调器,第二个路由器(192.168.2.1)用作 ISP。我的 LAN(Wifi)建立在第二个路由器上。
我使用了两次端口转发:
- 从第一个路由器端口 80 到第二个路由器端口 80
- 从第二个路由器端口80到我的电脑端口80(192.168.2.30)
一切运行正常,使用freemyip.com
服务我可以在我的计算机上创建一个虚拟主机,以便从互联网访问。
我的问题是:服务器无法捕获客户端的远程 IP。即,所有远程访问都记录为第一个路由器(ADSL 调制解调器)的公共 IP,当通过我的 LAN 访问服务器时,访问该设备的 IP 被正确记录。
我相信这是与端口转发相关的问题,但我无法解决它。
答案1
服务器是否看到路由器的外部 IP 地址或内部 IP 地址取决于路由器的 NAT 服务 - 可能是可配置的。
此外,对源地址进行 NAT 更像是一个反向代理,但有些路由器也会这样做。
答案2
我发现在工作中,网络层必须确保 HTML 标头x-转发-for被发送到我们的网络服务器,否则它会看到来自防火墙的所有流量。
但这通常在使用代理时发生,所以就你的情况而言,路由器是否通过代理实现 NAT?检查管理界面中是否有保留客户端 IP 的选项。