DD-WRT phục vụ các máy chủ DNS bổ sung thay vì chỉ IP của bộ định tuyến


9

Tôi có bộ định tuyến DD-WRT (sử dụng DD-WRT v24SP2-MULTI (03/21/11) std) được thiết lập với DNSMasq để giải quyết một số tên miền nhất định đến địa chỉ nội bộ và chuyển mọi thứ khác qua. Bản thân bộ định tuyến được định cấu hình để sử dụng các máy chủ DNS công cộng của Google để phân giải địa chỉ.

Màn hình thiết lập của tôi trông như thế này:

Màn hình thiết lập DDWRT

Vấn đề của tôi là khi máy khách DHCP kết nối, họ nhận được bộ định tuyến cộng với hai máy chủ DNS của Google làm máy chủ DNS được chỉ định:

Máy chủ DNS được gán bởi DHCP

Đây là một vấn đề bởi vì đôi khi các máy khách không dây cố gắng giải quyết một miền được cho là trỏ đến một địa chỉ IP nội bộ và cuối cùng thay vào đó là một ip bên ngoài vì lý do nào đó yêu cầu của chúng được gửi đến 8.8.8.8thay vì bộ định tuyến.

Tôi không muốn bộ định tuyến phục vụ bất cứ thứ gì ngoại trừ IP của chính nó làm máy chủ DNS. Điều đó có thể không?


1
Tôi có thể nhầm, nhưng vì đó là phần cấu hình máy chủ DHCP nên bạn nói rõ ràng với bộ định tuyến của mình để cung cấp các máy chủ google đó dưới dạng tùy chọn dns cho máy khách. Bạn muốn xóa chúng khỏi danh sách, sau đó định cấu hình bộ định tuyến để nhận dns riêng từ google, có lẽ câu trả lời dưới đây là cách thích hợp để làm điều này.
horatio

Nếu tôi loại bỏ chúng, bộ định tuyến sẽ cung cấp các máy chủ mà nó nhận được từ ISP thông qua DHCP ..
0x6A75616E

Bạn nói "vì bất cứ lý do gì" lần thứ bảy trong bài đăng và bình luận của bạn. ĐÂY là lý do mà 8.8.8.8 được truyền cho khách hàng. Bởi vì bạn đã nói với nó. Nếu bạn không muốn báo cáo đó, bạn cần xóa nó. Nếu bộ định tuyến của bạn là máy chủ dns, thì hãy thử CHỈ địa chỉ bộ định tuyến của bạn.
horatio

@horatio, không thực sự .. Quan điểm của tôi là tại sao máy chủ dhcp đưa ra bất kỳ địa chỉ DNS bổ sung nào cả. Nếu dnsmasq trên thiết bị và áp dụng các quy tắc phân giải tên nhất định, việc phục vụ các máy chủ DNS bổ sung (bên cạnh chính bộ định tuyến) sẽ đánh bại mục đích đó.
0x6A75616E

Phần đó là danh sách các máy chủ DNS sẽ được cung cấp cho các máy khách yêu cầu thông tin DHCP.
horatio

Câu trả lời:


7

Thật tốt khi bạn đang sử dụng DNSMasq.

Bạn có thể định cấu hình những gì bạn muốn trong tab Dịch vụ (> Dịch vụ) , trong hộp DNSMasq> Tùy chọn DNSMasq bổ sung , nhưng trước tiên, bạn sẽ muốn xóa các trường DNS tĩnh đó. Các trường DNS tĩnh trong "Cài đặt> Cài đặt cơ bản"

Thêm phần sau vào hộp tùy chọn 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

Điều này dường như đã làm việc hoàn hảo cho bản thân tôi. Câu hỏi rất ngớ ngẩn mặc dù. Phần nào của dòng đầu tiên chỉ định tùy chọn DHCP 006? tùy chọn: dns-server?
Residualfail

@Residualfail: Đúng; Tôi nghĩ bạn cũng có thể chỉ định nó bằng số, nhưng option:dns-servertương ứng với tùy chọn DHCP 006.
palswim

