经过对 CDN 工作原理的一些研究,我了解到 CDN 主要有两类: 1. 基于 dns 的;2. 基于 dns 的。 2、基于路由器。
基于dns的cdn保存了一个域名的ip地址的集合,当dns查询请求到达时,它根据请求的客户端ip地址确定最近的ip地址。
基于路由器的cdn在多个地理区域部署具有相同IP地址的节点,当客户端发起请求时,路由器将决定到达哪个节点。
这基本上就是我对 cdn 工作原理的理解。如果有什么不对的地方请指正。
现在我想自制一个 CDN。我不想基于路由器,因为我无法控制那么多节点,也无法为它们分配相同的 IP 地址。我认为我的自制 CDN 可能是基于 DNS 的 CDN。我的 DNS 服务器上有 Bind9 服务。现在有什么方法可以侵入bind9并让它根据客户端请求的IP地址决定返回哪个IP地址?谢谢。
最佳答案
仅供引用,我已更新 http://geoip.site/包含一个新的 Python 脚本,该脚本将为 BIND 生成跨 IPv4 和 IPv6 地址空间的单个 GeoIP.acl 文件。
只是发表评论让其他人知道,因为我现在认为如果不采用源代码修补路线,此脚本是使 BIND 地理感知的最简单解决方案。
关于dns - 如何配置/扩展bind9以感知地理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448959/