Я использую Linux CentOS 6.64 с BIND 10.1.2.
У меня есть дополнительная зона (list.example.com) внутри основного DNS (example.com)
Файл конфигурации привязки (named) /etc/named.conf включает зону:
zone "list.example.com" IN {
type master;
file "list-example-com.zone";
allow-query { localhost; };
allow-transfer { 127.0.0.1; };
};
Список файлов зоны-example-com.zone выглядит следующим образом:
$TTL 86400 ; 1 day
@ IN SOA ns1.example.com. hostmaster.example.com. (
2004032201 ; serial
7200 ; refresh (2 hours)
5400 ; retry (1.5 hours)
1814400 ; expire (3 weeks)
86400 ; minimum (1 day)
)
IN NS ns1.example.com.
;
IN A 192.168.177.22
;
; -----------------------------------------------------------------
49.30.22.66 IN A 127.0.0.3
44.63.20.10 IN A 127.0.0.2
64.42.10.5 IN A 127.0.0.2
14.3.6.8 IN A 127.0.0.3
// AND OTHER 1000S OF RECORDS LIKE THAT!
Возьмем в качестве примера один из перекодированных IP-адресов.
«Поиск DNS» для IP 44.63.20.10 будет:
44.63.20.10.list.example.com и вернет 127.0.0.2 из DNS
Хорошо, теперь то, что я хочу сделать, это вместо того, чтобы перечислять 1000 записей IP, я просто хочу запустить файл PHP в named.conf, файле зоны или любом другом, чтобы выполнить некоторые коды и вернуть 127.0.0.2 для "DNS" из ИП 44.63.20.10
мой файл.php:
<?php
// Just need to get the required IP (44.63.20.10) and the DNS_TYPE of the request (A, TXT,...ect) then:
// Execute some PHP codes to do some stuff (including connect to mysql database..ect)
// If the IP is TRUE, then return: (44.63.20.10 IN DNS_TYPE X)
?>
Я надеюсь, что это ясно для вас.
У меня есть собственный файл PHP, просто нужно знать, возможно ли это сделать? и если да, то как? Любая идея, пожалуйста?
Спасибо.