Sử dụng dnsmasq để giải quyết tất cả các máy chủ đến cùng một địa chỉ


29

Tôi đang chạy máy chủ Ubuntu trên máy tính được sử dụng như một AP không dây, nhưng AP này sẽ giải quyết tất cả các yêu cầu DNS đến một địa chỉ IP nội bộ thay vì thực sự thực hiện tra cứu.

Tôi muốn làm điều tương tự như các điểm truy cập WiFi công cộng phải trả tiền - bạn có thể kết nối nhưng nếu bạn cố tải bất kỳ trang web nào thì chúng hiển thị một trang mặc định. Tôi nhận thấy rằng họ làm điều này bằng cách phân giải tất cả các tên miền thành một địa chỉ IP nội bộ.

Tôi đã thêm những dòng này vào /etc/dnsmasq.conf:

# Add domains which you want to force to an IP address here.
# The example below send any host in double-click.net to a local
# web-server.
address=/com/192.168.2.1
address=/uk/192.168.2.1
address=/org/192.168.2.1
address=/gov/192.168.2.1
address=/net/192.168.2.1
address=/us/192.168.2.1

hoạt động tốt cho những TLD đó, nhưng tôi muốn có thể làm điều đó với tất cả các miền để tôi có thể ngủ vào ban đêm.


4
Tại sao không sử dụng một cổng thông tin bị giam cầm như sputnik hoặc tương tự? Làm thế nào để bạn có kế hoạch thay đổi DNS sau khi họ đăng nhập?
Paul Ackerman

Đang cố gắng để đạt được điều này? Nếu bạn chỉnh sửa dhcpd của mình và sau đó thực hiện iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT - đến đích 192.168.2.1
người dùng

@PaulAckerman Tôi đã sử dụng WiFi công cộng làm ví dụ. AP này sẽ không bao giờ cho phép các yêu cầu DNS thực sự được thực hiện. Tôi sẽ thử điều iptables.
Matt

Câu trả lời:


53

Như dnsmasqhướng dẫn nói

Chỉ sử dụng #cho một ký tự đại diện:

địa chỉ = / # / 192.168.2.1


7
Rtfm thực sự nhưng dù sao chúa cũng ban phước cho bạn: D
Pitto

4
Hướng dẫn nào? 'man dnsmasq' cung cấp cho tôi một TẢI LÊN các tùy chọn dòng lệnh, nhưng hầu như không có thông tin nào về bố cục tệp cấu hình.
Avian00

8
Tôi biết điều này là muộn, nhưng trong trường hợp ai đó thấy điều này hữu ích: tất cả các tùy chọn dài trong trang man dnsmasq cũng hợp lệ trong các tệp cấu hình - tất cả những gì bạn cần làm là bỏ dấu gạch ngang trước đó (và đặt từng tùy chọn trên dòng riêng của nó ). Sự kiện cú pháp đối số vẫn giữ nguyên.
jaymmer - Phục hồi lại
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.