Pertanyaan Mengapa catatan MX tidak bisa menunjuk ke alamat IP?


saya memahamimu jangan arahkan catatan MX pada alamat IP secara langsung, tetapi harus alih-alih mengarahkannya ke A rekam, yang, secara bergiliran, menunjuk ke alamat IP server email Anda.

Tapi, pada prinsipnya, Mengapa apakah ini diperlukan?


83
2018-01-28 17:13




Jika Anda dapat mengatur catatan MX Anda juga dapat mengatur catatan A. Saya tidak melihat masalahnya di sini. - joshudson
@joshudson Bukan masalah sama sekali, hanya saya yang mencoba memahami mengapa daripada hanya mengikuti apa yang orang lain lakukan. - dayuloli
Saya baru mencoba di CloudFlare. Itu tidak menerima alamat IP sebagai nilai untuk catatan MX. - LinuxBabe


Jawaban:


Seluruh ide di balik data MX adalah untuk menentukan tuan rumah atau tuan rumah yang dapat menerima email untuk domain. Sebagaimana ditentukan dalam RFC 1035, catatan MX berisi nama domain. Karena itu harus menunjuk ke host yang itu sendiri dapat diselesaikan dalam DNS. Alamat IP tidak dapat digunakan karena akan ditafsirkan sebagai nama domain yang tidak memenuhi syarat, yang tidak dapat diselesaikan.

Alasan untuk ini pada 1980-an, ketika spesifikasi awalnya ditulis, hampir sama dengan alasan untuk itu hari ini: Sebuah host dapat terhubung ke beberapa jaringan dan menggunakan beberapa protokol.

Kembali di tahun 80-an, tidak jarang memiliki gateway surat yang terhubung baik ke Internet (relatif baru) yang menggunakan TCP / IP dan ke jaringan warisan lainnya, yang sering menggunakan protokol lain. Menentukan MX dengan cara ini memungkinkan untuk catatan DNS yang dapat mengidentifikasi cara menjangkau host semacam itu di jaringan selain Internet, seperti Chaosnet. Namun dalam prakteknya, ini hampir tidak pernah terjadi; sebenarnya semua orang merekayasa ulang jaringan mereka untuk menjadi bagian dari internet.

Saat ini, situasinya adalah bahwa host dapat dijangkau oleh beberapa protokol (IPv4 dan IPv6) dan dengan beberapa alamat IP di setiap protokol. Data MX tunggal tidak mungkin mencantumkan lebih dari satu alamat, jadi satu-satunya opsi adalah menunjuk ke host, di mana semua alamat host itu dapat dicari. (Sebagai optimasi kinerja, server DNS akan mengirim bersama catatan alamat untuk host di bagian tambahan tanggapan jika memiliki catatan otoritatif untuk mereka, menyimpan perjalanan pulang-pergi.)

Ada juga situasi yang muncul ketika penukar surat Anda disediakan oleh pihak ketiga (misalnya Google Apps atau Office 365). Anda mengarahkan data MX Anda ke nama host mereka, tetapi mungkin terjadi bahwa penyedia layanan perlu mengubah alamat IP server email. Karena Anda telah menunjuk ke suatu host, penyedia layanan dapat melakukan ini secara transparan dan Anda tidak perlu membuat perubahan pada catatan Anda.


84
2018-01-28 17:36



Itu tidak benar-benar mencegah kompatibilitas dengan alamat IP; pada kenyataannya, sebagian besar server / klien SMTP berfungsi baik dengan alamat IP dalam catatan MX dari pengujian kecil yang saya lakukan. Saya pikir tujuannya adalah untuk mencegah industri menggunakan alamat IP secara massal - yang mungkin akan terjadi, jika aturan itu tidak dinyatakan - daripada berdasarkan kasus per kasus. Oleh karena itu, "harus", bukan "keharusan". Beri +1 untuk info yang bagus. Saya tidak pernah mempertimbangkan sebagian besar dari itu. - Zenexer
Hukum Lalu Lintas @Zenexer tidak ada untuk ketidaknyamanan driver ahli yang relatif sedikit yang tahu persis apa yang aman dan apa yang tidak. Mereka ada karena bagian yang lebih besar dari orang-orang tolol sialan yang berpikir mereka tahu apa yang mereka lakukan tetapi tidak. - Shadur
@Zenexer Anda mungkin menemukan bahwa MTA tertentu mentolerirnya hari ini, dan tidak besok. Bagaimanapun, ini bukan perilaku yang diizinkan oleh standar. Dan tentu saja, tidak semua MTA akan mendukungnya, jadi dengan melakukan ini berarti Anda dijamin kehilangan email. - Michael Hampton♦
@MichaelHampton: Jika catatan MX HARUS mengandung nama host, bukan alamat IP, lalu MTA HARUS terima alamat IP. Secara hipotesis, jika catatan MX HARUS mengandung nama host kemudian MTA HARUS terima alamat IP. Begitulah cara kerja RFC. Counterparty untuk saran implementasi "HARUS" dapat mengoptimalkan dengan asumsi saran yang diikuti, tapi itu cukup banyak yang dapat Anda lakukan dengan itu. - MSalters
@MSalters Saya pikir Anda bingung. Saya tidak pernah mengatakan HARUS apa pun. Memang, saya mengatakan bahwa catatan MX HARUS berisi nama host, yang juga apa yang dikatakan RFC. - Michael Hampton♦


