Galilah pengembalian "status: REFUSED" untuk kueri eksternal?

14

Sepertinya saya tidak dapat mengetahui mengapa DNS saya tidak berfungsi dengan benar, jika saya menjalankan menggali dari server nama berfungsi dengan benar:

# dig ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; ANSWER SECTION:
ungl.org.               38400   IN      A       188.165.34.72

;; AUTHORITY SECTION:
ungl.org.               38400   IN      NS      ns.kimsufi.com.
ungl.org.               38400   IN      NS      r29901.ovh.net.

;; ADDITIONAL SECTION:
ns.kimsufi.com.         85529   IN      A       213.186.33.199

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE  rcvd: 114

tetapi ketika saya menjalankannya dari server lain di pusat data yang sama saya menerima:

# dig @87.98.167.208 ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE  rcvd: 26

file zona saya untuk domain ini adalah

$ttl 38400
ungl.org.       IN  SOA r29901.ovh.net. mikey.aol.com. (
                201003121
                10800
                3600
                604800
                38400 )
ungl.org.       IN  NS  r29901.ovh.net.
ungl.org.       IN  NS  ns.kimsufi.com.
ungl.org.       IN  A   188.165.34.72
localhost.      IN  A   127.0.0.1
www             IN  A   188.165.34.72

dan opsi named.conf.op adalah default:

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { ::1; };
    listen-on { 127.0.0.1; };
    allow-recursion { 127.0.0.1; };
};

named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

zone "eugl.eu" {
         type master;
         file "/etc/bind/eugl.eu";
         notify no;
};


zone "ungl.org" {
         type master;
         file "/etc/bind/ungl.org";
         notify no;
};

Server menjalankan Ubuntu 9.10 dan Bind 9, jika ada yang bisa menjelaskan ini untuk saya, itu akan membuat saya sangat senang!

Terima kasih


sumber
Seperti apa bagian "opsi" Anda dari konfigurasi bind pada server yang tidak berperilaku? Secara default di ubuntu saya percaya semuanya ada di /etc/bind/named.conf.options
Cory J
Saya telah memperbarui pertanyaan, saya belum mengubah apa pun dalam opsi
1
Bagaimana dengan definisi zona dalam named.conf.local?
ktower
Ditambahkan ke pos utama

Jawaban:

18

walaupun saya mungkin menggali utas lama, saya melakukannya karena ini adalah salah satu hasil yang paling relevan saat melakukan pencarian google untuk "status permintaan ditolak".

Dalam kasus khusus saya, saya menemukan bahwa saya harus memasukkan allow-query { any; };dalam setiap definisi zona dalam named.conf.

w00t
sumber
Anda adalah malaikat penyelamat saya! Terima kasih banyak
codezombie
5

Hanya sekilas tampaknya bagi saya bahwa itu tidak dikonfigurasi untuk mendengarkan seluruh dunia karena listen-on { 127.0.0.1; };. Anda harus menambahkan alamat IP yang sesuai di sana.

John Gardeniers
sumber
Saya telah mengubah ini ke alamat IP internet server (188.165.34.72) dan memuat kembali ikatan tetapi saya masih menerima pesan ditolak yang sama
1
Apakah ada firewall lokal di mesin itu? Anda mungkin perlu membuka porta (53 TCP dan UDP).
John Gardeniers
URL tampaknya berfungsi sekarang, tetapi masih menunjukkan status ditolak yang sama dari server saya yang lain
4

Saya melakukan samething tapi saya meletakkan opsi allow-query di named.conf.options


sumber
1

NOERROR ketika tidak disertai dengan catatan sumber daya (RR) berarti bahwa tidak ada catatan seperti itu, jadi ketika Anda mendapatkan respons NOERROR dan tidak ada 'catatan' setelah menetapkan "versi" ke "tidak ada" maka itu berfungsi seperti yang diharapkan.

Ada juga allow-querypernyataan konfigurasi dengan BIND9 namun saya pikir defaultnya adalah untuk mengizinkan pertanyaan dari mana saja.

ZaphodB
sumber
1

Saya memiliki masalah yang persis sama (gali status NOERROR secara lokal, gali status yang DITOLAK dari luar), dan solusinya mengubah pertandingan-klien dari "localhost" (yang merupakan default untuk bind install) menjadi "any" (nanti saya dapat cari tahu apa ip yang tepat dari penyedia nama domain saya dan batasi pada ip tertentu untuk alasan keamanan). Juga, saya mengubah nama tampilan dari local_something ke default. Nama itu tidak masalah.

view default {
        match-clients      { any; };
        match-destinations { any; };
        include "/etc/named.rfc1912.zones";
};

Itu benar-benar masalah dengan bisnis "penggalian status menolak" ini. Tepat setelah saya mengubah parameter pertandingan-klien, pertanyaan saya @ 12.34.56.78 mydomain.com mulai diselesaikan dengan status NOERROR, dan penyedia nama domain (godaddy) segera men-cache catatan nameserver. Karena file zona saya sudah dikonfigurasi dengan benar, nama domain langsung menjadi terlihat di internet.

Tapi aku membenturkan kepalaku ke dinding untuk mengatasi masalah ini.

kuda bersayap
sumber
1
Bisakah Anda mengklarifikasi, file mana di komputer mana yang Anda modifikasi?
Alexey
1

Saya harus memasukkan referensi eksplisit untuk jaringan yang ingin saya rekursi. Menentukan "apa saja" tidak membantu. Secara default (Umbutu Server 15) tidak ada entri untuk ini dalam /etc/bind/named.conf.optionsfile.

recursion yes;  << needed to add this but did not resolve greater prob
allow-recursion { any; }; << this did not work
allow-recursion { 10.1.0.0/16; }; << this did the trick
Iradw
sumber
0

Anda yakin mengirim pertanyaan ke tempat yang tepat?

Server Anda di 188.165.34.72 (r29901.ovh.net ) menjalankan BIND 9.5.1-P2.1 - ia menjawab kueri dig @ip version.bind ch txtseperti yang diharapkan dengan string respons itu.

Namun alamat IP yang Anda kutip di atas mengembalikan NOTIMPLkesalahan, meskipun tidak ada dalam file konfigurasi yang dikutip tentang *.bindpseudo-records dan BIND memerlukan konfigurasi eksplisit untuk menonaktifkannya.

Alnitak
sumber
NOTIMPL tidak diterapkan? Mengapa ada fitur yang tidak diterapkan diaktifkan secara default?
Jika BIND, ada opsi yang disebut "versi" yang memberitahu untuk mengirim nilai yang ditentukan pengguna ke permintaan itu, atau "tidak ada" untuk menonaktifkan fitur. Jika opsi tidak ditentukan, ia mengembalikan nomor versi yang sebenarnya. Anda tidak mengutip opsi seperti itu, yang membuat saya curiga Anda tidak berbicara dengan server yang tepat. Lihat isc.org/software/bind/documentation/arm95
Alnitak
Saya telah memeriksa lebih lanjut - pada kotak MacOSX saya dengan bind 9.6.0, pengaturan "versi" menjadi "tidak ada" kembali NOERRORdan bukan NOTIMPLkesalahan yang saya lihat dari IP itu.
Alnitak
0

Karena Anda mengizinkan rekursi hanya dari mesin lokal Anda.

Jika Anda ingin mengizinkan menambahkan alamat ip yang sesuai dan Anda perlu mengubah mendengarkan nilai pada adaptor apa pun dari mesin lokal Anda atau memasukkan alamat ip dari antarmuka mesin lokal:

listen-on { any;} or x.x.x.x;
tamirat
sumber