Saya memiliki beberapa server berbeda di rumah. Beberapa terbuka ke luar, dan saya telah menyiapkan domain untuk barang-barang rumah saya. Katakanlah ini myhome.mydomain.com
. Saya juga telah menyiapkan DNS wildcard *.myhome.mydomain.com
yang menunjuk ke server yang sama (keduanya merupakan catatan CNAME ke router saya yang dibangun di fungsi DDNS).
Ini bekerja dengan sempurna dari luar. Tapi dari dalam, ada yang rusak. Saya kira itu ada hubungannya dengan perutean dari dalam ke luar ke dalam ... Jadi seperti yang saya lihat, pilihan saya adalah mencari tahu mengapa perutean itu rusak, atau mengatur server DNS internal untuk menunjuk myhome.mydomain.com
ke IP internal saya untuk server ini, dan meneruskan sisanya ke DNS ISP atau Google atau OpenDNS atau yang lainnya.
Bagaimana cara mengatur server DNS internal ini? Saya juga ingin itu menanggapi wildcard karena rencana saya adalah memiliki proxy nginx di depan semua layanan yang ingin saya paparkan ke luar pada akhirnya.
myhome.domain.com
ke alamat LAN (192.168.1.5
) ketika di dalam, tetapi untuk ip publik rumah saya (80.2.3.4
) ketika di luar.Jawaban:
Bagian luar sudah ok. Langkah-langkah berikut adalah mengaktifkan server DNS internal.
Atur dnsmasq pada kotak linux lokal.
Atur untuk mendengarkan pada antarmuka yang terhubung ke LAN Anda.
Setel beberapa DNS eksternal
/etc/resolv.conf
(atau konfigurasikan file resolv khusus dan tambahkan server DNS di sana). Server DNS ini akan digunakan untuk menyelesaikan apa pun yang tidak dapat diselesaikan oleh dnsmasq menggunakan file konfignya atau konten / etc / hosts.Kemudian:
jika Anda ingin * .myhome.mydomain.com diselesaikan menjadi ip internal tunggal tambahkan:
dalam file konfigurasi dnsmasq (biasanya
/etc/dnsmasq.conf
)tambahkan host lain yang ingin Anda selesaikan oleh dnsmasq
/etc/hosts
dengan format:Tetapkan alamat IP kotak Anda sebagai DNS untuk jaringan lokal Anda.
sumber