任何服务器程序(Apache、带 -l 的 netcat、Minecraft 服务器)都无法看到连接客户端的 IP。相反,它们会将连接视为来自我自己的公共 IP(但来自某个奇怪的端口)。我不知道是什么原因造成的,但因为它发生在网络中的所有机器上,所以我也会快速检查我的路由器设置。
我有两个路由器,一个由 ISP 提供,另一个是相当标准的 WIFI 路由器。ISP 提供的路由器设置为“桥接模式”,根据 ISP 的说法,该模式会禁用 NAT、防火墙和路由。它应该只用作调制解调器。这似乎有效,WIFI 路由器将我的实际公共 IP 报告为 WAN IP。
端口已转发,服务正常运行。
顺便提一下,我读到一些代理会填写 HTTP“X-Forwarded-For”字段。但这里的情况并非如此。
答案1
您的内部 IP 地址在互联网上没有任何意义。您在互联网上的唯一 IP 地址是 ISP 分配给您的 IP 地址。
互联网上的任何服务器都无法区分您的所有计算机,并且会将它们视为来自同一地址。
让它发挥作用的魔法叫做 网络地址转换 (NAT),这是由路由器完成的,路由器包含 DHCP 服务器。
好好研究一下上面的链接。
答案2
首先我要对我的问题不精确表示歉意,这是我第一次来这里。
我指的是来自互联网的数据包。
我现在发现这是其中一个路由器的怪癖(不幸的是我无法测试它,因为我没有其他路由器可以测试)。
要么是端口转发TP-LINK TL-WR841Nwifi 路由器或有关cbn CH7466CE处于“桥接模式”作为调制解调器。
我的解决方法是关闭“桥接模式”,并将该路由器用作家庭主路由器。wifi 路由器仍连接 wifi,但所有计算机(包括我遇到问题的服务器)现在都连接到我使用调制解调器的路由器。