我有 Netgear R7000,并在其后面托管一个网站。如果从 LAN 外部访问,该网站可以正常工作。如果从 LAN 内部访问,则无法访问该网站,除非:
1)对于 mac、ubuntu,在 /etc/hosts 中添加条目,例如:
{Web 服务器 LAN 的 ip} my.site.com
192.168.7.33 我的.site.com
2) 然后该计算机就可以从 LAN 访问网站了。
3) iPhone、iPad 无法通过 LAN 工作。iPhone 可以通过 WAN 工作!
路由器的 DNS 设置中缺少什么才能使一切正常工作?
我不想在 /etc/hosts 中添加任何内容。
答案1
路由器的 DNS 设置中缺少什么?
您很可能缺少 下的 LAN DNS 服务器条目Advanced → WPS Wizard → Setup → Internet Setup → Name Server (DNS) Address
。
此条目通常默认为Get Automatically from ISP
:
例如自动从 ISP 获取
需要将其设置为Use These DNS Servers
:
例如使用这些 DNS 服务器
注意事项
您需要自己的本地 DNS 服务器才能使此解决方案正常运行。
笔记
1.2.3.4
以上只是示例。需要将其替换为您本地网络上的 DNS 服务器的 IP。您将路由器指向的 LAN DNS 服务器必须具有您的域的条目,例如
my.side.com
指向您的 Web 服务器的本地 IP(即,与您最初在文件中输入的 IP 相同hosts
)。Primary DNS
对于简单的设置,在和字段中使用相同的 IPSecondary DNS
即可。但是,如果您愿意,可以在网络上设置两个名称服务器。为了能够继续在本地或互联网上访问您的域名,您的 LAN DNS 服务器必须始终处于开启状态。
任何 LAN DNS 服务器都必须具有允许将未知地址(即除 之外的任何地址
my.side.com
)转发到可以解析这些查询的其他名称服务器的条目。这可以采用名称服务器直接查询根名称服务器的形式,也可以设置转发器。后一种选择可以是您的 ISP 名称服务器或公共 DNS 服务,例如 Google(8.8.8.8/8.8.4.4)或 Cloudflare(1.1.1.1)。您决定使用的任何 DNS 服务器通常都可以与托管您网站的服务器位于同一台服务器上。
进一步阅读
如果你需要一些关于设置的一般提示绑定(流行的 DNS 服务器)具有本地域,您可能需要查看以下问题。第一个问题直接针对在 Windows 上设置 BIND,但 BIND 也可用于 Linux,并且实际配置文件本身通常基本相同。
答案2
你显然正在尝试做 内网回环,即从本地局域网连接到互联网,然后再连接回来。
您已通过将/etc/hosts
网站与 LAN 网络内的本地 IP 地址关联起来解决了该问题,从而避免了通过 Internet,但此解决方案并不适用于您的所有设备。
据称 Netgear R7000(Nighthawk AC1900)支持 Nat Loopback Netgear 自身,这也得到了验证 用户测试,因此它对您不起作用,这令人费解。
尝试将 Netgear R7000 的固件升级到 最新版本,如果它不起作用,请致电 Netgear 支持。
在紧急情况下,您可以尝试使用第三方固件,例如 Tomato 或 DD-WRT,但这是一个危险的操作,而且不能保证有帮助。