![从 LAN 访问自托管服务器](https://linux22.com/image/796750/%E4%BB%8E%20LAN%20%E8%AE%BF%E9%97%AE%E8%87%AA%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有一个自托管服务器,使用 Apache2 指向域名 example.com。我还有一些虚拟服务器 www.example.com、cloud.examle.com 等。
该服务器位于我的局域网中,当我尝试通过 www.examle.com 访问局域网内的服务器时,会获取路由器的配置页面。在局域网外,www.example.com 和 cloud.examle.com 正常工作。在局域网内,192.168.1.33(服务器内部 IP)显示默认网页(www.examle.com),但我无法访问 cloud.examle.com。我在 192.168.1.33 中还有一个使用 bind9 的局域网名称服务器。
我将网关设置为 192.168.1.1,并将 LAN-NS 设置为主 NS
我通过在 NS 中创建一个新的 DNS 区域解决了这个问题。
这是我的配置文件:
;区域-1 $ORIGIN 。 $TTL 86400;1天 主页.lan。在 SOA 服务器.主页.lan。主机管理员.主页.lan。( 2008080901;序列号 8H ;刷新 4H ;重试 4W ;到期 1D ;最小 ) 家庭.lan。IN NS 服务器.家庭.lan。 $ORIGIN 主页.lan。 ;设置 localhost.home.lan 的地址 本地主机 127.0.0.1 路由器 A 192.168.1.1 服务器 A 192.168.1.33 mypc 在 192.168.1.132
;区域-2 $ORIGIN 。 $TTL 86400;1天 例如.com。在 SOA www.example.com hostmaster.home.lan 中。 ( 2008080902;序列号 8H ;刷新 4H ;重试 4W ;到期 1D ;最小 ) example.com.IN NS 192.168.1.33 $ORIGIN examle.com。 本地主机 127.0.0.1 www 192.168.1.33 云 IN A 192.168.1.33
我的 DNS 和我的名字现在正常工作
我的问题是:
- 您觉得我的解决方案怎么样?
- 我可以将带有 CNAME 的 A 区域更改为 server.home.lan(这是服务器在局域网内的域)吗?
- 我如何为所有 whatever.example.com 设置默认 IP?
答案1
您需要确保您的默认网关知道内部服务器是 .lan TLD 的域控制器。我个人会为 .lan 启用静态 DNS 转发。一旦您将 DNS 查找转发到正确的 DNS 服务器,路由应该会处理其余的事情,因为这一切都发生在您的内部 LAN 上