Разрешить конкретный запрос домена, используя просмотр в BIND9 (вперед)
Я пытаюсь настроить перенаправление доменов из белого списка в моем bind9, но это не удалось, возможно, из-за конфигурации, которую я применил.
Пару месяцев назад я настроил один и тот же концептуальный DNS с несколькими представлениями в Bind9, и он отлично работает, как и ожидалось.
Теперь, что происходит:- (представление настроено для пересылки только на gmail.com) Всякий раз, когда клиенты из 172.22.172.32/27 делают запросы, отличные от домена gmail.com, DNS все еще может разрешить IP-адрес для клиентов, которые ожидали / предполагали быть неудачным.
Есть ли хорошее решение или какие-либо настройки, которые должны быть сделаны в моей текущей конфигурации?
Версия Bind: 9.9.5
named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
view "wifi-test" {
match-clients {
172.22.172.32/27;
};
zone "gmail.com" {
type forward;
forward only;
forwarders {
1.1.1.1;
};
};
//include "/etc/bind/named.conf.default-zones";
recursion yes;
};
named.conf.options
options {
directory "/var/cache/bind";
// Accept request
allow-query-cache { 172.22.172.32/27; };
allow-query { 172.22.172.32/27; };
//allow-recursion { servers; };
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
//forward only;
//forwarders {
// 8.8.8.8;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
// DNSSEC
dnssec-validation auto;
//dnssec-enable yes;
//dnssec-lookaside auto;
//key-directory "/etc/bind/keys";
#fetch-glue no;
recursion no;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
//listen-on port 53 { localhost; 172.22.172.41; };
// Exchange port between DNS Servers
//query-source address * port *;
// From 9.9.5 ARM, disables interface scanning to prevent unwanted stop listening
//interface-interval 0;
// Version
version "SecDNS";
//bindkeys-file "/etc/bind/bind.keys";
};
named.conf.local
// Manage the file logs
include "/etc/bind/named.conf.log";
Журналы запросов
queries: info: client 172.22.172.48#59842 (gmail.com.mytd.com): view wifi-test: query: gmail.com.mytd.com IN A + (172.22.172.41)
queries: info: client 172.22.172.48#59843 (gmail.com.mytd.com): view wifi-test: query: gmail.com.mytd.com IN AAAA + (172.22.172.41)
queries: info: client 172.22.172.48#59844 (gmail.com): view wifi-test: query: gmail.com IN A + (172.22.172.41)
queries: info: client 172.22.172.48#59845 (gmail.com): view wifi-test: query: gmail.com IN AAAA + (172.22.172.41)
queries: info: client 172.22.172.48#53702 (www.forum.com.mytd.com): view wifi-test: query: www.forum.com.mytd.com IN A + (172.22.172.41)
queries: info: client 172.22.172.48#53703 (www.forum.com.mytd.com): view wifi-test: query: www.forum.com.mytd.com IN AAAA + (172.22.172.41)
queries: info: client 172.22.172.48#53704 (www.forum.com): view wifi-test: query: www.forum.com IN A + (172.22.172.41)
queries: info: client 172.22.172.48#53705 (www.forum.com): view wifi-test: query: www.forum.com IN AAAA + (172.22.172.41)
1 ответ
Я нашел решение! Ну это все о dnssec-валидации, которую я вынужден выбрать yes
вместо авто или нет.
view "Test" {
match-clients { 172.22.172.32/27; };
minimal-responses yes;
include "/etc/bind/named.conf.local"; #Whitelist Domains
include "/etc/bind/zones/hostedzones"; #Zones Files
forward only;
forwarders { 0.0.0.0; };
recursion yes;
};
view "Others" {
match-clients { any; };
minimal-responses yes;
include "/etc/bind/named.conf.local"; #Whitelist Domains
include "/etc/bind/zones/hostedzones"; #Zones files
forward only;
forwarders {};
recursion yes;
};
По сути, здесь конфигурация позволяет "Другим" запрашивать любые домены, в то время как "Тест" разрешает запрашивать только то, что находится во включаемых файлах, и forwarders { 0.0.0.0; };
Другие пересылки запросов будут пытаться перейти на 0.0.0.0 и в конечном итоге получат connection refused resolving
,
Примечание. В файле named.conf.local указаны все зоны пересылки.
Я также обновляю до версии Bind 9.10.3.