我创建了一个本地 DNS 服务器 pc.home.local 192.168.1.254
我如何免费将此本地域名切换为公共域名,以便我可以输入 pc.home.local 并从任何地方进入我的网站
答案1
你能免费做:
- 检查您的路由器的公共 IP 地址(路由器的互联网/WAN 端口的 IP 地址)。
- 配置端口转发,以便将适用 TCP 端口上的传入流量路由到您的 Web 服务器。例如,HTTP 流量在端口 80 上运行,HTTPS 流量在端口 443 上运行。说明可在文档中、从您的 ISP 处或通过搜索互联网获得。
完成后,您可以通过浏览器访问 来通过互联网访问您的网络服务器https://your-public-ip/
。
我知道有 2 个免费的 DNS 名称注册商;自由和点。有了它们,您可以免费注册域名。可用的免费顶级域名有 .TK、.ML、.GA、.CF 和 .GQ。因此,oandygames.tk
如果有的话,您可以使用类似 的域名。
不幸的是,目前(2023 年 2 月 11 日)他们的域名注册似乎不起作用。
你能做什么不是免费,但可以付费:
您不能使用域名 xxx.yyy.local,因为“.local”不是允许的顶级域名。维基百科有一个最新的可能列表顶级域名。这些域名不是免费的,但也不算太贵。例如,Domain.com(抱歉,无法在此处提供链接)的价格从 1.99 美元起。请注意,域名注册不是永久的,无论是免费注册商还是付费注册商,您都需要定期续订注册。
这会将链接到路由器公共 IP 地址的域名添加到公共域名注册表中。完成后,您可以像浏览mydomainname
任何网站一样浏览。
请注意 Frank Thomas 和 davidgo 的反馈。他们关于 DMZ、防火墙、静态 IP 和 NAT 的观点如下极其重要的。
我建议你和你的 ISP 联系一下。例如,他们可能有政策阻止在其客户的公共 IP 上注册域名,或者你的公共 IP 地址会被随机更改,这意味着你需要更新 DNS 记录或类似的东西。
答案2
实际上,您无法完全按照要求去做 - 具体来说,pc.home.local 只能在您的主机上解析 - “.local”在 LAN 之外无法解析。
因此你需要克服 3 个问题 -
您的 LAN 位于 NAT 后面,这意味着无法使用更广泛的 Internet 上的标准 IPv4 直接访问它。 假设你的路由器没有采用运营商级 NAT您可以配置路由器以将感兴趣的端口转发到 192.168.1.254。您甚至可以将其设置为 DMZ。 这会将您的设备直接暴露在互联网上,带来严重的安全隐患。
如果您的路由器 IP 地址是静态的,您可以在 DNS 中使用它。如果不是,您需要制定动态 DNS 解决方案,这可能会花费 $。或者,您可以使用静态 VPN 绕过整个问题(这将很好地解决 cgn 广告问题),但同样需要花费 $$$。您可以使用 Amazon 或 Linode 的免费 VOS 在有限的时间内免费完成此操作,但这在技术上具有挑战性,您将来需要付费。
其他回应并不完全正确关于必须为域名付费。您可以免费注册以“.tk”结尾的域名 -http://www.dot.tk/en/index.html?lang=en- 然后,您将设置指向外部 IPv4 地址的 A 记录。您将使用 .tk 域名代替 .local 域名。
您可能可以采取更复杂的黑客手段来保留 pc.home.local,但它们既复杂又脆弱。我考虑的方法是设置 pc.home.local.YOURDOMAIN.tc,然后使用 YOURDOMAIN.tc 作为相对地址的搜索域。