海运的博客

PDNS实现智能DNS

发布时间:May 16, 2014 // 分类:DNS // No Comments

PDNS默认不支持bind view功能,通过PowerDNS Recursor加载Lua脚本判断再递归查询PowerDNS实现智能DNS。

#关闭数据包缓存,测试时开启查询时直接读缓存不经过lua preresolve()
disable-packetcache=yes
forward-zones=com=108.61.242.102
local-address=0.0.0.0
lua-dns-script=/tmp/b.lua
#转发所有域到pdns server
forward-zones=.=127.0.0.1:54

lua:

function preresolve ( remoteip, domain, qtype )
    pdnslog("a test message.. received query "..domain.." from "..remoteip.." on "..getlocaladdress());
    ret={}
    if qtype ~= pdns.A then return -1, ret end --非A记录查询跳过,后端查询
    local ips = {"192.168.1.1/32", "10.1.0.0/16", "127.0.0.0/24"}
    if matchnetmask(remoteip, ips) and domain == "www.example.com."
        then
            ret[1]= {qtype=pdns.A, content="85.17.220.215", ttl=86400}
            setvariable()
            return 0, ret
        else
            setvariable()
            return -1, ret 
        end
    end

标签:none

评论已关闭

分类
最新文章
最近回复
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...