Mengapa beberapa catatan PTR dalam DNS tidak disarankan?

36

Saya sering membaca bahwa menggunakan beberapa catatan PTR dalam konfigurasi DNS tidak disarankan.

Namun, alasannya sering tidak jelas, atau tidak begitu jelas, yaitu:

  • "Itu bisa menyebabkan masalah",
  • "dapat memicu bug dalam program mengharapkan satu jawaban": itu masalah perangkat lunak, kan ?!
  • "dapat membuat paket jawaban DNS terlalu besar": bukankah ini diperbaiki dengan EDNS ?

Apakah ini alasan bagus? Apakah Anda tahu ada alasan (baik) lainnya? Semua ini terlihat seperti "ketakutan warisan" ...

Totor
sumber
4
Mengapa Anda ingin memiliki beberapa catatan PTR untuk satu alamat IP? Saya tidak bisa memikirkan alasan yang masuk akal untuk dilakukan.
Per von Zweigbergk
3
@PervonZweigbergk Ini bukan yang saya minta, tetapi misalnya, karena saya memiliki beberapa nama yang menunjuk ke IP yang sama, dan ingin kebalikannya cocok dengan mereka semua.
Totor
10
@PervonZweigbergk Bayangkan server email yang menangani email untuk banyak domain. Anda mungkin ingin menggunakan nama dalam domain yang Anda kirimi surat dalam EHLOperintah. Penerima tertentu mengharuskan Anda memiliki PTRcatatan yang cocok dengan domain dalam EHLOperintah Anda , jika tidak mereka tidak akan menerima email dari Anda. Tetapi jika Anda memiliki banyak PTRcatatan, mereka hanya dapat memilih salah satu dari mereka secara acak, dan jika itu tidak cocok dengan EHLOperintah, itu menolak surat.
kasperd
3
Saya tahu itu bukan apa yang Anda minta, itulah sebabnya saya menanyakan ini melalui komentar, bukan sebagai jawaban. :-) Anda tidak pernah menyebut aplikasi apa yang sedang Anda bicarakan. Sebaiknya Anda lebih eksplisit bahwa Anda berbicara tentang konteks e-mail keluar, yang merupakan spekulasi @kasperd.
Per von Zweigbergk
2
@kasperd Saya kira seseorang mungkin ingin melakukan itu tetapi melakukan itu tidak konvensional dan tidak perlu menyebabkan situasi bermasalah yang menjadi pertanyaan. Server email hanya diharapkan menggunakan satu nama dalam EHLOperintahnya, terlepas dari berapa banyak domain yang digunakan untuk menangani email. Nama di HELO/ EHLOdiharapkan untuk mengidentifikasi server surat itu sendiri, tidak terkait dengan alamat surat MAIL FROMatau From.
Håkan Lindqvist

Jawaban:

19

The PTRrekor untuk nama terbalik (misalnya 7.2.0.192.in-addr.arpa) diharapkan untuk mengidentifikasi nama kanonik yang terkait dengan alamat IP.

Baik pointer gateway di node jaringan dan pointer host normal di node alamat lengkap menggunakan RR PTR untuk menunjuk kembali ke nama domain utama dari host yang sesuai.

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

Harapan ini tercermin dalam perangkat lunak yang melakukan pencarian terbalik; seringkali perangkat lunak semacam itu secara khusus mengharapkan satu nama kembali dan diharapkan dapat menggunakan nama itu sebagai nama kanonik untuk host tersebut. Jika ada beberapa nama yang dikembalikan, itu biasa untuk hanya mengambil satu secara acak karena mereka sama sekali tidak tahu mana yang Anda inginkan untuk acara khusus ini.

Karena harapan umum adalah bahwa ada satu nama kanonik yang terkait dengan alamat IP dan nama itu adalah apa yang PTRharus ditunjukkan, menambahkan beberapa nama pada umumnya tidak memiliki sisi terbalik (tidak ada yang mengharapkan sembarang acak A/ AAAAcatatan memiliki pencocokan PTR) tetapi memiliki potensi Kelemahan karena dapat menyebabkan hasil yang aneh karena Anda tidak memiliki kendali atas PTRcatatan mana yang akan digunakan jika Anda telah menambahkan lebih dari satu.

