DD-WRT melayani server DNS tambahan, bukan hanya IP router

9

Saya memiliki router DD-WRT (menggunakan DD-WRT v24SP2-MULTI (03/21/11) std) yang diatur dengan DNSMasq untuk menyelesaikan domain tertentu ke alamat internal dan meneruskan semua yang lain melalui. Router itu sendiri dikonfigurasi untuk menggunakan server DNS publik Google untuk menyelesaikan alamat.

Layar pengaturan saya terlihat seperti ini:

Layar Pengaturan DDWRT

Masalah saya adalah bahwa ketika klien DHCP terhubung, mereka mendapatkan router plus dua server DNS Google sebagai server DNS yang ditugaskan:

Server DNS ditugaskan oleh DHCP

Ini adalah masalah karena kadang-kadang klien nirkabel mencoba untuk menyelesaikan domain yang seharusnya mengarah ke alamat IP internal dan akhirnya mendapatkan ip eksternal karena karena alasan apa pun permintaan mereka dikirim 8.8.8.8bukan ke router.

Saya tidak ingin router melayani apa pun selain IP-nya sendiri sebagai server DNS. Apakah itu mungkin?

0x6A75616E
sumber
1
Saya mungkin salah, tetapi karena itu adalah bagian konfigurasi server DHCP Anda secara eksplisit memberi tahu router Anda untuk menyediakan server google tersebut sebagai opsi dns untuk klien. Anda ingin menghapusnya dari daftar, dan kemudian mengkonfigurasi router untuk mendapatkan dns sendiri dari google, mungkin jawaban di bawah ini adalah cara yang tepat untuk melakukan ini.
horatio
Jika saya menghapusnya, router akan menyediakan server yang didapatnya dari ISP melalui DHCP ..
0x6A75616E
Anda mengatakan "untuk alasan apa pun" beberapa kali dalam posting dan komentar Anda. INI adalah alasan bahwa 8.8.8.8 diteruskan ke klien. Karena Anda menyuruhnya melakukannya. Jika Anda tidak ingin itu dilaporkan, Anda harus menghapusnya. Jika router Anda adalah server dns, maka coba HANYA alamat router Anda.
horatio
@horatio, tidak juga .. Maksud saya adalah mengapa server dhcp memberikan alamat DNS tambahan sama sekali. Jika dnsmasq pada perangkat dan menerapkan aturan resolusi nama tertentu, melayani server DNS tambahan (selain router itu sendiri) mengalahkan tujuan itu.
0x6A75616E
Bagian itu adalah daftar server DNS yang akan diberikan kepada klien yang meminta informasi DHCP.
horatio

Jawaban:

7

Ada baiknya Anda menggunakan DNSMasq.

Anda dapat mengonfigurasi apa yang Anda inginkan di tab Layanan (> Layanan) , di kotak DNSMasq> Opsi Opsi DNSMasq tambahan , tetapi pertama-tama, Anda harus menghapus bidang DNS Statis tersebut. Bidang DNS statis di "Pengaturan> Pengaturan Dasar"

