Bagaimana cara mengarahkan domain ke domain lain secara lokal?

20

File / etc / hosts saya terlihat seperti ini:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

Dua pekerjaan pertama. Yang terakhir tidak. Kenapa tidak? Bagaimana saya membuatnya bekerja? Alasan saya melakukan ini, adalah karena saya memiliki server uji (othersite.com), yang ada di jaringan lokal, tapi itu bisa bervariasi. misalnya 10.20.7.98 satu hari, 10.20.7.35 lainnya, dll.

Jadi, bagaimana cara saya membuat sistem saya selalu menyelesaikan testsitebeta.dev ke ip yang sama dengan othersite.dev?

Benubird
sumber

Jawaban:

9

Seperti yang sudah ditulis Chris, masalahnya adalah "othersite.dev" bukan angka. Format yang Anda butuhkan adalah IP hostname1 [hostname2] [hostname3].

Masalah yang lebih dalam adalah kesalahpahaman tentang file host dan mungkin tentang DNS secara umum. Pada dasarnya file host tidak dirancang untuk pengalihan. Itu adalah solusi sederhana kembali dari saat siklus CPU mana mahal. Itu tidak memiliki fitur seperti kemampuan untuk menyesuaikan dengan cepat mengubah alamat IP tanpa secara manual perlu mengedit file. Masalah-masalah ini diselesaikan dengan beralih dari file host ke sistem resolver berbasis jaringan.

Oleh karena itu, jawaban nyata untuk masalah Anda adalah tidak menggunakan /etc/hosts, tetapi untuk digunakan sistem penamaan terdistribusi hierarkis ini sebagai gantinya. Anda dapat melakukannya dengan beberapa cara. Salah satu caranya adalah CNAME seperti yang disarankan oleh Chris. Cara lain adalah memberi server kedua alamat IP tetap. Baik alamat statis nyata, atau membuat reservasi di server DHCP.

Hennes
sumber
Bukan jenis jawaban yang saya cari. Ini untuk pengembangan; Saya tidak ingin memodifikasi mesin lain, karena nama domain (tesitebeta.dev) tidak perlu diakses dari mana pun kecuali lokal saya. Saya hanya ingin cara memberitahu komputer saya "perlakukan nama X seperti itu Y".
Benubird
Dalam hal ini Anda ingin menginstal server DNS lokal dan menggunakannya sebagai penyelesai.
Hennes
2
Server DNS lokal sepertinya menjadi solusinya. Untuk pengunjung masa depan, saya menemukan ini bermanfaat: superuser.com/q/45789/75287
Benubird
@ Benubird: Saya juga mencari solusi yang sama. Tetapi tidak bisa mendapatkannya. Bisakah Anda jelaskan sedikit lebih jauh bagaimana pengaturan Anda?
Jay Chakra
2

Format / etc / hosts adalah "IP" "Hostname" - like 127.0.0.1 localhost

Anda membutuhkan CNAME di server DNS lokal Anda untuk mencapai apa yang Anda butuhkan. Anda bisa mendapatkan IP dari "othersite.dev" dan menautkannya ke "testitbeta.dev" seperti yang Anda lakukan dengan "testitalpha.dev" tetapi ketika IP berubah Anda harus mengubah /etc/hosts file juga.

Chris
sumber
1

Jika othersite.com memiliki IP dinamis, tetapi selalu dapat diakses dengan nama Anda harus bergantung pada DNS terdaftarnya dengan selalu merujuknya dengan nama.

Solusi Anda adalah membuat testitebeta.dev URL pengalihan untuk othersite

ServerName testsitebeta.dev     Redirect / http://othersite.com

Dengan cara ini othersite.com selalu bekerja (tidak merusaknya dengan entri host yang buruk) dan tesitebeta.dev selalu dialihkan ke othersite.com dengan menyelesaikan nama ke IP yang tepat.

user557515
sumber