Intinya, jika Anda memiliki banyak PTRcatatan, Anda tidak benar-benar membuat host Anda tampak lebih sah tetapi sebaliknya, Anda berisiko kehilangan beberapa validasi atau melanggar sesuatu.

Sebagai metafora yang mungkin agak ekstrem, menyerahkan lima paspor semuanya dengan foto Anda tetapi dengan nama yang berbeda di bandara mungkin tidak akan diterima juga jika Anda hanya menyerahkan satu.

Håkan Lindqvist
sumber
Menguraikan "satu nama kanonik": dalam kasus di mana alamat IP dapat dikaitkan dengan lebih dari satu entitas, yang paling spesifik lebih disukai. Dalam kasus server web dengan beberapa host virtual berbasis nama, nama server web itu sendiri paling tepat. Ini adalah salah satu kasus di mana mencoba mengikuti saran dari RFC Informasional ( PTRselalu setuju dengan Acatatan) benar-benar gagal.
Andrew B
"Catatan PTR diharapkan untuk mengidentifikasi": oleh siapa? Sepertinya aturan de facto , karena pengembang perangkat lunak mulai mempertimbangkan bahwa hanya satu PTR yang menjadi norma. Apakah saya benar?
Totor
@ Motor menambahkan kutipan dan tautan ke sumber.
Håkan Lindqvist
Sebagai anekdot, baru-baru ini dicatat bahwa Apple memiliki beberapa catatan PTR yang bernilai lebih dari 9k byte. Tidak diragukan lagi mereka bukan satu-satunya. Ini adalah contoh yang agak ekstrem tentang apa yang bisa Anda dapatkan ketika kebijakan catatan PTR wajib tidak mempertimbangkan perincian jawaban ini.
Andrew B
16

Semuanya bermuara pada perilaku yang tidak dapat diprediksi karena RFC tidak memaksakan batasan atau cara untuk menangani catatan PTR ini. Sebagian besar implementasi akan memilih round-robin dan Anda tidak akan mencapai hasil yang Anda inginkan (pencocokan sempurna antara banyak nama dengan satu IP).

Anda dapat membaca lebih lanjut tentang ini di sini: https://supernoc.rogerstelecom.net/pdfs/multiple-ptrs.pdf

Juga, periksa bug ini dari fungsi getnameinfo Glibc ( https://sourceware.org/bugzilla/show_bug.cgi?id=5790 ). Bagaimana Anda dapat menjamin ini tidak terjadi dalam jumlah tak terbatas dari berbagai sistem di Internet (beberapa di antaranya sangat tua dan belum ditambal)?

Untuk memperkuat, sebagai aturan praktis, selalu baik untuk menghindari perilaku yang tidak ditentukan dan tidak dapat diprediksi. Sayangnya, beberapa catatan PTR untuk IP tunggal termasuk dalam kategori itu (sejauh yang menyangkut RFC).

Giovanni Tirloni
sumber
2
Bagaimana Anda dapat menjamin bahwa masalah apa pun tidak terjadi dalam jumlah "tak terbatas" dari berbagai sistem di Internet? Jawaban Anda bagus tetapi argumen ini tidak ada nilainya. Selain itu, bug klien adalah IMHO yang tidak relevan, kecuali jika sejumlah "signifikan" dari mereka terkena dampak.
Totor
2

Bagaimana Anda menjamin bahwa PTR akan cocok dengan catatan maju tertentu jika Anda memiliki beberapa PTR?

Ini sangat penting dalam tindakan antar server mail, di mana sebagian besar server SMTP penerima inbound akan memeriksa apakah forward cocok dengan sebaliknya

Cukup sulit adalah Anda memiliki beberapa PTR dan tidak ada cara untuk menjamin PTR mana yang dipilih dan cocok dengan forward yang Anda berikan dalam menghubungkan

Cara termudah untuk menjamin kecocokan yang sempurna adalah memiliki satu PTR yang cocok dengan entri maju

pengguna274768
sumber