DNS sebagai protokol memiliki beberapa jenis nilai yang berbeda, ini tidak dapat ditukarkan.

Sangat penting untuk dicatat bahwa DNS adalah protokol biner dengan pemetaan yang ketat antara jenis catatan dan jenis data yang disimpan oleh rekaman tersebut.

Sebagai contoh:
Sebuah A Rekam menyimpan alamat IPv4 (4 byte data, panjang tetap).
Sebuah AAAARekam menyimpan alamat IPv6 (16 byte data, panjang tetap).

Sebuah MX merekam, di sisi lain, memegang a nama (urutan label pada format <int number of bytes> <label> <int number of bytes> <label> <int 0>, panjang variabel).

Ini bukan mungkinuntuk sebuah MX rekam untuk memiliki alamat IP sebagai datanya.


16
2018-01-28 17:34



Anda dapat membuat label representasi tekstual dari alamat IP, tetapi tidak masuk akal untuk melakukannya, karena tidak dapat diselesaikan sebagai nama host. - Michael Hampton♦
@MichaelHampton Memang, adalah mungkin untuk memiliki nama dengan label semua-numerik yang dalam representasi manusia-ramah yang normal tampak seperti alamat IPv4 pada pandangan pertama. Itu tidak benar-benar mengubah apa pun ketika datang ke pertanyaan, meskipun, karena masih akan menjadi nama dan dengan demikian akan ditangani seperti nama (nama itu, setidaknya di Internet publik, hanya akan menjadi NXDOMAIN). - Håkan Lindqvist
Ini tidak benar-benar menjawab pertanyaan OP. Anda pada dasarnya mengatakan "Karena begitulah adanya". - dr01
@ dr01 Menimbang bahwa pertanyaan tersebut dengan jelas menunjukkan ketidaksadaran akan "apa adanya" ("Anda tidak boleh menunjuk data MX pada alamat IP secara langsung, tetapi sebaliknya harus mengarahkannya ke catatan A" padahal sebenarnya tidak mungkin untuk memiliki nilai lain selain nama), saya tidak berpikir itu keluar dari tempat untuk menunjukkan hal-hal dan mengapa itu membuat pilihan lain tidak mungkin. Saya merasa bahwa Anda banyak membaca pertanyaan yang sebenarnya tidak ada. - Håkan Lindqvist
@ dr01 Ya, jangan pikir pertanyaan itu berbunyi sebagai pertanyaan akademis tentang keputusan desain di masa awal DNS atau apa pun seperti itu tetapi hanya pertanyaan tentang bagaimana MX rekaman yang benar-benar ada di dunia dapat atau harus digunakan. - Håkan Lindqvist


Saya akan membuang ini sebagai tebakan. Tentu saja, saya pulang dengan flu jadi mungkin saya gila.

RFC 974 menyatakan:

Langkah pertama untuk mailer di LOCAL adalah mengeluarkan permintaan untuk MX RR      untuk REMOTE. Sangat disarankan agar langkah ini diambil setiap waktu      mailer mencoba mengirim pesan. Harapannya adalah perubahan itu      database domain dengan cepat akan digunakan oleh mailer, dan dengan demikian domain      administrator akan dapat merutekan ulang pesan dalam-transit untuk      host yang rusak dengan hanya mengubah database domain mereka.

Dengan meminta nama bukan IP, ini secara paksa mendorong praktik ini. Nama dapat tetap sama, dan dalam hal load balancing atau DR Anda tidak perlu khawatir tentang mengubah catatan MX itu sendiri dan menunggu propagasi DNS.


