DNS-server internal untuk mengganti pencarian tertentu

1

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.

Christian Wattengård
sumber
Di os mana Anda ingin mengatur server DNS?
Silvio Massina
Apakah Anda mengacu pada penyelesaian nama internal ( yaitu , menjadi alamat pribadi, LAN) atau nama publik yang terkait dengan alamat IP yang dapat dirutekan? Biasanya, dari dalam LAN, yang terbaik adalah menggunakan alamat pribadi (dan nama pribadi) untuk menghindari penjepit rambut ).
MariusMatutiae
Saya memiliki kotak linux, saya ingin menjalankan dns-server. Saya ingin menyelesaikan 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.
Christian Wattengård

Jawaban:

1

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:

    address=/.myhome.mydomain.com/YOUR.IP.ADD.RESS
    

    dalam file konfigurasi dnsmasq (biasanya /etc/dnsmasq.conf )

  • tambahkan host lain yang ingin Anda selesaikan oleh dnsmasq /etc/hosts dengan format:

    192.168.1.x name1.myhome.mydomain.com
    192.168.1.y name2.myhome.mydomain.com
    192.168.1.z name3.otherdomain.com 
    

Tetapkan alamat IP kotak Anda sebagai DNS untuk jaringan lokal Anda.

Silvio Massina
sumber
Jadi jika saya ingin * .myhome.mydomain.com untuk menuju ke 192.168.1.5, tetapi otherserver.myhome.mydomain.com untuk menuju ke 192.168.1.6, akankah ia membaca file host terlebih dahulu, kemudian dnsmasq?
Christian Wattengård
itu dnsmasq bahwa ketika menjawab permintaan Anda akan melihat isi / etc / hosts (pada mesin itu berjalan pada)
Silvio Massina
Ya .. Tetapi yang mana yang diutamakan ketika baris "address" hadir dengan wildcard di file dnsmasq.conf?
Christian Wattengård
Menurut halaman manual dnsmasq untuk alamat opsi: "Perhatikan bahwa / etc / hosts dan leasing DHCP menimpa ini untuk nama individual"
Silvio Massina
Perhatikan bahwa sementara secara internal Anda akan dapat menyelesaikan nama yang berbeda untuk IP internal yang berbeda, dari luar Anda hanya dapat mengandalkan wildcard yang menyelesaikan ke ip publik tunggal.
Silvio Massina