Server Dns untuk domain tertentu

0

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 35353dan 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
Gigitsu
sumber
jika Anda bertanya apakah Anda dapat menggunakan satu server DNS untuk kueri berdasarkan nama xyz.com dan server lain berdasarkan nama abc.com, tidak tidak dalam OS apa pun yang pernah saya gunakan. Server DNS terikat ke sebuah antarmuka, pada level yang sama dengan alamat IP dan Default Gateway ditentukan, jadi untuk melakukan itu Anda memerlukan antarmuka tambahan.
Frank Thomas
2
Perhatikan bahwa Anda dapat menjalankan server DNS lokal, dan meneruskan respons NX untuk pencarian oleh server DNS lain, seperti yang Anda lakukan dengan DNSMasq.
Frank Thomas
ok jadi bagaimana saya bisa mengkonfigurasi arch untuk menggunakan host lokal saya untuk permintaan DNS sebagai yang pertama dan kemudian meneruskan permintaan jika tidak diakhiri dengan .dev?
Gigitsu
itu yang tidak bisa kamu lakukan. tidak ada selektivitas untuk itu.
Frank Thomas

Jawaban:

1

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.confdicoba 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.conffile. Karena itu hanya akan mengandung 127.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.1arahan dalam resolv.conf.head, Anda harus ditetapkan.

Xyon
sumber
1
Gagasan mengkonfigurasi server DNS pada 192.168.0.1 bagus, tetapi tidak cocok dalam kasus saya karena saya bergerak melalui beberapa jaringan. Pada akhirnya saya telah menggunakan dnsmasq untuk merespons pada setiap permintaan dns dan meneruskan semua permintaan .dev. Dengan cara ini saya telah mendapatkan cache dns juga. Masalahnya adalah properti port di /etc/resov.conf.headyang tidak standar dan hanya berfungsi di osx. Terima kasih banyak atas jawabannya!
Gigitsu
Ya - itu tidak mungkin untuk semua orang, karena tentu saja beberapa orang juga tidak memiliki akses untuk mengkonfigurasi server DNS mereka dalam pekerjaan, atau mungkin hanya sebuah router atau sesuatu yang tidak dapat dikonfigurasi dengan mudah. Saya sebutkan hanya karena itu mungkin untuk mencapai ini dengan cara itu, dan dalam beberapa kasus ini adalah solusi yang lebih mudah, terutama jika seperti dalam kasus kami Anda ingin membuat alias itu tersedia untuk banyak pengguna, atau pada platform yang berbeda (yang bekerja pada windows juga , misalnya). Apapun yang berhasil!
Xyon