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.conf
sekarang127.0.0.1
menjadi 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.conf
dan menambahkan192.168.1.1
sebagai server nama sekunder, tetapi yang menjadi perhatian di sini adalah bahwa192.168.1.1
akan 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
Jawaban:
Dengan DNS standar, Anda akan menjalankan server DNS yang otoritatif untuk domain lokal (
home.
ataulocal.
, 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.conf
file 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 sananameserver 127.0.0.1
.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 sepertihome.
sebaliknya, karena nama dalam bentukname.local
sudah ditangani oleh Avahi .(Meskipun Avahi biasanya hanya merespons
current-hostname.local
, sebenarnya mungkin untuk mempublikasikan entri tambahan sepertiwiki.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.)sumber
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 sajaapt-get
dengan manajer paket yang sesuai - mis.yum
Untuk 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
.local
ekstensi sebagai nama domain. Jadi, jika nama host mesin Andamediaserver
, maka Anda dapat mengaksesnya di jaringan dengan mengetikkanmediaserver.local
bilah URL dari mesin apa pun yang memiliki Bonjour / Avahi di atasnya (yaitu semua Mac, ditambah mesin Windows dengan iTunes diinstal).sumber
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.
sumber