Назад | Перейти на главную страницу

GeoIP Split DNS Неправильный третий вид на ведомом устройстве

Успешно настроен Bind для размещения нескольких представлений с TSIG с этим руководство. Проблема в том, что когда я добавляю в микс третий вид, все становится странно.

На каждом сервере у меня сейчас 3 просмотра:

Во-вторых, я добавляю представление Китая, подчиненный сервер использует представление Европы, когда он должен использовать представление Китая. Когда я запрашиваю главный сервер с китайского хоста, он использует правильное представление. Я проверил ключи на обоих серверах, и, хотя мой подчиненный сервер будет соответствовать геопривязке к представлению Европы, я удалил оператор geoip из представления Европы, чтобы убедиться, и он по-прежнему работает.

ACL на обоих серверах:

acl "USA" {
    key usa-key;
    !key europe-key;
    !key china-key;
    geoip country US;
};

acl "Europe" {
    key europe-key;
    !key usa-key;
    !key china-key;
    geoip country NO;
};

acl "China" {
    key china-key;
    !key usa-key;
    !key europe-key;
    geoip country CN;
};

Мастер:

view "USA" {
    match-clients { USA; };
    allow-transfer { key usa-key; };
    zone "domain.net." {
        type master;
        also-notify { $slave_server key usa-key; };
        file "/etc/bind/domain.net/na.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type master;
        also-notify { $slave_server key usa-key; };
        file "/etc/bind/domain.net/na.domain.net.rev";
    };
    zone "doma.net." {
        type master;
        also-notify { $slave_server key usa-key; };
        file "/etc/bind/domain.net/na.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type master;
        also-notify { $slave_server key usa-key; };
        file "/etc/bind/domain.net/na.doma.net.rev";
    };
};

view "Europe" {
    match-clients { Europe; };
    allow-transfer { key europe-key; };
    zone "domain.net." {
        type master;
        also-notify { $slave_server key europe-key; };
        file "/etc/bind/domain.net/eu.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type master;
        also-notify { $slave_server key europe-key; };
        file "/etc/bind/domain.net/eu.domain.net.rev";
    };
    zone "doma.net." {
        type master;
        also-notify { $slave_server key europe-key; };
        file "/etc/bind/domain.net/eu.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type master;
        also-notify { $slave_server key europe-key; };
        file "/etc/bind/domain.net/eu.doma.net.rev";
    };
};

view "China" {
    match-clients { China; };
    allow-transfer { key china-key; };
    zone "domain.net." {
        type master;
        also-notify { $slave_server key china-key; };
        file "/etc/bind/domain.net/cn.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type master;
        also-notify { $slave_server key china-key; };
        file "/etc/bind/domain.net/cn.domain.net.rev";
    };
    zone "doma.net." {
        type master;
        also-notify { $slave_server key china-key; };
        file "/etc/bind/domain.net/cn.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type master;
        also-notify { $slave_server key china-key; };
        file "/etc/bind/domain.net/cn.doma.net.rev";
    };
};

Раб:

view "USA" {
    match-clients { USA; };
    zone "domain.net." {
        type slave;
        masters { $master_server key usa-key; };
        file "/var/lib/bind/na.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type slave;
        masters { $master_server key usa-key; };
        file "/var/lib/bind/na.domain.net.rev";
    };
    zone "doma.net." {
        type slave;
        masters { $master_server key usa-key; };
        file "/var/lib/bind/na.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type slave;
        masters { $master_server key usa-key; };
        file "/var/lib/bind/na.doma.net.rev";
    };
};

view "Europe" {
    zone "domain.net." {
        type slave;
        masters { $master_server key europe-key; };
        file "/var/lib/bind/eu.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type slave;
        masters { $master_server key europe-key; };
        file "/var/lib/bind/eu.domain.net.rev";
    };
    zone "doma.net." {
        type slave;
        masters { $master_server key europe-key; };
        file "/var/lib/bind/eu.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type slave;
        masters { $master_server key europe-key; };
        file "/var/lib/bind/eu.doma.net.rev";
    };
};

view "China" {
    zone "domain.net." {
        type slave;
        masters { $master_server key china-key; };
        file "/var/lib/bind/ch.domain.net.zone";
    };
    zone "3.2.1.in-addr.arpa." {
        type slave;
        masters { $master_server key china-key; };
        file "/var/lib/bind/ch.domain.net.rev";
    };
    zone "doma.net." {
        type slave;
        masters { $master_server key china-key; };
        file "/var/lib/bind/ch.doma.net.zone";
    };
    zone "9.8.7.in-addr.arpa." {
        type slave;
        masters { $master_server key china-key; };
        file "/var/lib/bind/ch.doma.net.rev";
    };
};

Совершенно без идей. Если кто-нибудь знает, что я делаю не так, буду очень признателен за ответ.

В ведомой конфигурации match-clients директивы отсутствуют в вашем Europe и China Просмотры.

В зависимости от того, как работают представления (используется первое совпадающее представление), все запросы, не соответствующие вашему USA вид (который имеет match-clients директива), все остальное перейдет в следующее представление (ваш Europe вид, который соответствует чему угодно) и ничего до последнего просмотра (ваш China view, который также будет соответствовать чему угодно, только то, что на этом этапе не осталось несогласованных запросов).

Стоит отметить, что вы, вероятно, захотите что-то быть универсальным. То есть, если запрос не соответствует ни одной из стран, вероятно, вам все равно нужен правильный ответ?