Sử dụng ký tự đại diện trong tên trong tệp máy chủ Windows


53

Có cách nào để tạo một miền ký tự đại diện trong tệp máy chủ Windows.

Tôi đã thử nó

xxx.xxx.xxx.xxx * .somedomain.com

Điều này không hoạt động, có lẽ tôi nên sử dụng một số cú pháp khác?

Tôi đang làm việc trên Windows 7


1
Tôi vừa trả lời một câu hỏi về việc này với DNSmasq trên ServerFault (rõ ràng không phải trên windows, nhưng trên một bộ định tuyến chạy DD-WRT / OpenWRT thì có thể thực hiện được)
quack quixote

XP SP2 bao gồm một bản sao của tệp máy chủ - securityf Focus.com/archive/1/431032/30/0/threaded Lý do giả định là mọi người đang sử dụng nó để chặn quảng cáo trong khi duyệt. Đây là một phỏng đoán theo như tôi biết Microsoft chưa bao giờ tiết lộ lý do tại sao họ làm điều này và tại sao họ lại đưa nó tới mọi thứ kể từ đó. Nếu bạn có thể đặt máy chủ proxy giữa PC và internet, thì bạn có thể đặt một khối cho những gì bạn muốn.
bvaughn

Câu trả lời:


61

Không có. Tệp máy chủ không thông minh lắm, bạn phải liệt kê từng tên miền phụ riêng lẻ (bao gồm www và không có www)


16

Một câu trả lời cho một câu hỏi StackOverflow rất giống với tôi.

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=UserManual

Hỗ trợ ký tự đại diện trên XP tại hostfile. Thưởng thức.

Về cơ bản, chương trình Acrylic này hoạt động như một proxy DNS cho máy cục bộ của bạn. Chỉ cần trỏ Kết nối khu vực địa phương của bạn đến 127.0.0.1, sau đó chỉnh sửa Acrylichosts.txt theo cách rất giống với tệp máy chủ thông thường - chỉ với các ký tự đại diện!


2
Acrylic hoạt động rất tốt, nhưng có thể làm bạn bối rối nếu bạn đang cố truy cập vào một máy có địa chỉ IP động. Tôi có các máy được kết nối với mạng gia đình của mình và tôi sử dụng một dns động để đặt ip cho tên miền. Tôi sử dụng Acrylic trên máy tính xách tay của mình và tôi đã đi được vài ngày, trong thời gian đó ip của tôi thay đổi, nhưng Acrylic nhớ nó là ip cũ và tôi không thể truy cập trang web. Nhưng việc chạy chương trình "Purge Acrylic Cache Data" đã giải quyết được vấn đề.
leeand00

Thật không may, acrylic không hỗ trợ bí danh DNS, điều này khiến tôi vô dụng.
trùng

10

Dnsmasq là những gì bạn cần nhưng nó không hoạt động khá tốt trên Windows. Vì vậy, tôi đã viết một thay thế trên Windows được gọi là DNSAgent .

Bạn có thể sử dụng biểu thức chính quy trong các quy tắc. Ngoài ra còn có một số tính năng nâng cao như tùy chỉnh bộ đệm cache, máy chủ DNS không chuẩn cổng, đột biến con trỏ nén, v.v. Mở nguồn theo giấy phép MIT.


1

Đầu tiên, tôi đồng ý với phoshi rằng không thể thực hiện những gì bạn muốn trong tệp máy chủ của windows (không phải trên unix).

thứ hai, bạn phải kiểm soát kết quả của yêu cầu đối với dns. một tùy chọn là sử dụng phân giải dns của riêng bạn trên bộ định tuyến của bạn (dnsmasq, dnscache + tinydns, liên kết, bất cứ điều gì, xem bình luận của quack) và điều chỉnh nó hoặc sử dụng trình phân giải dns trên các cửa sổ mà bạn có thể điều khiển theo ý muốn.

xem ở đây để biết danh sách các bộ giải quyết dns, kiểm tra cột "ký tự đại diện", có thể powerdns hoặc maradns hoặc posadis là thứ phù hợp với nhu cầu của bạn.


-1

Đó là một cú pháp khác: xxx.xxx.xxx.xxx somedomain.com

Một số ví dụ để giải thích nó:

  • 127.0.0.1 .com dòng này sẽ chặn tất cả các dnsrequests đi kết thúc bằng .com
  • 127.0.0.1 somesite.com sẽ chặn tất cả các dnsrequest đi kết thúc bằng somesite.com
  • 12.2.3.1 www.dns.com sẽ dẫn tất cả các dnsrequest đi kết thúc với www.dns.com đến 12.2.3.1

Bạn chặn / dẫn tất cả các url cấp thứ hai (thứ ba, thứ tư ...) với url cấp cao nhất (thứ hai, thứ ba ...) trong tệp máy chủ.


Đưa ra câu cuối cùng, tôi giả sử www.example.comkhông bị chặn bởi dòng đầu tiên, nhưng chỉ khi thêm 127.0.0.1 example.com?
Arjan

9
moonfern, tôi không đồng ý với danh sách của bạn. 127.0.0.1 somesite.com S NOT KHÔNG chặn tất cả các yêu cầu DNS gửi đi kết thúc bằng somesite.com, tất cả những gì nó sẽ chặn là somesite.com , không phải www.somesite.com hoặc subomain.somesite.com hoặc tương tự.

1
Đó chắc chắn không phải là trường hợp trên Windows, moonfern.
Owen Blacker

-3

Nếu bạn muốn chặn mọi tên miền phụ trong somedomain.com, thì hãy xem xét liệu có bỏ qua "*." sẽ đạt được những gì bạn muốn.

Chỉnh sửa ví dụ của bạn:

xxx.xxx.xxx.xxx somedomain.com

"Xem xét liệu ..." là khá mơ hồ. Chính xác thì bạn đang đề xuất giải pháp là gì?
fixer1234

Xin vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu.
DavidPostill

1
fixer1234 - Tôi không biết vấn đề mà người đăng muốn giải quyết là gì, trong khi họ hỏi như thể ký tự đại diện rõ ràng sẽ giải quyết nó. "Xem xét liệu ..." gợi ý một cái gì đó có thể hoạt động. Thật dễ dàng để thử, và yêu cầu một vài nhân vật. Tôi biết nó hoạt động trong một số trường hợp. Vì tôi không có đủ ngữ cảnh để hiểu vấn đề, tôi không thể đề xuất một giải pháp. David Postill - Tôi tin rằng câu trả lời của tôi giải quyết và phù hợp với câu hỏi ban đầu. Nhưng có lẽ câu trả lời của riêng bạn sẽ làm việc tốt hơn.
SquarePowder
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.