Non-dot-wildcard (* -foo.example.com) untuk diikat?

10

Sepertinya tidak ada cara untuk mengatakan bindbahwa *-foo.example.comharus menyelesaikan misalnya. 10.1.2.3, sementara *-bar.example.commemutuskan untuk 10.2.3.4. Apakah ada solusi? Bisakah beberapa nama misalnya. atasi dengan program eksternal? Atau haruskah saya mengubah bindke misalnya. PowerDNS ?

Saya mencoba menghindari membeli sertifikat wildcard SSL lain. (Dengan sertifikat wildcard, seperti *.example.com, tidak mungkin untuk mengizinkan titik-titik di *bagian tersebut.)

Menentukan semua *-fooatau *-barnama dalam file zona bukan opsi, karena saya harus dapat membuat kedua jenis alamat dengan cepat.

tuomassalo
sumber
Apakah tidak ada cara untuk menambahkan domain ke zona on the fly juga? Saya belum pernah melihat wildcard parsial yang digunakan dengan bind. Saya tidak bisa mengatakan dengan pasti bahwa itu tidak mungkin.
David Houde
@ Davidvidou: Saya khawatir bahwa menambahkan dengan cepat bukanlah suatu pilihan, karena permintaan apa pun yang mendahului penambahan akan "mencemari" server nama dengan jawaban yang tidak valid. Itu menciptakan masalah yang sangat jarang tetapi agak sulit untuk diselesaikan. (Tentu saja waktu akan memperbaiki masalah.)
tuomassalo
1
Apakah ini $GENERATEmembantu Anda?
Celada
1
@ Davidvidou - Anda bisa menggunakan pembaruan dinamis, tetapi ketika poster asli menunjukkan Anda kemudian lari ke situasi di mana penyelesai caching mungkin telah menembolok tanggapan negatif sebelum catatan ditambahkan. Untuk mencoba dan mengurangi bahwa Anda dapat menurunkan caching negatif ke nilai yang sangat rendah tetapi tidak setiap resolver menghargai ttl dengan cermat dan beberapa menerapkan minimum praktis sehingga hasilnya bisa sangat bervariasi.
Michael McNally
@Celada: *bagian dapat berupa [a-z]string apa saja (dengan batasan panjang, tentu saja). Jadi, dalam kasus saya $GENERATEtidak membantu. Terima kasih atas tipnya - mungkin berguna bagi orang lain yang menemukan halaman ini.
tuomassalo

Jawaban:

11

Alasan mengapa itu tidak berhasil adalah karena itu tidak didefinisikan perilaku dalam RFC. Itu harus diimplementasikan sebagai perpanjangan dari perangkat lunak yang Anda gunakan. RFC4592 memantapkan definisi catatan wildcard dengan cukup tegas:

2.1.1. Wildcard Domain Name dan Asterisk Label

"Nama domain wildcard" didefinisikan dengan memiliki
label awal (yaitu, paling kiri atau paling tidak signifikan), dalam format biner:

  0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)

Perhatikan label istilah di sini. Label adalah entitas yang dipisahkan titik. Jika Anda memiliki sesuatu selain tanda bintang di label, itu bukan wildcard.

Anda agak macet di sini. Bekerja dalam DNS, Anda membutuhkan titik yang ingin Anda hindari. Yang lainnya adalah ekstensi untuk perangkat lunak server dan implementasi khusus.

Andrew B
sumber
Dijawab dengan baik.
Michael McNally
0

RFC 6125 mencegah memiliki sertifikat generik untuk subdomain bersarang. RFC 4592 dan RFC 1034 mencegah dari * -xxx.domain.com sebagai entri DNS.

Jadi, Anda hanya memiliki dua alternatif (yang tidak baik ketika mencoba mengotomatisasi):

  • Buat sertifikat per subdomain (ada alternatif gratis tetapi mungkin rumit tergantung pada platform Anda).
  • Buat entri DNS lengkap per sub-layanan (yang tidak akan menjadi sub-subdomain).
Sepuluh
sumber