有可能在 DNS 服务器中做这样的事情吗?或者做任何等效的事情?
([0-9]{2})\.example\.com\. IN CNAME www$1.example.net.
答案1
DNS 不支持。但最流行的bind9
名称服务器守护程序在其区域文件中支持这种语法:
$GENERATE 1-99 www$ CNAME www$.other-domain.com。
请注意,这与其他 DNS 服务器软件不兼容。
答案2
答案3
尽管正则表达式处理可以写入 DNS 服务器,但这样做并不是一个好主意。
任何经过修改以处理正则表达式扩展的 DNS 服务器都将难以与世界其他地方共存。区域传输到“标准”服务器要么不完整,要么不正确,要么非常庞大,因为每个排列都必须作为单独的记录发送。根据正则表达式,这可能导致几乎无限数量的可能记录,这显然是不切实际的,因为传输可能永远无法完成,导致系统不同步。
当然,如果传输仅仅发生在修改后的服务器之间,这可能是可以的,但宇宙倾向于破坏这种简单性。
答案4
您无法使用标准 DNS 软件执行此操作。
它是如果您使用自定义 DNS 服务器,该服务器可以识别该特定模式,然后动态合成正确的响应,那么这是可能的。例如,使用我的埃文斯服务器框架。如果您懂“C”,则应该花不到一小时就能实现。
但请注意全部域的权威 DNS 服务器需要具备此功能。虽然可以使用 顺利地将通配符记录从主服务器传输到辅助服务器AXFR
,但这只能因为它内置于 DNS 协议中。