Sự cố BIND9 SERVFAIL với Máy chủ DNS Windows 2008 R2


0

Tôi đã xem xét một vấn đề lạ với BIND 9 khi một trong các phiên bản Windows 2008 R2 của tôi được chỉ ra là một giao nhận. Cụ thể, khi DNSSEC được bật trong BIND, một số tên miền không thể giải quyết trong các trường hợp cụ thể. Các sự cố này tự giải quyết khi được chuyển sang máy chủ DNS công cộng, như 8.8.8.8 của Google.

Nhìn xa hơn, nó xuất hiện khi EDNS được bật trong máy chủ DNS Windows 2008 R2 (mặc định, chấp nhận phản hồi DNSSEC), thỉnh thoảng không giải quyết được với hàmFAFA khi NODATA được trả về BIND (tức là 0 câu trả lời với mã trạng thái NOERROR. )

Ví dụ: mx2.comcast.com loại SRV sẽ thất bại khi tra cứu trong máy chủ DNS Windows 2008 R2 được trỏ đến BIND là một công cụ chuyển tiếp, nhưng loại SRV của bat.comcast.com hoạt động tốt.

Thực hiện truy vấn cục bộ với đào, tôi nhận được các kết quả sau:

mx2.comcast.com SRV - Truy vấn BIND cục bộ

; <<>> DiG 9.9.2-P1 <<>> @127.0.0.1 mx2.comcast.com SRV +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42484
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;mx2.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
mx2.comcast.com.        3600    IN      RRSIG   NSEC 5 3 3600 20130711200520 20130704170020 2643 comcast.com. pmOHJX7dSNuFSRiFvxNIIuhQk/Sh6/9xSiZ2wj2I6RDKkrQlDScdFjDB nSpeWt9068Wq+aQE36dbTsvyyCKgtrPcJIUxKVCtsXzTavXdx9XVGwG9 cKF6TrQx+MGPRwRwjPorDmPJxImveGMeE7X4Nl1mkGk/lRJwbvk1yFWV w1w=
mx2.comcast.com.        3600    IN      NSEC    mx3.comcast.com. A RRSIG NSEC
comcast.com.            3600    IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600
comcast.com.            3600    IN      RRSIG   SOA 5 2 3600 20130711200520 20130704170020 2643 comcast.com. Te6jKcUXakWpPGQYpZICPShPZYEHHEcCnfFoof6VfOLPhhQP5MlWMbni QSQTY1UZLLCqU0j2U5n48wAMrSLSXoye+9W+pFnHtSl00fCQoQJ2ts+x DDQkdcJo2jWhNHGr6zsP6y9clhLUkFRW7ZVdqCV62KtTumU8Qe4UOjNK R3s=

Cùng một truy vấn, nhưng được thực hiện với máy chủ DNS của Google:

; <<>> DiG 9.9.2-P1 <<>> @8.8.8.8 mx2.comcast.com SRV +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3537
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;mx2.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            1800    IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600
comcast.com.            1800    IN      RRSIG   SOA 5 2 3600 20130711200520 20130704170020 2643 comcast.com. Te6jKcUXakWpPGQYpZICPShPZYEHHEcCnfFoof6VfOLPhhQP5MlWMbni QSQTY1UZLLCqU0j2U5n48wAMrSLSXoye+9W+pFnHtSl00fCQoQJ2ts+x DDQkdcJo2jWhNHGr6zsP6y9clhLUkFRW7ZVdqCV62KtTumU8Qe4UOjNK R3s=
mx2.comcast.com.        3600    IN      NSEC    mx3.comcast.com. A RRSIG NSEC
mx2.comcast.com.        3600    IN      RRSIG   NSEC 5 3 3600 20130711200520 20130704170020 2643 comcast.com. pmOHJX7dSNuFSRiFvxNIIuhQk/Sh6/9xSiZ2wj2I6RDKkrQlDScdFjDB nSpeWt9068Wq+aQE36dbTsvyyCKgtrPcJIUxKVCtsXzTavXdx9XVGwG9 cKF6TrQx+MGPRwRwjPorDmPJxImveGMeE7X4Nl1mkGk/lRJwbvk1yFWV w1w=

Khi sử dụng Windows với máy chủ BIND làm giao nhận:

