Есть dnsmasq, отлично умеет распределять запросы между родительскими днс в конфине вида
cat /etc/dnsmasq.conf
server=192.168.104.2
server=192.168.105.2
server=192.168.106.2
server=192.168.107.2
server=192.168.108.2
Через какой вышестоящий днс разрезолвится запрос непонятно, а есть желание как то сопоставить входящие и исходящие запросы.
Т.е. чтобы запросы от элис (192.168.10.ххх) уходили через
server=192.168.104.2
а от Боба (192.168.20.ххх) - через
server=192.168.104.5
То ли я маны не дочитал, то ли не умеет он.
Еще народ советует через iptables сделать, что скажете?