Thiết lập dnsmasq cho mạng cục bộ


18

Tôi và một nhóm nhỏ các nhà phát triển vừa chuyển đến một văn phòng mới và tôi muốn thiết lập dnsmasq trên máy chủ phát triển của mình, vì vậy khi chúng tôi triển khai các ứng dụng web ở đó, chúng tôi không phải chỉnh sửa các tệp máy chủ của riêng mình. Chúng tôi có một bộ định tuyến tại 192.168.3.1 mà chúng tôi không có quyền truy cập. Tôi hình dung tôi sẽ cài đặt máy chủ DNS trên hộp phát triển và tất cả chúng ta đều ghi IP đó là máy chủ DNS thứ cấp. Thật không may, tôi đang cố gắng để làm cho công việc này.

Tên của máy chủ phát là devbox, IP của nó là 192.168.3.99 và nó đang chạy Máy chủ Ubuntu mới nhất (Karmic)

Máy tính của tôi đang chạy Ubuntu Desktop (Karmic)

Những gì tôi muốn đạt được

Giả sử tôi có ba trang web, website1, website2, website3, đang chạy trên hộp phát triển. Tôi muốn truy cập chúng bằng các url:

http://website1.devbox
http://website2.devbox
http://website3.devbox

Vì vậy, tôi đã cấu hình Apache trên hộp phát, cài đặt dnsmasq và đặt các dòng sau vào tệp lưu trữ của nó:

192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox

và chỉnh sửa tệp giải quyết riêng của tôi để bao gồm hộp phát dưới dạng máy chủ tên:

nameserver 192.168.3.99 

Nó hoạt động tốt, tôi có thể truy cập các trang web. Vấn đề là nó không có quy mô tốt. Tôi muốn tất cả các tên miền kết thúc bằng .devbox được chuyển tiếp đến hộp phát triển và đây là thứ tôi đang vật lộn với.

Tôi đã thử đặt

192.168.3.99 devbox

vào tệp máy chủ và chỉnh sửa dòng trong dnsmasq.conf:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/

Nhưng tôi không thể làm cho nó hoạt động. Nếu tôi thử bất kỳ url nào không có trong tệp lưu trữ của hộp phát triển, việc tra cứu dns không thành công.

Là chỉ thị địa phương cho một cái gì đó khác? Có phải tôi đang nhìn nhầm chỗ?

Câu trả lời:


14

Tham khảo tài liệu DNSmasq , đặc biệt là tệp cấu hình mẫutrang dnsmasq . Các địa phương từ khóa kể dnsmasq để thực hiện những tra cứu tên miền với dữ liệu địa phương. Điều này ảnh hưởng đến các yêu cầu gửi đến DNSmasq cho foo.localnetbar.localnet chẳng hạn. Tôi không nghĩ rằng đây là những gì bạn muốn.

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

Để buộc tra cứu máy chủ / tên miền phụ giải quyết một địa chỉ cụ thể, có lẽ bạn muốn sử dụng từ khóa địa chỉ . Ví dụ thứ hai dưới đây sẽ cho phép web1.devboxweb2.devboxweb73872.devbox giải quyết tất cả các địa chỉ được chỉ định.

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1

# for your example
address=/devbox/192.168.3.99

Tôi sử dụng DNSmasq tại nhà để xử lý các công cụ DNS đơn giản cho mạng LAN của mình; trong trường hợp đó, các từ khóa cục bộtên miền liên quan và máy chủ mở rộng là phù hợp. Máy chủ DNSmasq là máy chủ tên chính của tôi, vì vậy tất cả các yêu cầu đều đi qua nó; mọi địa chỉ không nhắm mục tiêu được chuyển trở lại máy chủ tên của ISP. Bạn có thể xem xét cấu hình đó nếu có thể.


một câu trả lời cho một câu hỏi khác chỉ ra rằng đó address=/.devbox/192.168.3.99có thể là cú pháp phù hợp hơn cho mục đích của bạn.
quack quixote

Trời ạ, đáng lẽ tôi nên đọc những phần mà tôi đã dán từ cấu hình, rõ ràng đó không phải là thứ tôi cần. Các chỉ thị địa chỉ đã giải quyết vấn đề, cảm ơn bạn!
K. Norbert

Tôi đã sử dụng cách trên với một twist: máy chủ web / dns / dhcp có giao diện không dây ở chế độ Adhoc. Mặc dù trong khi chụp các gói tôi có thể thấy yêu cầu VÀ phản hồi mDNS, tôi không thể truy cập máy chủ theo tên. Như thể nội dung của phản hồi không bao giờ được đăng ký. Có ý kiến ​​gì không?
George
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.