; <<>> DiG 9.9.3-P1 <<>> mx2.comcast.com SRV @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 57054
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;mx2.comcast.com.               IN      SRV

và với DNS của Google là người chuyển tiếp:

; <<>> DiG 9.9.3-P1 <<>> mx2.comcast.com SRV @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56582
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;mx2.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            900     IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600

Bây giờ, hãy thử điều này với bat.comcast.com:

; <<>> DiG 9.9.2-P1 <<>> @127.0.0.1 bat.comcast.com SRV +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2383
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;bat.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            1603    IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600
comcast.com.            1603    IN      RRSIG   SOA 5 2 3600 20130711200520 20130704170020 2643 comcast.com. Te6jKcUXakWpPGQYpZICPShPZYEHHEcCnfFoof6VfOLPhhQP5MlWMbni QSQTY1UZLLCqU0j2U5n48wAMrSLSXoye+9W+pFnHtSl00fCQoQJ2ts+x DDQkdcJo2jWhNHGr6zsP6y9clhLUkFRW7ZVdqCV62KtTumU8Qe4UOjNK R3s=
awrelaypool02.comcast.com. 1603 IN      RRSIG   NSEC 5 3 3600 20130711200520 20130704170020 2643 comcast.com. U87nbvAj7j7pAk4kigqMyVy8XDeHqRP9756PTQsucrRTEchtScfBKWLl Eo7cWJc4Vcsfept+ixg0IiAxpwHATqwNTmq/giAeglFfeFmMHlXrhdOl Bl5myReo1gSXlpm0+bvinOFRek/MUlYGLvDAq17noJag2k1oXrvhaNBo qWo=
awrelaypool02.comcast.com. 1603 IN      NSEC    www.bat.comcast.com. A RRSIG NSEC

và trình giải quyết của Google:

; <<>> DiG 9.9.2-P1 <<>> @8.8.8.8 bat.comcast.com SRV +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28253
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;bat.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            1800    IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600
comcast.com.            1800    IN      RRSIG   SOA 5 2 3600 20130711200520 20130704170020 2643 comcast.com. Te6jKcUXakWpPGQYpZICPShPZYEHHEcCnfFoof6VfOLPhhQP5MlWMbni QSQTY1UZLLCqU0j2U5n48wAMrSLSXoye+9W+pFnHtSl00fCQoQJ2ts+x DDQkdcJo2jWhNHGr6zsP6y9clhLUkFRW7ZVdqCV62KtTumU8Qe4UOjNK R3s=
awrelaypool02.comcast.com. 3600 IN      NSEC    www.bat.comcast.com. A RRSIG NSEC
awrelaypool02.comcast.com. 3600 IN      RRSIG   NSEC 5 3 3600 20130711200520 20130704170020 2643 comcast.com. U87nbvAj7j7pAk4kigqMyVy8XDeHqRP9756PTQsucrRTEchtScfBKWLl Eo7cWJc4Vcsfept+ixg0IiAxpwHATqwNTmq/giAeglFfeFmMHlXrhdOl Bl5myReo1gSXlpm0+bvinOFRek/MUlYGLvDAq17noJag2k1oXrvhaNBo qWo=

Một lần nữa với Windows (BIND Resolver) :

; <<>> DiG 9.9.3-P1 <<>> bat.comcast.com SRV @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11140
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;bat.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            900     IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600

Một lần nữa với Windows (Google Resolver) :

; <<>> DiG 9.9.3-P1 <<>> bat.comcast.com SRV @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22907
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;bat.comcast.com.               IN      SRV

;; AUTHORITY SECTION:
comcast.com.            900     IN      SOA     dns101.comcast.net. domregtech.comcastonline.com. 2009085823 7200 3600 1209600 3600

Nhìn vào các kết quả này, độ phân giải Windows không thành công trên mx2.comcast.com, nhưng đã thành công trên bat.comcast.com và từ mã lỗi mà Windows đã báo cáo (SERVFAIL), có vẻ như ban đầu xác thực DNSSEC không thành công trường hợp vì tất cả các phản hồi truy vấn có bit 'quảng cáo' (xác thực) được đặt trên chúng. Điều đó nói rằng, BIND dường như có một xu hướng hấp dẫn để can thiệp vào thứ tự xuất hiện phần thẩm quyền RR. Nhìn vào truy vấn Google cho mx2.comcast.com, chúng ta có thể thấy phần quyền hạn xuất hiện theo thứ tự này (đây cũng là cách máy chủ có thẩm quyền phản hồi):

  • SOA
  • RRSIG - SOA
  • NSEC
  • RRSIG - NSEC

