Bagaimana saya bisa mengatur domain 'lokal' sehingga semua orang di jaringan lokal saya dapat melihat situs yang dihosting secara lokal?

16

Saya ingin mengatur MediaWiki di salah satu mesin rumah saya, dan kemudian memiliki semua permintaan yang dibuat di jaringan lokal untuk titik 'wiki.home' atau 'wiki.local' ke kotak itu. Saya tahu ini bisa dilakukan dengan mengedit setiap file / etc / hosts secara terpisah, tetapi saya ingin sesuatu yang lebih otomatis sehingga, misalnya, jika teman atau anggota keluarga datang ke rumah saya, mereka tidak perlu dipusingkan dengan file host untuk melihat situs.

Apakah ada cara sederhana untuk melakukan hal ini? Saya menjalankan wiki dan menjalankannya, dan saya telah mencari dnsmasq, tetapi saya tidak tahu cara mengatur DNS dengan benar. Karena saya menginginkan solusi otomatis, saya merasa saya perlu mengubah pengaturan DNS pada router saya, tetapi jika saya mengubah pengaturan DNS di sana, bagaimana saya masih bisa menyelesaikan host eksternal?

Detail Konfigurasi

  • Router: Netgear WNR2000v2. Router memberi saya opsi untuk secara manual menentukan server DNS, yang saya anggap saya harus menunjuk ke kotak Ubuntu saya jika saya ingin mendapatkan ini dan berjalan.

  • MediaWiki dan host dnsmasq: Menjalankan Ubuntu 12.04. Saya mengalami beberapa kesulitan dengan konfigurasi dnsmasq (sebagian besar karena pengalaman saya yang kurang). Sebagai contoh, saya tidak yakin, tetapi saya pikir selama instalasi, Ubuntu memodifikasi pengaturan DNS saya sehingga /etc/resolv.confsekarang 127.0.0.1menjadi satu-satunya server DNS. Pada saat itu, saya dapat menyelesaikan host lokal, tetapi tidak ada yang lain. Saya telah memecahkan ini sementara dengan memodifikasi /etc/resolv.confdan menambahkan 192.168.1.1sebagai server nama sekunder, tetapi yang menjadi perhatian di sini adalah bahwa 192.168.1.1akan menggunakan kotak Ubuntu untuk DNS. Apakah saya melewatkan sesuatu yang jelas di sini?

  • pengaturan dnsmasq: hapus komentar pada baris berikut:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Dan
sumber
Pertimbangkan memposting detail konfigurasi Anda. Juga, apa yang sudah Anda coba? Pengaturan apa yang Anda ubah pada router Anda? Jenis router apa yang Anda miliki? Saya anggap Anda menggunakan linux, tapi apa distro? Ada begitu banyak hal yang bisa salah sehingga kita dapat menulis buku tentang subjek;)
jmort253
dnsmasq akan berfungsi, tetapi alternatif lain termasuk mDNS dan NIS .
Lèse majesté
Bisakah Anda mengubah nama mesin Anda di wifi?
ytpillai

Jawaban:

8

Dengan DNS standar, Anda akan menjalankan server DNS yang otoritatif untuk domain lokal ( home.atau local., meskipun lebih baik untuk menghindari yang terakhir - lihat catatan di bawah), tetapi juga bertindak sebagai penyelesai untuk semua domain lainnya.

dnsmasq dapat digunakan untuk tujuan ini - ia memiliki mode rekursif diaktifkan secara default dan konfigurasi Anda terlihat baik-baik saja; yang diperlukan hanyalah memberi tahu server nama mana yang akan digunakan untuk domain non-lokal. Biasanya itu akan dibaca dari /etc/resolv.conffile sistem ; namun, karena Anda ingin domain lokal juga berfungsi di komputer server DNS, Anda perlu membuat salinan khusus resolv.conf yang hanya akan digunakan oleh dnsmasq , sedangkan resolv.conf asli akan menunjuk ke sana nameserver 127.0.0.1.

# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf

Catatan: Instruksi ini sangat mendasar, dan harus disesuaikan dengan distro Linux yang digunakan. Secara khusus, periksa panduan Debian dan Ubuntu di dnsmasq.

Setelah ini, router perlu dikonfigurasi untuk menggunakan komputer ini sebagai server DNS; semua permintaan DNS oleh komputer di jaringan Anda akan ditangani oleh dnsmasq .

(Server DNS berfitur lengkap, seperti bind9 , dapat melakukan kueri rekursif sendiri - mengonfigurasi server nama upstream menjadi sepenuhnya opsional. Misalnya, bagaimana server nama ISP Anda bekerja, misalnya. Namun, meng-hosting domain Anda sendiri dengan bind9 pada awalnya cukup rumit, di perbandingan dengan dnsmasq sederhana .)


Catatan: Jika Anda memiliki Avahi (alias Bonjour) yang dikonfigurasikan di komputer mana saja di jaringan (yang Ubuntu miliki, secara default), yang terbaik adalah Anda menghindari local.di DNS dan memilih sesuatu seperti home.sebaliknya, karena nama dalam bentuk name.localsudah ditangani oleh Avahi .

(Meskipun Avahi biasanya hanya merespons current-hostname.local, sebenarnya mungkin untuk mempublikasikan entri tambahan seperti wiki.local; mereka akan, namun, perlu alamat IP tambahan yang akan ditambahkan karena cara kerja mDNS. Karena itu, menggunakan Avahi alih-alih DNS terpusat tidak menawarkan lebih banyak keuntungan, jadi saya tidak menyarankannya.)

pengguna1686
sumber
2

Saya menemukan daemon Avahi sebagai cara termudah untuk melakukan ini. Catatan: jika Anda menggunakan mesin Windows untuk terhubung ke domain lokal., Anda perlu memastikan bahwa mesin-mesin itu memiliki iTunes atau klien Bonjour lain yang diinstal pada mereka.

Lihatlah tautan ini untuk info lebih lanjut: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Meskipun tautan itu khusus untuk Raspberry Pi, itu harus bekerja pada mesin Ubuntu dengan cara yang sama. Untuk distro Linux lain yang tidak digunakan apt-get, sesuaikan saja apt-getdengan manajer paket yang sesuai - mis. yumUntuk Fedora dan CentOS)

Berikut adalah perintah persis yang saya jalankan untuk menjalankan ini di server media Raspberry Pi saya:

sudo apt-get update && sudo apt-get upgrade sudo apt-get install avahi-daemon

Dari sana secara otomatis mulai menggunakan nama host komputer Anda plus .localekstensi sebagai nama domain. Jadi, jika nama host mesin Anda mediaserver, maka Anda dapat mengaksesnya di jaringan dengan mengetikkan mediaserver.localbilah URL dari mesin apa pun yang memiliki Bonjour / Avahi di atasnya (yaitu semua Mac, ditambah mesin Windows dengan iTunes diinstal).

camercu
sumber
0

Resolusi nama lokal adalah fitur sederhana dan sudah menjadi bagian dari sebagian besar router yang saya gunakan. Ini juga diimplementasikan dalam firmware DD-WRT. Netgear tidak peduli dengan fitur ini yang selalu diminta .

Jadi, jawaban yang jauh lebih sederhana daripada yang lain yang diposting di sini - hindari masalah dan ubah router Netgerat Anda menjadi sesuatu yang mendukung resolusi nama lokal. Atau, jika itu bukan pilihan, dan Anda merasakan kekuatan dan punya waktu, flash DD-WRT di atasnya.

Oleg Mikheev
sumber