Menyiapkan dnsmasq untuk jaringan lokal

18

Saya, dan sekelompok kecil pengembang baru saja pindah ke kantor baru, dan saya ingin mengatur dnsmasq di server pengembangan kami, jadi ketika kami menggunakan aplikasi web di sana, kami tidak perlu mengedit file host kami sendiri. Kami memiliki router di 192.168.3.1 yang tidak dapat kami akses. Saya pikir saya akan menginstal server DNS pada kotak pengembangan, dan kita semua mencatat IP sebagai server DNS sekunder. Sayangnya saya berjuang untuk membuat ini berfungsi.

Nama server devel adalah devbox, IP-nya adalah 192.168.3.99, dan menjalankan Server Ubuntu terbaru (Karmic)

Komputer saya menjalankan Ubuntu Desktop (Karmic)

Apa yang ingin saya capai

Katakanlah saya memiliki tiga situs web, situs web1, situs web2, situs web3, yang berjalan di kotak pengembangan. Saya ingin mengaksesnya melalui url:

http://website1.devbox
http://website2.devbox
http://website3.devbox

Jadi saya telah mengkonfigurasi Apache pada kotak devel, menginstal dnsmasq, dan meletakkan baris berikut ke dalam file hosts itu:

192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox

dan mengedit file resolv.conf saya sendiri untuk memasukkan kotak devel sebagai server nama:

nameserver 192.168.3.99 

Ini berfungsi dengan baik, saya dapat mengakses situs. Masalahnya adalah itu tidak skala dengan baik. Saya ingin semua domain diakhiri dengan .devbox diteruskan ke kotak pengembangan, dan inilah yang saya perjuangkan.

Saya sudah mencoba menempatkan

192.168.3.99 devbox

ke dalam file hosts, dan mengedit baris di dnsmasq.conf:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/

Tapi saya tidak bisa membuatnya bekerja. Jika saya mencoba url yang tidak ada secara eksplisit dalam file host kotak pengembangan, pencarian dns gagal.

Apakah arahan lokal untuk sesuatu yang lain? Apakah saya melihat tempat yang salah?

K. Norbert
sumber

Jawaban:

14

Lihat dokumentasi DNSmasq , terutama halaman manual dnsmasq dan file konfigurasi sampel . Kata kunci lokal memberitahu DNSmasq untuk melakukan pencarian domain tersebut dengan data lokal. Ini mempengaruhi permintaan kirim ke DNSmasq untuk foo.localnet dan bar.localnet , misalnya. Saya tidak berpikir ini yang Anda inginkan.

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

Untuk memaksa pencarian host / subdomain menyelesaikan ke alamat tertentu, Anda mungkin ingin menggunakan kata kunci alamat . Contoh kedua di bawah ini harus memungkinkan web1.devbox dan web2.devbox dan web73872.devbox untuk semua menyelesaikan ke alamat yang ditentukan.

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1

# for your example
address=/devbox/192.168.3.99

Saya menggunakan DNSmasq di rumah untuk menangani hal-hal DNS sederhana untuk LAN saya; dalam hal itu, kata kunci lokal dan domain terkait serta host-host sesuai. Server DNSmasq adalah server nama utama saya, jadi semua permintaan melewatinya; setiap alamat nonlokal dikembalikan ke server nama ISP. Anda mungkin mempertimbangkan konfigurasi itu jika memungkinkan.

quack quixote
sumber
jawaban pada pertanyaan lain menunjukkan bahwa address=/.devbox/192.168.3.99mungkin sintaksis yang lebih cocok untuk tujuan Anda.
quack quixote
Astaga, saya seharusnya baru saja membaca bagian-bagian yang saya tempelkan dari konfigurasi, jelas bahwa itu bukan yang saya butuhkan. Arahan alamat menyelesaikan masalah, terima kasih!
K. Norbert
Saya menggunakan cara di atas dengan twist: server web / dns / dhcp memiliki antarmuka nirkabel dalam mode Adhoc. Meskipun saat mengambil paket saya bisa melihat permintaan dan respons mDNS, saya tidak bisa mengakses server dengan nama. Seolah isi respons tidak pernah didaftarkan. Ada ide?
George