在路由器后面设置 Web 服务器

在路由器后面设置 Web 服务器

我想将一台显示器坏了的笔记本电脑变成无线路由器(buffalo airstation)后面的家庭网络服务器。我删除了所有 ubuntu gui 包并安装了 lighttpd。笔记本电脑有一个固定的 ip 地址192.168.7.180

我在路由器上设置了 NAT,将端口 22 转发至192.168.7.100:22,将端口 80 和 8080 转发至192.168.7.180:80

以下是我的观察:

  1. wget 192.168.1.180在另一个通过电线连接到路由器的 Linux 机器上,firefox 192.168.1.180也能正常工作。

  2. ssh zzz.homelinux.org从我的网络外部工作正常,并按192.168.7.100预期连接我。

  3. 两者都不 wget zzz.homelinux.org 也不 wget zzz.homelinux.org:80外部我的局域网工作:

    Connecting to zzz.homelinux.org|XXX.XXX.XXX.XXX|:80... failed: Connection timed out.
    Connecting to zzz.homelinux.org|XXX.XXX.XXX.XXX|:8080... failed: Connection timed out.
    

那么,我做错了什么?

答案1

如果 3 是从您的网络内部进行的,我最大的猜测是您的路由器没有称为 NAT 环回(也称为环回、路由器环回和其他一些名称)的功能。

我会查看你的路由器的配置页面,看看是否可以打开它。

您所说的非常正常,许多现成的路由器要么没有此功能,要么默认情况下已禁用它 - 我需要刷新我的 Netgear 路由器才能提供此功能。

基本上,如果你将你的内部 IP 放入你的 hosts 文件中,它会正常工作 - 但是,你的路由器没有路由或设置能力以便通过外部 IP 地址将内部机器重定向到另一台内部机器的端口。

你应该得到同样的结果,通过尝试去http://外部链接:80来自内部机器。

答案2

许多 ISP 会封锁消费级连接的 80 端口。一些路由器还将 80 端口用作自己的 Web 界面,因此会封锁该端口的外部连接。

最简单的解决方案是使用备用端口(在两种情况下) - 并且可能使用处理端口重定向的动态 DNS 服务。如果是路由器,您可能能够将其配置为通过端口 80,但这是路由器特有的 - 它将涉及关闭外部管理,或切换其端口

答案3

如果你的路由器没有NAT Loopback正如威尔提到的,您可以将以下内容添加到hosts 文件在所有 LAN 计算机上,以便它们使用域名从 LAN 内部访问 Web 服务器:

192.168.7.180       zzz.homelinux.org

答案4

您的路由器的 Web 界面是否位于端口 80/8080 上?有时必须将它们移到其他地方,以便 LAN 设备上到端口 80/8080 的 NAT 端口路由能够顺利通过。

相关内容