tra-loi-cau-hoi-phat-trien-web.com

Tên miền phụ ký tự đại diện với dnsmasq

Tôi có một thiết bị đã được ánh xạ tới domain.tld. Bây giờ tôi muốn tạo một ký tự đại diện cho tất cả các tên miền phụ *.domain.tld để chúng được ánh xạ tới ip của domain.tld, quá. Làm cách nào để làm điều này với dnsmasq?

35
danb

Bên trong dnsmasq.conf tập tin, thêm dòng

address=/.domain.tld/192.168.0.1

Nhưng sử dụng IP bạn thực sự muốn như là bit cuối

52
EkriirkE

Mặc dù câu trả lời được chấp nhận có thể đã giải quyết được vấn đề của tác giả, nhưng nó gây hiểu nhầm vì nó gợi ý rằng dấu chấm hàng đầu chỉ khớp với tên miền phụ, điều này không đúng.

dnsmasq bỏ qua bất kỳ dấu chấm hàng đầu nào, sao cho

address=/domain.tld/192.168.0.1

tương đương với

address=/.domain.tld/192.168.0.1

hoặc thậm chí

address=/......domain.tld/192.168.0.1

Cho đến bây giờ (dnsmasq v2.76), thật không may, không có cách nào để chỉ định một số thứ (server, address, ipset) cho

  • chỉ một tên miền, tức là tên miền không có tên miền phụ
  • chỉ dành cho tên miền phụ của một tên miền

Điều duy nhất bạn có thể làm là chỉ định một cái gì đó cho một tên miền và tất cả tên miền phụ của nó và ghi đè lên tên miền phụ cụ thể, ví dụ:.

address=/domain.tld/192.168.0.1
address=/sub.domain.tld/10.10.0.1

Trường hợp chỉ có tên miền duy nhất này, có thể được xử lý bằng các tùy chọn khác nhau, chẳng hạn như Host-record, srv-record, có thể là đủ trong một số trường hợp, nhưng chắc chắn không phải là tất cả. Ví dụ, nó sẽ không hoạt động, nếu bạn thực sự cần sử dụng tùy chọn server hoặc ipset cho một tên miền duy nhất.

37
Sebastian Schrader