Tambahkan berikut ini ke kotak opsi DNSMasq:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4
palswim
sumber
Ini sepertinya telah bekerja dengan baik untuk diriku sendiri. Pertanyaan yang sangat bodoh. Bagian mana dari baris pertama yang menentukan opsi DHCP 006? opsi: dns-server?
Residualfail
@Residualfail: Yap; Saya pikir Anda dapat menentukannya secara numerik juga, tetapi option:dns-serversesuai dengan opsi DHCP 006.
palswim
1
Sepertinya saya mungkin sudah bicara terlalu cepat. Sepertinya dns kembali ke dns Google setelah dns internal saya dimatikan. = (
Residualfail
4

Info diambil dari situs resmi DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Tampaknya Anda dapat mengatur server dns yang tersisa ke IP non-routable (dalam kasus saya 10.0.0.0& 10.0.0.1) dan itu akan memeras ISP server DNS Anda dengan non-routable ini. Sejauh ini bagi saya tampaknya berfungsi tanpa penundaan menunggu di server DNS yang tidak ada.

CarlserversC
sumber
Tidak akan ada penundaan, karena alamat yang tidak dapat dialihkan akan langsung dijatuhkan oleh tumpukan jaringan. Ini menciptakan sejumlah kecil overhead dan merupakan peretasan, tetapi seharusnya tidak ada masalah dunia nyata.
Seseorang
3

Saya tidak menggunakan DDWRT, jadi ini setengah pertanyaan / setengah jawaban.

DNSMasq manual seperti yang dikatakan server DHCP di bagian "Opsi DNSMasq tambahan":

Ada beberapa opsi tambahan di antarmuka web untuk DNSMasq yang dapat Anda atur dengan memasukkannya di Opsi DNSMasq tambahan pada tab "Layanan".

Jika Anda ingin melewati server DNS dari ISP Anda, Anda dapat menggunakan parameter berikut:

dhcp-option=6, x.x.x.x, y.y.y.y

di mana xxxx = DNS1 yyyy = DNS2

Ini sepertinya berarti bahwa melewati server ISP adalah opsional, jadi mencari dan menghapus baris di atas akan mematikannya.

harrymc
sumber
1
Saya akan mengatur dhcp-option = 6,192.168.10.10 untuk meneruskan alamat IP tersebut sebagai DNS server IP ke klien DHCP.
thane
1
Terima kasih untuk penunjuknya. Saya mencoba itu pada kedua uDHCPd (yang merupakan daemon DNS yang saya gunakan pada ddwrt) dan DNSMasq (beralih ke itu) tetapi tidak berhasil :(. Ia terus melayani catatan dns tambahan untuk alasan apa pun.
0x6A75616E
Dalam hal ini Anda mungkin harus memposting pertanyaan di forum DD-WRT .
harrymc
2

Jika Anda tidak ingin klien mencapai DNS eksternal, jangan masukkan alamat mereka di konfigurasi server DHCP Anda.

Saya kira Anda ingin menambahkan (akhirnya lebih cepat) server DNS Google dalam konfigurasi Klien DHCP eksternal (di mana DNSMASQ akan mengambil preferensi klien DNS-nya)

Tambahan:

Anda harus menambahkan ekstra (semua) server DNS ke konfigurasi tautan WAN. DNSMasq akan menggunakannya dan klien DHCP tidak akan memperoleh dari penyedia.

Zab
sumber
terima kasih atas kontribusi Anda, tetapi itu tidak masuk akal dalam konteks pertanyaan. DNSMasq bekerja dengan meneruskan permintaan dns dari klien ke server DNS nyata dengan kemampuan untuk memodifikasi beberapa tanggapan dengan cepat. Jika saya menghapus server dns dari konfigurasi, router hanya akan kembali ke server yang ditetapkan ISP. Anda menjawab pertanyaan saya dengan mengatakan "perbaiki konfigurasi Anda" tetapi pertanyaan itu sendiri adalah "bagaimana memperbaiki konfigurasi".
0x6A75616E
2

Opsi konfigurasi khas untuk DD-WRT adalah memungkinkan router untuk merutekan DNS di luar server DNS primer ISP; yang telah berhasil kamu lakukan; Namun, karena permintaan dihasilkan dari mesin CLIENT, yang menghubungkan TERLALU router, urutan preferensi selalu diberikan ke DNS yang dikonfigurasi pada mesin klien, dan kemudian ke router.

Apa yang Anda gambarkan terjadi adalah bahwa klien tersebut berasosiasi dengan router Anda, yang benar, tetapi DNS mereka menunjukkan IP router Anda + 2 pengaturan DNS lainnya. Silakan periksa komputer klien, dan pastikan bahwa pengaturan IPV4 mereka diatur untuk secara dinamis menarik konfigurasi server DNS dari koneksi, dan tidak secara manual mengonfigurasinya:

Mengkonfigurasi Klien

Kemudian, pastikan Anda memiliki pengaturan router DD-WRT Anda dengan benar:

Konfigurasikan Router

Dalam konfigurasi Anda di atas, Anda juga memiliki beberapa masalah; Anda telah menetapkan rentang alamat DHCP untuk memulai 200dan mengakhiri pada 255; Saya sarankan Anda mengubahnya mulai 200 dan diakhiri pada 254; meninggalkan 255 alamat, mengingat bahwa untuk konfigurasi normal *.*.*.255adalah alamat broadcast, dan bukan alamat IP normal yang digunakan untuk menetapkan ke klien terkait.

Saya menyoroti pengaturan DNS lokal karena Anda mengatur Anda untuk 127.0.0.1; yang berarti Anda menjalankan server DNS lokal di router . Jika ini bukan masalahnya, ubahlah ke 0.0.0.0, atau alamat yang tepat ke server DNS lokal di jaringan Anda.

Anda akan melihat bahwa ketika server & klien dikonfigurasi dengan cara ini, hanya alamat IP DNS router yang akan muncul; dan semua permintaan akan dialihkan melalui server DNS yang terkait dengan router.

Catatan pada server DNS lokal Jika Anda ingin router mengaitkan alamat lokal tertentu dengan IP lokal, Anda dapat menambahkannya ke opsi konfigurasi DNSMasq di layar DD-WRT yang tepat, atau menggunakan server DNS lokal, dan memasukkan alamat IP yang tepat untuk server itu (biasanya server statis, dalam lingkup jaringan). Dengan cara ini, urutan resolusi akan menjadi server lokal terlebih dahulu, kemudian 2 eksternal. Tapi, tetap saja klien akan melihat IP router sebagai server DNS.

zackrspv
sumber
terima kasih atas jawaban Anda !, saya telah memastikan semua klien di jaringan tidak memiliki server DNS yang dikodekan. Bahkan, dalam setiap kasus 192.168.10.10 (router itu sendiri) kembali sebagai server DNS pertama yang dipukul. Apa yang terjadi adalah bahwa beberapa komputer secara acak mengenai server DNS sekunder yang saat ini disediakan DHCP. Saya sudah mencoba jutaan hal dan sepertinya tidak ada cara untuk membuatnya hanya melayani dirinya sendiri. Saya mungkin akhirnya menjalankan beberapa contoh dnsmasq lainnya pada mesin yang berbeda dan menggunakannya sebagai dns2 dan dns3 .. peretasan seperti itu! lol. terima kasih lagi.
0x6A75616E
2

Saya mengalami masalah yang sama setelah router saya mati dan saya perlu menjalankan WRT160N yang menyala.

Saya memiliki kotak yang berfungsi sebagai server DNS lokal pada 192.168.2.30 di jaringan saya. Saya pada dasarnya ingin DHCP hanya memberikan alamat itu sebagai server DNS; Saya tidak ingin DNS pergi ke tempat lain.

Saya menggunakan "Firmware: DD-WRT v24-sp2 (12/19/10) mini"

Tampaknya tidak masalah apa kombinasi pengaturan DNSMasq, pengaturan DHCP, DNS lokal, atau apa pun yang saya gunakan. Jika DNS Server 2 dan DNS Server 3 kosong atau cocok dengan DNS Server 1, DD-WRT bersikeras membagikan server DNS Comcast untuk tempat-tempat itu. Saya tidak ingin ini karena saya memiliki 192.168.2.30 penerusan ke OpenDNS untuk pertanyaan yang bukan lokal.

Saya menulis ini sebagai bug dalam versi DD-WRT yang agak lama (sekarang) dan saya akan menginstal / mengkonfigurasi server DHCP saya sendiri pada 192.168.2.30 dan menonaktifkan DHCP pada router.

LawrenceC
sumber
1
itu sebenarnya bukan ide yang buruk ... Saya mungkin hanya mengatur dhcp di kotak lain dan berhenti bercinta dengan ddwrt.
0x6A75616E
1
Masalah ini masih ada di versi Feb 2016 saya, sepertinya merupakan fitur. Saya membuang router dan akan kembali ke PC Linux untuk ini. Orang-orang yang membangun perangkat lunak router harus benar-benar memiliki pemahaman yang lebih baik tentang masalah privasi yang datang dengan perilaku GUI yang tidak terduga, tidak umum, dan tidak bertanggung jawab ini. Jika saya harus meretas bersama-sama sendiri, benar-benar tidak ada gunanya menggunakan sistem yang relatif rumit dan terbatas. Dan ketika Anda sudah menjalankan DNS dan DHCP di komputer lain, apa yang tersisa untuk router? Paket mendorong?
Seseorang
1

Ditambahkan beberapa tahun terlambat karena saya menemukan ini mencari jawaban ... Saya menambahkan antarmuka virtual ke pi-hole saya untuk menangani 2 lebih banyak alamat ip.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Ini memungkinkan saya untuk mengisi semua 3 kotak dengan alamat lokal, dan membagikannya cukup sehingga meskipun router dd-wrt membagikan 5, 3 lokal dan 2 ISP upstream ISP, mesin saya tidak akan mengenai mereka.

dave
sumber
0

Menyambung dengan metode yang tidak terlalu meretas: Jika itu adalah LAN dan DNS Anda, saya yakin ada beberapa alamat cadangan untuk membuat DNS mendengarkan pada tiga IP.

Keuntungan dari memiliki alamat yang tidak dapat dirute harus tidak relevan dalam praktiknya, tetapi setidaknya Anda tidak bergantung pada sesuatu yang sedang rusak dan respons router terhadapnya. Anda tidak akan pernah yakin apakah itu tidak akan berubah suatu hari nanti.

Some one
sumber