无法从家庭网络访问家庭服务器,但可以从互联网访问

无法从家庭网络访问家庭服务器,但可以从互联网访问

我家里有一台 Apache 服务器,路由器已配置为该服务器分配静态 IP 地址。我还正确转发了 Apache 和 SSH 的端口。我可以从家庭网络外部使用我的公共 IP:Port 访问服务器。但是,我无法从家庭网络内部连接。

这是为什么?我该如何解决?

答案1

我有不同型号的 D-Link。我查看了您的手册http://laureldsl.net/pdf/D-Link%202640B%20UserManual.pdf在那里,您似乎有端口转发选项,但没有虚拟服务器选项。对吗?另一方面,我还查看了 D-Link 网站,并在ftp://ftp.dlink.com/Broadband/dsl2640B/Manual/dsl2640B_Manual_100.zip- 它确实描述了虚拟服务器功能 - 所以我不确定您拥有哪个版本的路由器。

无论如何,使用端口转发,您必须在公共和本地使用相同的端口号,而使用虚拟服务器,您可以将公共端口映射到不同的私有端口。

如果您使用端口转发,则路由器手册中会显示(重点添加):

使用“端口转发”窗口打开路由器中的端口,并通过这些端口将数据重定向到网络上的单台 PC (WAN 到 LAN 流量). 端口转发功能允许远程用户 访问 LAN 上的服务,例如用于文件传输的 FTP 或用于电子邮件的 SMTP 和 POP3。DSL-2640B 将接受远程请求在您的全局 IP 地址上使用指定的 TCP 或 UDP 协议和端口号为这些服务发送请求,然后将这些请求重定向到具有您指定的 LAN IP 地址的 LAN 上的服务器。

正如你从我的文章中看到的粗体,手册仅谈到为远程 WAN 到 LAN 流量提供端口转发 - 而您尝试将其用于 LAN 到 LAN。所以我怀疑您想要做的事情根本不支持 vanilla 端口转发。您是否向 D-Link 技术支持询问过这个问题?

现在,如果您有虚拟服务器,那么您可能有一个与我类似的设置。我已经定义了几个端口来路由到本地计算机 - 仅在一种情况下,我将公共端口映射到不同的私有端口。当我使用 publicIP:publicPort 并且公共和私有端口相同时,我在本地和外部使用它都没有问题。但是,当端口不同时 - 我也遇到了问题,但我还没有找到原因。

因此,我的第一个建议是尝试使用虚拟服务器选项,并在内部和外部使用相同的端口 - 看看是否有帮助。如果您没有虚拟服务器选项,您可以尝试转向 D-Link 的支持,看看他们是否可以建议您如何使用 vanilla 端口转发解决问题。

祝你好运,Yosh

相关内容