У меня есть два тестовых сервера: главный и подчиненный:
Мастер обновляет подчиненное, но очень медленно. Как это ускорить.
Мастер (192.168.0.122) /etc/ named.conf
zone "domain.com." {
type master;
file "caching-example/domain.com.db";
//allow-update { key rndc-key;};
notify yes;
also-notify { 192.168.0.66; };
allow-transfer { 192.168.0.66; };
};
Подчиненный (192.168.0.66) /etc/ named.conf
zone "domain.com" {
type slave;
file "caching-example/domain.com.db";
//allow-update { key rndc-key; };
//allow-transfer { none; };
allow-notify { 192.168.0.122; };
masters { 192.168.0.122; };
}
Главная зона /var/ named/caching-example/domain.com.db
$TTL 3600
$ORIGIN domain.com.
@ IN SOA darkstar.example.net. root.example.net. (
2012033101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
43200 ) ; Negative Cache TTL
IN NS darkstar.example.net.
@ IN A 162.144.18.114
www IN A 162.144.18.114
Теперь, когда я вручную переключаю главную зону /var/ named/caching-example/domain.com.db
$TTL 3600
$ORIGIN domain.com.
@ IN SOA darkstar.example.net. root.example.net. (
2012033102 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
43200 ) ; Negative Cache TTL
IN NS darkstar.example.net.
@ IN A 8.8.8.8
www IN A 8.8.8.8
Ничего не происходит. У главного устройства есть domain.com по адресу 8.8.8.8, а у подчиненного устройства - domain.com по адресу 162.144.18.114.
dig @192.168.0.122 domain.com
domain.com. 3600 IN A 8.8.8.8
dig @192.168.0.66 domain.com
domain.com. 3600 IN A 162.144.18.114
На ведомом устройстве пытался использовать rndc, но безуспешно rndc refresh domain.com
zone refresh queued
Мастер обновляет подчиненное, но очень медленно, есть ли способ ускорить это? Я обнаружил, что TTL отрицательного кэша можно использовать во время обновления, но привязка требует перезагрузки конфигурации. Возможно ли автоматическое обновление?
Можно ли принудительно обновить зону с / на ведомом?
** РЕДАКТИРОВАТЬ **
Feb 16 01:00:21 darkstar named[1460]: client @0x7fec000bfea0 192.168.0.122#49018: received notify for zone 'domain.com'
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: notify from 192.168.0.122#49018: serial 2012033102
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: Transfer started.
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: connected using 192.168.0.66#51117
Feb 16 01:00:21 darkstar named[1460]: zone domain.com/IN: transferred serial 2012033102
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: Transfer status: success
Feb 16 01:00:21 darkstar named[1460]: transfer of 'domain.com/IN' from 192.168.0.122#53: Transfer completed: 1 messages, 5 records, 176 bytes, 0.003 secs (58666 bytes/sec)
Ваша установка делает то, что должна:
SOA
серийный.rndc reload
на мастера.BIND не отслеживает изменения файлов, т.е. это нормально, что он не делает этого автоматически. Ты должен бежать rndc reload
на мастере после каждой модификации. Подчиненное устройство не может заставить ведущее перезагрузить конфигурацию / зоны.
Поздний ответ на ваш вопрос без ответа:
Можно ли принудительно обновить зону с / на ведомом?
Я просто хотел ускорить / форсировать передачу и использовал это на своем ведомом устройстве для каждого устаревшего домена:
rndc retransfer domain.com