Apakah ada cara untuk mendefinisikan server dns untuk domain tertentu? Saya sedang menyiapkan mesin pengembangan dengan tumpukan amp dan saya ingin mengarahkan semua url dengan domain tertentu (mis. Project.dev) ke 127.0.0.1. Saya telah melakukan ini di OSX dengan dnsmasq yang dikonfigurasi dengan cara ini:
# /etc/dnsmasq.conf
address=/.dev/127.0.0.1
listen-address=127.0.0.1
port=35353
dan menambahkan file dev di / etc / resolver dengan konten ini
# /etc/resolver/dev
nameserver 127.0.0.1
port 35353
tapi ini di arclinux dengan dhcpd tidak berfungsi.
Saya telah menguji dnsmasq dengan dig [email protected] -p 35353
dan berfungsi (alamat yang dikembalikan adalah 127.0.0.1) sehingga masalahnya adalah resolver.
Saya juga sudah mencoba memasukkan /etc/resov.conf.head ini:
# /etc/resolv.conf.head
nameserver 127.0.0.1
port 35353
dan konfigurasikan dnsmasq dengan port default 53 tanpa hasil.
Ini adalah /etc/resolv.conf saya
# /etc/resolv.conf
nameserver 127.0.0.1
nameserver 192.168.0.1
linux
networking
dns
arch-linux
Gigitsu
sumber
sumber
Jawaban:
Anda memiliki dua opsi di sini; Anda harus mengkonfigurasi server DNS di 192.168.0.1 untuk menyelesaikan ".dev" ke 127.0.0.1, atau menjalankan dnsmasq dan merutekan semua permintaan Anda melalui itu, seperti yang Anda lakukan dengan OSX sebelumnya.
Beberapa server nama
resolv.conf
dicoba secara berurutan - yaitu, jika yang teratas tidak dapat dijangkau, yang kedua akan digunakan. Mendapatkan respons NXDOMAIN atau SRVFAIL dari server teratas tidak dihitung sebagai kegagalan untuk kasus ini .Saya memiliki konfigurasi yang sama diatur di sini, meskipun sekarang saya memiliki kontrol dari server DNS jarak jauh (menggunakan tidak terikat) saya bisa menggunakan ".local" untuk menyelesaikan ke 127.0.0.1. Sebelumnya saya melakukan ini dengan dnsmasq - satu-satunya hal yang benar-benar perlu Anda lakukan adalah memberi tahu dnsmasq tiga hal;
no-resolv : Jangan mencari server nama upstream dalam
resolv.conf
file. Karena itu hanya akan mengandung127.0.0.1
, itu akan memberi Anda sakit kepala rekursi.server = 192.168.0.1 atau di mana pun server DNS jarak jauh Anda - di mana harus mencari dnsmasq jika tidak dapat menemukan jawaban untuk pertanyaan Anda di konfigurasi lokalnya? Anda juga dapat menggunakan sesuatu seperti '8.8.8.8' di sini (layanan DNS publik Google).
address / .dev / 127.0.0.1 - Sesuaikan permintaan untuk "* .dev" hingga "127.0.0.1".
Dengan itu, dan
nameserver=127.0.0.1
arahan dalamresolv.conf.head
, Anda harus ditetapkan.sumber
/etc/resov.conf.head
yang tidak standar dan hanya berfungsi di osx. Terima kasih banyak atas jawabannya!