Tại sao nhiều bản ghi PTR trong DNS không được khuyến nghị?


36

Tôi thường đọc rằng không nên sử dụng nhiều bản ghi PTR trong cấu hình DNS.

Tuy nhiên, lý do thường mơ hồ, hoặc không quá rõ ràng, đặt tên:

  • "nó có thể gây ra vấn đề",
  • "Có thể kích hoạt các lỗi trong các chương trình mong đợi một câu trả lời": đó là vấn đề của phần mềm, phải không?!
  • "có thể làm cho gói trả lời DNS quá lớn": điều này có cố định với EDNS không?

Là những lý do tốt? Bạn có biết lý do nào khác (tốt) không? Tất cả những thứ này trông giống như một "nỗi sợ di sản" ...


4
Tại sao bạn muốn có nhiều bản ghi PTR cho một địa chỉ IP? Tôi không thể nghĩ ra một lý do nào có ý nghĩa để làm.
Per von Zweigbergk

3
@PervonZweigbergk Đây không phải là những gì tôi đã hỏi, nhưng chẳng hạn, vì tôi có một vài tên chỉ vào cùng một IP và muốn điều ngược lại khớp với tất cả chúng.
Toto

10
@PervonZweigbergk Hãy tưởng tượng một máy chủ thư xử lý thư cho nhiều tên miền. Bạn có thể muốn sử dụng tên trong miền mà bạn đang gửi thư trong EHLOlệnh. Một số người nhận yêu cầu bạn có một PTRbản ghi khớp với tên miền trong EHLOlệnh của bạn , nếu không họ sẽ không chấp nhận thư từ bạn. Nhưng nếu bạn có nhiều PTRbản ghi, họ có thể chỉ chọn một trong số chúng một cách ngẫu nhiên và nếu bản ghi đó không khớp với EHLOlệnh, nó sẽ từ chối thư.
kasperd

3
Tôi biết đó không phải là những gì bạn hỏi, đó là lý do tại sao tôi hỏi điều này thông qua một bình luận, không phải là một câu trả lời. :-) Bạn chưa bao giờ đề cập đến ứng dụng mà bạn đang nói về. Bạn sẽ làm tốt hơn để nói rõ hơn rằng bạn đang nói về bối cảnh của email gửi đi, đó là những gì @kasperd đang suy đoán.
Per von Zweigbergk

2
@kasperd Tôi cho rằng ai đó có thể muốn làm điều đó nhưng làm như vậy là độc đáo và không cần thiết gây ra tình huống có vấn đề mà câu hỏi là về. Một máy chủ thư chỉ được dự kiến ​​sẽ sử dụng một tên duy nhất trong các EHLOlệnh của nó , bất kể có bao nhiêu tên miền xử lý thư. Tên trong HELO/ EHLOdự kiến ​​sẽ xác định chính máy chủ thư, không liên quan đến MAIL FROMhoặc Fromđịa chỉ thư.
Håkan Lindqvist

Câu trả lời:


19

Bản PTRghi cho một tên ngược (ví dụ 7.2.0.192.in-addr.arpa) dự kiến ​​sẽ xác định tên chính tắc được liên kết với địa chỉ IP đó.

Cả con trỏ cổng tại các nút mạng và con trỏ máy chủ bình thường tại các nút địa chỉ đầy đủ đều sử dụng PTR RR để trỏ lại tên miền chính của các máy chủ tương ứng.

Từ: http://tools.ietf.org/html/rfc1035#section-3.5

Kỳ vọng này được phản ánh trong phần mềm thực hiện tra cứu ngược; thường thì phần mềm như vậy đặc biệt mong đợi một tên duy nhất trở lại và nó hy vọng có thể sử dụng tên đó làm tên chính tắc cho máy chủ đó. Nếu có nhiều tên được trả về, thông thường chỉ lấy một tên ngẫu nhiên vì chúng hoàn toàn không có cách nào để biết tên nào bạn thích trong dịp đặc biệt này.

Vì kỳ vọng chung là có một tên chính tắc được liên kết với một địa chỉ IP và tên đó là những gì PTRnên trỏ đến, việc thêm nhiều tên thường không có mặt trái (không có gì mong đợi bất kỳ bản ghi A/ ngẫu nhiên nào AAAAcó khớp PTR) nhưng nó có tiềm năng Nhược điểm vì nó có thể gây ra kết quả lạ vì bạn không kiểm soát được PTRhồ sơ nào sẽ được sử dụng nếu bạn đã thêm nhiều hơn một.