1
Có vẻ như tôi đã nói quá sớm. Có vẻ như dns đang quay trở lại dns của Google sau khi dns nội bộ của tôi bị tắt. = (
Residualfail

4

Thông tin được lấy từ trang web DD-WRT chính thức: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Dường như bạn có thể đặt các máy chủ dns còn lại thành các IP không thể định tuyến (trong trường hợp của tôi 10.0.0.0& 10.0.0.1) và nó sẽ loại bỏ các máy chủ DNS ISP của bạn với các không thể định tuyến này. Đối với tôi, nó dường như đang hoạt động mà không có bất kỳ sự chậm trễ nào chờ đợi trên các máy chủ DNS không tồn tại.


Sẽ không có độ trễ, vì các địa chỉ không thể định tuyến sẽ bị loại bỏ bởi ngăn xếp mạng ngay lập tức. Nó tạo ra một lượng nhỏ chi phí hoạt động và là một hack, nhưng không nên có vấn đề trong thế giới thực.
Ai đó

3

Tôi không sử dụng DDWRT, vì vậy đây là nửa câu hỏi / nửa câu trả lời.

Hướng dẫn dnsmasq như DHCP server nói trong phần "Tùy chọn thêm dnsmasq":

Có một số tùy chọn bổ sung trong giao diện web cho DNSMasq mà bạn có thể đặt bằng cách nhập chúng vào Tùy chọn DNSMasq bổ sung trên tab "Dịch vụ".

Nếu bạn muốn chuyển qua các máy chủ DNS từ ISP của mình, bạn có thể sử dụng các tham số sau:

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

trong đó xxxx = DNS1 yyyy = DNS2

Điều này dường như có nghĩa là việc vượt qua các máy chủ ISP là tùy chọn, do đó, việc định vị và xóa dòng trên sẽ tắt nó đi.


1
Tôi sẽ đặt dhcp-option = 6.192.168.10.10 để chuyển địa chỉ IP đó làm IP máy chủ DNS cho các máy khách DHCP.
Địa chủ

1
Cảm ơn con trỏ. Tôi đã thử điều đó trên cả uDHCPd (là trình nền DNS tôi đang sử dụng trên ddwrt) và DNSMasq (đã chuyển sang nó) nhưng không có kết quả :(. Nó tiếp tục phục vụ các bản ghi dns bổ sung vì bất kỳ lý do gì.
0x6A75616E

Trong trường hợp đó, bạn có thể nên đăng câu hỏi lên các diễn đàn DD-WRT .
harrymc

2

Nếu bạn không muốn khách hàng truy cập DNS bên ngoài, đừng đặt địa chỉ của họ trong cấu hình máy chủ DHCP của bạn.

Tôi cho rằng bạn muốn thêm (cuối cùng nhanh hơn) các máy chủ DNS của google trong cấu hình Máy khách DHCP bên ngoài (nơi DNSMASQ sẽ lấy tùy chọn máy khách DNS của nó)

Thêm:

Bạn phải thêm (tất cả) máy chủ DNS vào cấu hình liên kết WAN. DNSMasq sẽ sử dụng chúng và không bao giờ ứng dụng khách DHCP sẽ nhận được từ nhà cung cấp.


cảm ơn sự đóng góp của bạn, nhưng điều đó không có ý nghĩa nhiều trong bối cảnh của câu hỏi. DNSMasq hoạt động bằng cách chuyển tiếp các yêu cầu dns từ máy khách đến máy chủ DNS thực với khả năng sửa đổi một số phản hồi nhanh chóng. Nếu tôi loại bỏ các máy chủ dns khỏi cấu hình, bộ định tuyến sẽ hoàn nguyên về các máy chủ được gán bởi ISP. Bạn đang trả lời câu hỏi của tôi bằng cách nói "sửa cấu hình của bạn" nhưng bản thân câu hỏi là "cách sửa cấu hình".
0x6A75616E

2

Tùy chọn cấu hình điển hình cho DD-WRT là cho phép bộ định tuyến định tuyến DNS bên ngoài các máy chủ DNS chính của ISP; mà bạn đã thành công; tuy nhiên, vì các yêu cầu được tạo từ máy CLIENT, kết nối QUA bộ định tuyến, nên thứ tự ưu tiên luôn được cung cấp cho DNS được định cấu hình trên máy của khách hàng, sau đó đến bộ định tuyến.

Những gì bạn đang mô tả đang xảy ra là ứng dụng khách đang liên kết với bộ định tuyến của bạn, điều này đúng, nhưng DNS của họ hiển thị IP của bộ định tuyến của bạn + 2 cài đặt DNS khác. Vui lòng kiểm tra máy tính khách và đảm bảo rằng cài đặt IPV4 của chúng được đặt để tự động kéo cấu hình máy chủ DNS khỏi kết nối và không cấu hình thủ công:

Cấu hình máy khách

Sau đó, đảm bảo bạn đã thiết lập bộ định tuyến DD-WRT đúng cách:

Cấu hình bộ định tuyến

Trong cấu hình của bạn ở trên, bạn cũng có một số vấn đề; bạn đã đặt phạm vi địa chỉ DHCP để bắt đầu 200và kết thúc tại 255; Tôi khuyên bạn nên thay đổi điều đó để bắt đầu từ 200 và kết thúc vào lúc 254; bỏ địa chỉ 255, cho rằng đối với cấu hình bình thường *.*.*.255là địa chỉ quảng bá và không phải là địa chỉ IP thông thường để sử dụng để gán cho máy khách được liên kết.

Tôi đã tô sáng các cài đặt DNS cục bộ vì bạn đặt của bạn thành 127.0.0.1; có nghĩa là bạn đang chạy một máy chủ DNS cục bộ trên bộ định tuyến . Nếu đây không phải là trường hợp, sau đó thay đổi nó thành 0.0.0.0hoặc địa chỉ thích hợp thành máy chủ DNS cục bộ trên mạng của bạn.

Bạn sẽ nhận thấy rằng khi máy chủ và máy khách được cấu hình theo cách này, chỉ có địa chỉ IP DNS của bộ định tuyến sẽ xuất hiện; và tất cả các yêu cầu sẽ được chuyển qua các máy chủ DNS được liên kết với bộ định tuyến.

Lưu ý trên máy chủ DNS cục bộ Nếu bạn muốn bộ định tuyến liên kết một số địa chỉ cục bộ nhất định với IP cục bộ, bạn có thể thêm chúng vào các tùy chọn cấu hình DNSMasq trong màn hình DD-WRT thích hợp hoặc sử dụng máy chủ DNS cục bộ và đặt địa chỉ IP thích hợp cho máy chủ đó (thường là máy chủ tĩnh, trong phạm vi của mạng). Bằng cách này, thứ tự phân giải sẽ là máy chủ cục bộ trước, sau đó là 2 bên ngoài. Nhưng, vẫn chỉ có các máy khách sẽ thấy IP của bộ định tuyến là máy chủ DNS.


cảm ơn câu trả lời của bạn!, Tôi đã đảm bảo tất cả các máy khách trên mạng không có máy chủ DNS được mã hóa cứng. Trong thực tế, trong mọi trường hợp 192.168.10.10 (chính bộ định tuyến) trở lại là máy chủ DNS đầu tiên gặp phải. Điều xảy ra là một số máy tính ngẫu nhiên tấn công các máy chủ DNS thứ cấp mà DHCP hiện đang cung cấp .. Tôi đã thử hàng triệu thứ và có vẻ như không có cách nào để nó chỉ tự phục vụ. Cuối cùng tôi có thể chạy một số phiên bản dnsmasq khác trên một máy khác và sử dụng nó như dns2 và dns3 .. thật là một hack! cười lớn. một lần nữa
0x6A75616E

2

Tôi đã gặp vấn đề tương tự sau khi bộ định tuyến của tôi chết và tôi cần chạy WRT160N.

Tôi có một hộp hoạt động như một máy chủ DNS cục bộ trên 192.168.2.30 trong mạng của tôi. Về cơ bản, tôi muốn DHCP chỉ cung cấp địa chỉ đó dưới dạng máy chủ DNS; Tôi không muốn DNS đi bất cứ nơi nào khác.

Tôi đang sử dụng "Chương trình cơ sở: DD-WRT v24-sp2 (12/19/10) mini"

Dường như không có vấn đề gì khi kết hợp cài đặt DNSMasq, cài đặt DHCP, DNS cục bộ hoặc bất cứ thứ gì tôi sử dụng. Nếu Máy chủ DNS 2 và Máy chủ DNS 3 trống hoặc khớp với Máy chủ DNS 1, DD-WRT khăng khăng đòi bàn giao máy chủ DNS của Comcast cho những điểm đó. Tôi không muốn điều này vì tôi có chuyển tiếp 192.168.2.30 sang OpenDNS cho các truy vấn không cục bộ.

Tôi đang viết lỗi này như là một lỗi trong phiên bản DD-WRT khá cũ này (hiện tại) và sẽ cài đặt / định cấu hình máy chủ DHCP của riêng tôi trên 192.168.2.30 và vô hiệu hóa DHCP trên bộ định tuyến.


1
Đó thực sự không phải là một ý tưởng tồi ... Tôi có thể chỉ cần thiết lập dhcp trên một hộp khác và thoát khỏi tình trạng khó khăn với ddwrt.
0x6A75616E

1
Vấn đề này vẫn tồn tại trong bản dựng tháng 2 năm 2016 của tôi, dường như là một tính năng. Tôi đang bỏ bộ định tuyến và sẽ quay lại PC Linux để làm việc này. Mọi người xây dựng phần mềm bộ định tuyến nên thực sự hiểu rõ hơn về các vấn đề riêng tư đi kèm với hành vi bất ngờ, không phổ biến và vô trách nhiệm này của GUI. Nếu tôi phải tự mình hack mọi thứ, thực sự không có vấn đề gì trong việc sử dụng một hệ thống tương đối phức tạp và hạn chế. Và khi bạn đang chạy DNS và DHCP trên một máy khác, những gì còn lại cho bộ định tuyến? Đẩy gói?
Ai đó

1

Đã thêm vài năm muộn vì tôi tình cờ tìm thấy câu trả lời này ... Tôi đã thêm giao diện ảo vào lỗ pi của mình để xử lý thêm 2 địa chỉ IP.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Điều này cho phép tôi điền vào cả 3 hộp có địa chỉ cục bộ và cung cấp đủ để mặc dù bộ định tuyến dd-wrt đang phát 5, 3 cục bộ và 2 ISP ngược dòng, máy của tôi sẽ không đánh chúng.


0

Tham gia vào một phương pháp ít hack hơn: Nếu đó là mạng LAN và DNS của bạn, tôi chắc chắn có một số địa chỉ dành cho việc nghe DNS trên ba IP.

Việc đạt được các địa chỉ không thể định tuyến sẽ không liên quan trong thực tế, nhưng ít nhất bạn không dựa vào một cái gì đó bị hỏng và các bộ định tuyến phản ứng với nó. Bạn không bao giờ có thể chắc chắn nếu điều đó sẽ không thay đổi một ngày nào đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.