使用公共域时避免将本地通信路由到本地网络之外

使用公共域时避免将本地通信路由到本地网络之外

我已经设置了一个运行 Nextcloud 和其他一些工具的服务器。为了能够从外部访问它,我已经为我的域 nextcloud.mydomain.com 设置了 DDNS 和引用 DDNS 的 DNS 条目,它运行良好。

问题是,当我在本地网络中使用 nextcloud.mydomain.com 时,连接很慢,因为连接被路由到我的网络之外,使用主机名或 IP 一切都很好......

我使用 tracert/traceroute 进行了检查,发现该连接实际上是从我的路由器路由一个节点然后返回。

我本来期望我的 FritzBox-Router 可以处理这个问题,因为它知道自己的 IP 地址,但它不知道......

使用 /etc/hosts 不是一个选择,因为 1) 这会断开网络外部的连接 2) 需要为使用它的每个设备进行设置。

解决这个问题的最佳方法是什么?

我的跟踪路由:

user@laptop:~ $ traceroute nextcloud.mydomain.com
traceroute to nextcloud.mydomain.com (*PUBLIC IP*), 30 hops max, 60 byte packets
 1  fritz.box (192.168.178.1)  10.601 ms  10.808 ms  10.362 ms
 2  ipservice-*PUBLIC IP*.pools.vodafone-ip.de (*PUBLIC IP*)  10.636 ms !X  10.631 ms !X  9.443 ms !X

user@laptop:~ $ traceroute nextcloud
traceroute to nextcloud(192.168.178.150), 30 hops max, 60 byte packets
 1  nextcloud.fritz.box (192.168.178.150)  12.357 ms  14.189 ms  14.818 ms

答案1

与大多数商业 IT 环境一样 (https://serverfault.com/help/on-topic): 设置内部 DNS 服务,将您的域名指向您提供的服务的本地地址。网络上的所有内容都会找到最短路径,而无需手动管理本地 hosts 文件。

相关内容