Windows mengarahkan lalu lintas ke nama DNS yang berbeda bukan alamat IP tetap (setara file host)

5

Menggunakan file host Windows, seseorang dapat mengarahkan lalu lintas untuk domain ke alamat IP tertentu, misalnya

domainA.com -> 127.0.0.1

Saya mencari cara SEDERHANA untuk melakukan hal yang sama, tetapi untuk nama domain target bukan untuk alamat IP target (karena ini dinamis), Yaitu

domainA.com -> domainB.com


Tambahan: Setelah mendapatkan beberapa jawaban awal saya pikir saya perlu mengkonkretkan pertanyaan saya.

Situasi: Saya memiliki aplikasi yang mencari IP dari domain target melalui DNS dan kemudian menghubungkan melalui HTTP ke alamat IP. Saya tidak memiliki kendali atas pengaturan proxy.

Opsi 1 Pada dasarnya saya mencari cara untuk:

  • mencegat permintaan DNS untuk domainA.com
  • meluncurkan permintaan DNS untuk domainB.com
  • melayani IP domainB.com sebagai tanggapan atas permintaan domainA.com

Tanpa menjalankan seluruh server DNS.

Opsi 2 Jika server DNS adalah satu-satunya cara, dalam alternatif saya juga akan senang dengan solusi untuk bagaimana mendefinisikan server DNS-non-standar untuk satu aplikasi. Ada ide untuk aplikasi pembungkus, dll?

ARF
sumber

Jawaban:

1

Solusi ketiga

di samping menyiapkan server dns dan menyuntikkan hook ke gethostbyname:

Daftarkan skrip sebagai layanan yang secara berkala menyelesaikan domainB.com dan memodifikasi entri domainA.com di file / etc / hosts. Karena sebagian besar entri dns tidak terlalu sering berubah, cukup untuk menjalankan skrip pada saat startup atau sekali sehari.

Saya menggunakan skrip semacam itu untuk memperbarui daftar-domain pada komputer rumah saya.

phobie
sumber
5

Sunting - Setelah membaca kembali pertanyaan Anda, saya tidak berpikir ini akan mungkin tanpa menunjuk server DNS lokal karena file host hanya mendukung FQDN -> IP. Namun, saya pikir taruhan terbaik Anda adalah Entah semacam server proxy pengalihan lokal, atau addon yang dapat menulis ulang header host.

Namun, saya menulis panduan yang mungkin menarik bagi Anda, yang diharapkan akan menjelaskan hal-hal yang sedikit lebih baik bagi Anda ...:

Ini tidak mudah untuk dijelaskan, jadi jika Anda memiliki pertanyaan lanjutan, silakan tulis komentar dan saya akan dengan senang hati membantu:

Ini tidak mungkin TETAPI menempatkan hasil IP dalam hasil akhir yang sama persis.

Ingat, pada akhirnya, semua yang terjadi ketika Anda menargetkan FQDN (Nama Domain yang Memenuhi Kualifikasi) adalah menerjemahkan alamat itu ke alamat IP.

Jika Anda ingin meneruskan siapa pun yang mengunjungi domainA.comuntuk domainB.com, Anda hanya menempatkan domainB.com's ip sebagai domainA.com' s entri di file host.

Ini menghasilkan penargetan / kunjungan APA SAJA domainA.comalih-alih dialihkan ke domainB.com.

NAMUN Saya kira Anda ingin mengarahkan ulang sebuah situs web. Situs web jauh lebih rumit dari ini, bagian dari protokol mengirimkan sesuatu yang dikenal sebagai Host Header. Di sinilah browser web menghubungi server web DAN memberi tahu alamatnya yang sedang berusaha diakses.

Misalnya, mengunjungi Google.com menunjukkan yang berikut:

masukkan deskripsi gambar di sini

(Perhatikan Host:garisnya).

Anda juga dapat mengunjungi Google.com melalui alamat IP-nya - http://74.125.230.115 - Ini karena mereka memiliki pengaturan entri default yang melayani semua permintaan TIDAK cocok dengan header host.

Jadi, ketika Anda mengunjungi domainA.com, ada kemungkinan bahwa domainB.comhanya menyajikan domainB.comkonten kepada seseorang dengan header host yang disetel ke domainB.com.

Yang perlu Anda lakukan adalah menggunakan server proxy, Firewall (DPI), atau semacam addon yang sebenarnya menulis ulang Host Header / redirect. Atau, jika Anda mengontrol server web domainB.com, Anda hanya perlu menambahkan domainA.comalamat yang akan didengarkan - lalu header host apa pun domainA.com- akan merespons dengan domainB.comkonten.

Menambahkan header host tambahan di IIS:

masukkan deskripsi gambar di sini

William Hilsum
sumber
Saya percaya Anda mungkin benar bahwa server DNS tidak dapat dihindari. - Meskipun aku berharap tidak. Lihat tambahan untuk pertanyaan saya.
ARF
1

Anda dapat mengatur tindakan pengalihan tersebut dengan Privoxy .

Tamara Wijsman
sumber
apakah ini masih mungkin jika saya tidak memiliki akses ke pengaturan proxy aplikasi?
ARF
@ArikRaffaelFunke: Ah, pertanyaan Anda telah diperbarui, Anda harus menjalankan server DNS Anda sendiri untuk melakukan apa yang Anda inginkan.
Tamara Wijsman