Bind
bind: client X… zone transfer ’example.com/AXFR/IN’ denied, but allow-transfer { X;};已設置!
我在嘗試啟動區域轉移時被拒絕訪問。
對於一個
dig @ns.example.com example.com axfr
我得到client 71.252.219.43#58392: zone transfer 'balticovo.eu/AXFR/IN' denied
配置:
- 伺服器經過NAT,位於防火牆後面。如果是防火牆問題,我不會在我的電腦日誌文件中看到已經發出這樣的請求。
- 命名程序以綁定使用者身份執行,該使用者在
/var/lib/named
.- 命名的.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; };
- 所有文件都歸bind所有。命名程序真正由 chroot 使用者執行。
- 探勘 axfr 記錄以外的工作。
named -v
輸出BIND 9.6-ESV-R3
現在問題已經解決了。我做了相當大的改變:
- 通過文件的某些權限來加強安全性(這可能不是這種情況,因為在此之前它們也可以)
- 沒有 rndc 配置。生成密鑰並設置 rndc。
- 然後….當我在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 文件。