Bind

bind: client X… zone transfer ’example.com/AXFR/IN’ denied, but allow-transfer { X;};已設置!

  • January 20, 2020

我在嘗試啟動區域轉移時被拒絕訪問。

對於一個dig @ns.example.com example.com axfr我得到

client 71.252.219.43#58392: zone transfer 'balticovo.eu/AXFR/IN' denied

配置:

  1. 伺服器經過NAT位於防火牆後面。如果是防火牆問題,我不會在我的電腦日誌文件中看到已經發出這樣的請求。
  2. 命名程序以綁定使用者身份執行,該使用者在/var/lib/named.
  3. 命名的.conf:
web:/var/lib/named/etc# cat named.conf
options {
   directory "/etc";
   pid-file "/var/run/named.pid";
   statistics-file "/var/run/named.stats";
   allow-transfer { 127.0.0.1; };
   listen-on port 53 { any; };
   listen-on-v6 port 53 { any; };
};

logging {
   category default { default_syslog; default_debug; };
   category unmatched { null; };

   channel default_syslog {
       syslog daemon;
       severity info;
   };

   channel default_debug {
       file "named.run";
       severity dynamic;
   };

   channel default_stderr {
       stderr;
       severity info;
   };

   channel null {
       null;
   };
};

zone "." {
   type hint;
   file "/etc/root.hints";
};

zone "localhost" {
   type master;
   file "/etc/localhost";
};

zone "0.0.127.in-addr.arpa" {
   type master;
   file "/etc/127.0.0";
};

zone "example.com" IN {
       type master;
       file "sites/example.com/forward.zone";
       allow-transfer { 202.157.182.142; 71.252.219.43; };
       allow-update { none; };
       allow-query { any; };
       zone-statistics yes;
};   
  1. 所有文件都歸bind所有。命名程序真正由 chroot 使用者執行。
  2. 探勘 axfr 記錄以外的工作。
  3. named -v輸出BIND 9.6-ESV-R3

現在問題已經解決了。我做了相當大的改變:

  1. 通過文件的某些權限來加強安全性(這可能不是這種情況,因為在此之前它們也可以)
  2. 沒有 rndc 配置。生成密鑰並設置 rndc。
  3. 然後….當我在named.conf中進行更改並重新啟動時,似乎以前的程序沒有被殺死,但是產生了新的程序,並且我的日誌中有這樣的行:
Jan 25 15:43:22 web named[18863]: listening on IPv6 interfaces, port 53
Jan 25 15:43:22 web named[18863]: binding TCP socket: address in use
Jan 25 15:43:22 web named[18863]: listening on IPv4 interface lo, 127.0.0.1#53
Jan 25 15:43:22 web named[18863]: binding TCP socket: address in use
Jan 25 15:43:22 web named[18863]: listening on IPv4 interface eth0, 10.3.0.10#53
Jan 25 15:43:22 web named[18863]: binding TCP socket: address in use
...
Jan 25 15:43:22 web named[18863]: /etc/named.conf:12: couldn't add command channel 0.0.0.0#953: address in use

現在我做了killall named,然後/etc/init.d/bind9 start一切都很好。

可能第三點解決了這個問題,因為當我更改named.conf 時,它實際上並沒有使用最新的conf 文件。

引用自:https://serverfault.com/questions/226595