Về bản chất, nếu bạn có nhiều PTRhồ sơ, bạn không thực sự làm cho máy chủ của mình có vẻ hợp pháp hơn mà ngược lại, bạn có nguy cơ không thực hiện được một số xác nhận hoặc phá vỡ một cái gì đó.

Như một phép ẩn dụ có lẽ hơi cực đoan, việc trao năm hộ chiếu tất cả bằng ảnh của bạn nhưng với các tên khác nhau tại sân bay có lẽ sẽ không được nhận cũng như nếu bạn chỉ trao một.


Xây dựng trên "một tên chính tắc": trong trường hợp địa chỉ IP có thể được liên kết với nhiều hơn một thực thể, thì cụ thể nhất được ưu tiên. Trong trường hợp máy chủ web có nhiều máy chủ ảo dựa trên tên, tên của máy chủ web là phù hợp nhất. Đây là một trong những trường hợp cố gắng làm theo lời khuyên của RFC thông tin ( PTRluôn đồng ý với Ahồ sơ) là hoàn toàn không có cơ sở.
Andrew B

"Bản ghi PTR dự kiến ​​sẽ xác định": bởi ai? Nó trông giống như một quy tắc thực tế , khi các nhà phát triển phần mềm bắt đầu xem xét rằng chỉ có một PTR là chuẩn mực. Tôi có đúng không
Totor

@Totor Đã thêm một trích dẫn và liên kết cho một nguồn.
Håkan Lindqvist

Là một giai thoại, gần đây đã lưu ý rằng Apple có một vài bản ghi PTR có giá trị câu trả lời hơn 9k byte. Không nghi ngờ gì họ không phải là người duy nhất. Đây là một ví dụ khá cực đoan về những gì bạn có thể kết thúc khi các chính sách hồ sơ PTR bắt buộc không xem xét chi tiết câu trả lời này.
Andrew B

16

Tất cả bắt nguồn từ hành vi không thể đoán trước do RFC không áp đặt giới hạn hoặc cách xử lý các hồ sơ PTR này. Hầu hết các triển khai sẽ chọn vòng tròn và bạn sẽ không đạt được kết quả mong muốn của mình (kết hợp hoàn hảo giữa nhiều tên với một IP).

Bạn có thể đọc thêm về điều này tại đây: https://supernoc.rogerstelecom.net/pdfs/mult Môn-ptrs.pdf

Ngoài ra, hãy kiểm tra lỗi này từ chức năng getnameinfo của Glibc ( https://sourceware.org/ormszilla/show_orms.cgi?id=5790 ). Làm thế nào bạn có thể đảm bảo điều này không xảy ra trong vô số hệ thống khác nhau trên Internet (một số trong số chúng rất cũ và chưa được vá)?

Để củng cố, như một quy tắc của ngón tay cái, luôn luôn tốt để tránh hành vi không xác định và không thể đoán trước. Thật không may, nhiều bản ghi PTR cho một IP duy nhất rơi vào danh mục đó (theo như RFC có liên quan).


2
Làm thế nào bạn có thể đảm bảo rằng bất kỳ vấn đề nào không xảy ra trong số lượng "vô hạn" của các hệ thống khác nhau trên Internet? Câu trả lời của bạn là tốt nhưng lập luận này không có giá trị. Hơn nữa, các lỗi máy khách là IMHO không liên quan, ngoại trừ nếu một số lượng "đáng kể" trong số chúng bị ảnh hưởng.
Totor

2

Làm thế nào để bạn đảm bảo rằng một PTR sẽ khớp với một bản ghi chuyển tiếp cụ thể nếu bạn có nhiều PTR?

Điều này đặc biệt quan trọng trong các hành động liên máy chủ thư, trong đó hầu hết các máy chủ SMTP nhận trong nước sẽ kiểm tra xem chuyển tiếp có khớp với đảo ngược không

Khá khó khăn là bạn có nhiều PTR và không có cách nào để đảm bảo PTR nào được chọn và nó phù hợp với chuyển tiếp mà bạn đã đưa ra khi kết nối

Cách dễ nhất để đảm bảo một trận đấu hoàn hảo là có một PTR khớp với mục chuyển tiếp

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.