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

Привязка, общая зона по возможностям просмотра

Привет, я создал 3 сервера привязки для публичного разрешения (авторитетный).

я получил 3 просмотра:

Я хотел бы поделиться некоторой общей зоной для всех моих представлений, например, я хочу разрешить domain-a.com и domain-b.com для всех моих представлений, кроме domain-c.

до сих пор я пробовал эти 2 метода:

Первый метод

Я пытался сделать общую зону conf с включением для всех представлений. но похоже, что это не работает, я попробовал это решение: Глобальные зоны видны во всех представлениях

но получил:

common.zones:3: writeable file 'slave/aaa.example.org': already in use: common.zones:3 

эта проблема возникает только на ведомом устройстве, похоже, она устарела.

см. этот ком: Глобальные зоны видны во всех представлениях

Второй метод

Другое решение, которое я видел, - использовать оператор in-view. я пробовал с этим:

view "common" {
    match-clients { none; };
    include "/etc/bind/common-view.conf";
};

view "world" {
    match-clients { !key internal-key; !key east-asia-key; world-client; };
    allow-transfer { !key internal-key; !key east-asia-key; srv1; srv2; };

   in-view "common";
   include "/etc/bind/named.conf.default-zones";
   include "/etc/bind/master.conf";
};

к сожалению, это тоже не работает:

Nov 8 17:48:50 bind1 named[19725]: /etc/bind/master.internal.conf:4: unknown option 'in-view' Nov 8 17:48:50 bind1 named[19725]: /etc/bind/master.asia.conf:4: unknown option 'in-view' Nov 8 17:48:50 bind1 named[19725]: /etc/bind/named.conf:16: unknown option 'in-view'.

Я знаю, что могу сделать такой оператор просмотра во всех моих зонах, но это будет головной болью, если мне придется сделать 3 модификации в каждом файле просмотра, если мне нужно добавить / удалить / обновить зону.

view "mordor" {
    ...
    zone example.com {
       ...
    };
};


view "gondor" {
    ...
    zone example.com {
       in-view "mordor";
     };
};

view "khand" {
     ...
     zone example.com {
         in-view "mordor";
     };
};

вот мой выход с именем -V:

root@bind1:~# named -V

BIND 9.11.4-P2-3~bpo9+1-Debian (Extended Support Version) <id:7107deb>

running on Linux x86_64 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21)

built by make with '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=/usr/lib/x86_64-linux-gnu' '--libexecdir=/usr/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--libdir=/usr/lib/x86_64-linux-gnu' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-libidn2' '--with-libjson=/usr' '--with-lmdb=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib/softhsm/libsofthsm2.so' '--with-randomdev=/dev/urandom' '--enable-dnstap' '--with-eddsa=no' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-jvc86P/bind9-9.11.4.P2+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'

Заранее спасибо.

Я полностью изменил свою структуру CNF. с этим КБ: https://kb.isc.org/docs/aa-00851 Пример 4 - Теперь с общими зонами