6
2018-01-28 17:40



Menjawab pertanyaan tumpukan pertukaran pada hari libur Anda saat Anda sakit flu ... Saya memberi tip kepada Anda, Pak yang baik! - Mike B
Terima kasih @MikeB ... - TheCleaner


Beberapa server email (seperti exim) secara khusus tidak mengizinkan pengiriman ke data MX yang mengarah ke alamat IP murni, jadi Anda diharuskan menggunakan FQDN untuk itu sebagai pengganti kepatuhan. Ini karena sebagian besar server mengharapkan data MX mengandung nama host, bukan IP (itu adalah catatan A).

Edit: Untuk menguraikan, dalam DNS setiap catatan memiliki persyaratan ketat untuk jenis data yang dapat dipegang setiap record. Dalam kasus catatan MX, ini adalah nama host hanya.


2
2018-01-28 17:29



Jadi mengapa exim tidak mengizinkan data MX menunjuk ke alamat IP di tempat pertama? Agak aneh bagiku! Saya mengerti saya seharusnya tidak karena konvensi, tapi saya tidak mengerti Mengapa ini dibuat liar. - dayuloli
Saya tidak melihat bagaimana MTA dapat mendukung ini sebagai MX catatan tidak mungkin memiliki alamat IP sebagai nilainya. - Håkan Lindqvist
@ HåkanLindqvist Jawaban Anda di atas menjelaskan hal ini untuk saya! Terima kasih! - dayuloli


Dalam catatan RFC 1025 MX hanya menunjuk ke RR (catatan sumber daya) dari A Record atau CNAME.

Jadi server email yang mengirim surat meminta RR dari catatan MX, record mx daftar A record server, server mail melakukan pencarian ke depan untuk mendapatkan catatan A dan kemudian meneruskan surat melalui smtp ke host layanan terdaftar sebagai server email 'bersedia' untuk menerima email untuk domain itu.

Pertanyaan Anda - Mengapa Surat Tidak Bisa Dikirim ke Alamat IP

Tanggapan - Karena Kepercayaan

Banyak aturan yang berlaku terkait surat telah berevolusi untuk menjaga kepercayaan antar domain bahwa pesan yang dikirim bolak-balik sebenarnya valid. Semua ini untuk mengurangi SPAM.

  • Reverse IP Lookup
  • Pencarian Nama Teruskan dalam hal ini

Semua komponen penting ini untuk fondasi untuk membangun server email memiliki setidaknya beberapa komponen kecil yang didirikan untuk menciptakan komunikasi yang dapat dipercaya dan mengurangi komunikasi yang tidak dapat dipercaya.

Referensi - RFC 1035 dan 974

https://www.ietf.org/rfc/rfc1035.txt35

https://www.ietf.org/rfc/rfc974.txt


2
2018-01-28 17:42





Tujuan dari MXcatatan adalah bahwa suatu aplikasi (transfer surat) dapat belajar tentang tuan rumah yang akan digunakan. Pada tingkat aplikasi, tuan rumah nama-nama adalah hal yang tepat untuk digunakan (bukan alamat IP).

Selain itu, menambahkan catatan tipe varian yang tidak biasa ke DNS akan memperkenalkan tuas komplikasi dan karenanya menjadi titik masuk untuk masalah, kecelakaan implementasi, tantangan keamanan. Sebagai contoh, 1.2.3.4.example.com. adalah nama host yang valid (ya, itu, bahkan dalam terang RFC1034, 3,5). Menentukan host ini sebagai MX dalam file konfigurasi bind untuk example.com mungkin terlihat seperti

.  MX 10  1.2.3.4

dan mungkin itu persis sama dengan catatan MX dengan IP akan terlihat seperti. Dan bahkan untuk mentransfer informatoin dalam datagram DNS membutuhkan beberapa additoins yang unik; cara termudah adalah dengan memperkenalkan baru tipe catatan sumber daya, MXA katakanlah, untuk disambiguasi. Tapi sekali lagi, mengapa memperkenalkan beban seperti tipe catatan baru saat itu

. MXA 10 5.6.7.8

selalu bisa diganti dengan

. MX 10 dummy
dummy A 5.6.7.8

(dan akan didukung oleh klien DNS yang tidak mengetahuinya MXA catatan)?


2
2018-01-31 21:49