trong khi BIND trả về các phản hồi theo thứ tự này:

  • RRSIG - NSEC
  • NSEC
  • SOA
  • RRSIG - SOA

Đối với bat.comcast.com, Google trả lời theo thứ tự này:

  • SOA
  • RRSIG - SOA
  • NSEC
  • RRSIG - NSEC

và BIND trả lời theo thứ tự này:

  • SOA
  • RRSIG - SOA
  • RRSIG - NSEC
  • NSEC

Cho rằng truy vấn đầu tiên không thành công trong Windows nhưng lần thứ hai hoạt động tốt, có vẻ như Windows 2008 R2 yêu cầu bản ghi SOA xuất hiện đầu tiên khi không có câu trả lời và trả về mã = ​​NOERROR. (Xin lưu ý rằng nếu máy chủ từ xa trả về NXDOMAIN, thì thứ tự của các RR này dường như không có vấn đề gì và Windows sẽ trả lại NXDOMAIN cho máy khách trở lại).

Nhìn vào tài liệu BIND và xem liệu có bất kỳ tùy chọn cấu hình nào kiểm soát thứ tự của các RR này, nhưng không có kết quả. Đây là những gì tôi đã thử:

    rfc2308-type1 yes;
    minimal-responses yes;
    rrset-order {order fixed;};

Tôi cũng đã thử nâng cấp phiên bản BIND cục bộ lên 9.9.3-P1 từ 9.9.2-P1, nhưng hành vi dường như không thay đổi.

Cuối cùng, về mặt lý thuyết, tôi có thể vô hiệu hóa hỗ trợ EDNS trong Windows 2008 R2 và giải quyết các truy vấn này (vì việc tắt EDNS cũng sẽ triệt tiêu cờ DO cho DNSSEC, do đó bỏ qua RRSIG và NSEC RR trong phản hồi), mặc dù tôi muốn đã để EDNS bật cho hiệu quả của nó so với UDP.

Có ai biết bất cứ điều gì tôi đang thiếu ở đây, hoặc gặp phải tình huống tương tự không?

Bất kỳ ý kiến ​​sẽ được đánh giá rất cao!

Câu trả lời:


0

Bạn đã có thể xác thực giả định của mình rằng đó là thứ tự của các bản ghi khiến MSDNS trả về SERVFAIL? (Điều này hợp lý với những gì bạn thể hiện trong câu hỏi nhưng đối với tôi không rõ các khả năng khác đã bị loại trừ.)

Ngoài ra, có bất cứ điều gì được đăng nhập ở phía MSDNS liên quan đến sự thất bại không?

Tôi không biết tùy chọn ràng buộc điều đó sẽ được áp dụng cho cách RRSIG / NSEC / SOA hồ sơ được đặt hàng trong tình huống này.

Trong số các cài đặt bạn đề cập, rrset-order là điều duy nhất ảnh hưởng đến việc đặt hàng nhưng theo hiểu biết của tôi, nó dành cho một kịch bản như phản hồi với nhiều người A hồ sơ và làm thế nào những người nên được đặt hàng hơn là này.

Dù bằng cách nào giá trị fixed không được hỗ trợ theo mặc định:

Trong bản phát hành BIND 9 này, câu lệnh rrset-order không hỗ trợ thứ tự "cố định" theo mặc định. Đặt hàng cố định có thể được bật tại thời điểm biên dịch bằng cách chỉ định "--enable-fixed-rrset" trên dòng lệnh "configure".

Dường như với tôi rằng nếu thứ tự là nguyên nhân gây ra vấn đề của bạn, thì MSDNS hoặc BIND đều có lỗi.

Rõ ràng là BIND đã thay đổi thứ tự của các bản ghi trong phản hồi của nó nhưng không rõ ràng (dù sao với tôi) tại sao điều đó sẽ là một vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.