Coredns之redis插件的配置,将DNS记录写入Redis
更新日期:
为corends安装了redis插件,需要在配置文件Corefile中添加redis插件的配置项。 另外, DNS记录保存于redis, 需要了redis中保存数据的结构、完成写入redis记录的操作。
Corefile中配置redis插件
配置文件的格式,在redis插件描述中写的很清楚了。使用本机Redis的配置文件如下:
|
|
address
指定redis的连接地址, prefix
是redis中key的前缀, 这里用于保存DNS域名的键都会以_dns:
开头。
redis中DNS记录的保存格式
redis是一个内存数据库、缓存, 数据都是以健-值
对值的形式保存, 值
支持多种数据类型,如string,list,hash等。 coredns的redis插件将域名作健
,值类型hash, 值hash中又保存子域名与DNS记录之间的对应关系。
|
|
值中hash类型的值,是一个JSON化之后的字符串。记录类型对应于一个列表。 这一点在coredns redis插件的文档中是错误的,但在最后查询redis结果部分给出了正确的示例。
比如A
记录, 正确的结构如下(a
的值是一个列表, ip
而不是ip4
):
|
|
使用python将DNS记录写入redis
需要在python中预先安装redis
库, 转json串使用python自带的json
库。
|
|