właśnie odpowiedziałem na pytanie dotyczące robienia tego z DNSmasq na ServerFault (oczywiście nie na Windowsie, ale na routerze z DD-WRT / OpenWRT jest to wykonalne)
quack quoteote
XP SP2 zawierał kastrację pliku hosta - securityfocus.com/archive/1/431032/30/0/wątek Przypuszczalny powód, dla którego ludzie używali go do blokowania reklam podczas przeglądania. Jest to przypuszczenie, o ile wiem, Microsoft nigdy nie ujawnił, dlaczego to zrobił i dlaczego odtąd wszystko to realizuje. Jeśli możesz umieścić serwer proxy między komputerem a Internetem, możesz umieścić blok dla tego, co chcesz.
bvaughn
Odpowiedzi:
61
Tam nie ma. Plik hosts nie jest bardzo sprytny, musisz wymienić każdą subdomenę osobno (w tym www i no-www)
Obsługa symboli wieloznacznych w XP na pliku hostów. Cieszyć się.
Zasadniczo ten program Acryl działa jako serwer proxy DNS dla komputera lokalnego. Wystarczy wskazać połączenie lokalne na 127.0.0.1, a następnie edytować plik AcrylicHosts.txt w bardzo podobny sposób jak zwykły plik hosts - tylko przy użyciu symboli wieloznacznych!
Akryl działa świetnie, ale może mylić, jeśli próbujesz uzyskać dostęp do maszyny z dynamicznym adresem IP. Mam maszyny podłączone do mojej sieci domowej i używam dynamicznego dns do ustawienia adresu IP dla nazwy domeny. Używam Acrylu na swoim laptopie i nie było mnie przez kilka dni, w międzyczasie zmieniło się moje ip, ale Acrylic zapamiętał go jako stary ip i nie mogłem uzyskać dostępu do strony. Ale uruchomienie programu „Wyczyść dane akrylowej pamięci podręcznej” rozwiązało problem.
leeand00
Niestety akryl nie obsługuje aliasów DNS, co czyni mnie bezużytecznym.
Spero,
10
Dnsmasq jest tym, czego potrzebujesz, ale nie działa całkiem dobrze w systemie Windows. Napisałem więc alternatywę dla systemu Windows o nazwie DNSAgent .
W regułach można używać wyrażeń regularnych. Istnieje również kilka zaawansowanych funkcji, takich jak dostosowywanie pamięci podręcznej TTL, niestandardowy serwer DNS, mutacja wskaźnika kompresji itp. Otwarte źródło na licencji MIT.
po pierwsze, zgadzam się z phoshi, że nie można zrobić tego, co chcesz w pliku hosts systemu Windows (ani na Uniksie).
po drugie, musisz przejąć kontrolę nad wynikiem zapytania do dns. jedną z opcji jest użycie własnego rozwiązania dns na routerze (dnsmasq, dnscache + tinydns, powiązanie, cokolwiek, patrz komentarz quacka) i dostosowanie lub użycie dns-resolvera w oknach, które możesz kontrolować w dowolny sposób.
patrz tutaj dla listy DNS-przeliczniki, sprawdzić na „wildcard” kolumny, może PowerDNS lub maradns lub posadis jest coś, co pasuje do Twoich potrzeb.
To kolejna składnia: xxx.xxx.xxx.xxx somedomain.com
Kilka przykładów, aby to wyjaśnić:
127.0.0.1. .Com ten wiersz zablokuje wszystkie wychodzące żądania kończące się na .com
127.0.0.1 somesite.com zablokuje wszystkie wychodzące żądania kończące się na somesite.com
12.2.3.1 www.dns.com poprowadzi wszystkie wychodzące zapytania kończące się na www.dns.com do 12.2.3.1
Blokujesz / prowadzisz wszystkie adresy URL drugiego (trzeciego, czwartego ...) poziomu za pomocą adresu URL najwyższego (drugiego, trzeciego ...) w pliku hosts.
Biorąc pod uwagę ostatnie zdanie, zakładam, że www.example.comnie jest blokowany przez pierwszy wiersz, ale tylko podczas dodawania 127.0.0.1 example.com?
Arjan
9
Moonfern, nie zgadzam się z twoją listą. 127.0.0.1 somesite.com NIE ZABLOKUJE wszystkich wychodzących żądań DNS kończących się na somesite.com, wszystko co zablokuje to somesite.com , a nie www.somesite.com lub subdomain.somesite.com lub podobne.
1
Z pewnością nie jest tak w Windows, Moonfern.
Owen Blacker
-3
Jeśli chcesz zablokować każdą subdomenę w somedomain.com, zastanów się, czy pominąć „*”. osiągnie to, co chcesz.
„Zastanów się, czy ...” jest dość niejednoznaczne. Co dokładnie polecacie jako rozwiązanie?
fixer1234,
Przeczytaj uważnie pytanie ponownie. Twoja odpowiedź nie odpowiada na pierwotne pytanie.
DavidPostill
1
fixer1234 - Nie wiem, na czym polega problem, który plakat chce rozwiązać, a pytają, jakby to rozwiązało jawne symbole wieloznaczne. „Zastanów się, czy ...” sugeruje coś, co może działać. Jest łatwy do wypróbowania i wymaga kilku znaków. Wiem, że to działa w niektórych przypadkach. Ponieważ nie mam wystarczającego kontekstu, aby zrozumieć problem, nie mogę polecić rozwiązania. David Postill - wierzę, że moje adresy odpowiedzi są związane z pierwotnym pytaniem. Ale być może Twoja własna odpowiedź będzie działać lepiej.
Odpowiedzi:
Tam nie ma. Plik hosts nie jest bardzo sprytny, musisz wymienić każdą subdomenę osobno (w tym www i no-www)
źródło
Odpowiedź na bardzo podobne pytanie StackOverflow działała dla mnie dobrze.
Zasadniczo ten program Acryl działa jako serwer proxy DNS dla komputera lokalnego. Wystarczy wskazać połączenie lokalne na 127.0.0.1, a następnie edytować plik AcrylicHosts.txt w bardzo podobny sposób jak zwykły plik hosts - tylko przy użyciu symboli wieloznacznych!
źródło
Dnsmasq jest tym, czego potrzebujesz, ale nie działa całkiem dobrze w systemie Windows. Napisałem więc alternatywę dla systemu Windows o nazwie DNSAgent .
W regułach można używać wyrażeń regularnych. Istnieje również kilka zaawansowanych funkcji, takich jak dostosowywanie pamięci podręcznej TTL, niestandardowy serwer DNS, mutacja wskaźnika kompresji itp. Otwarte źródło na licencji MIT.
źródło
po pierwsze, zgadzam się z phoshi, że nie można zrobić tego, co chcesz w pliku hosts systemu Windows (ani na Uniksie).
po drugie, musisz przejąć kontrolę nad wynikiem zapytania do dns. jedną z opcji jest użycie własnego rozwiązania dns na routerze (dnsmasq, dnscache + tinydns, powiązanie, cokolwiek, patrz komentarz quacka) i dostosowanie lub użycie dns-resolvera w oknach, które możesz kontrolować w dowolny sposób.
patrz tutaj dla listy DNS-przeliczniki, sprawdzić na „wildcard” kolumny, może PowerDNS lub maradns lub posadis jest coś, co pasuje do Twoich potrzeb.
źródło
To kolejna składnia: xxx.xxx.xxx.xxx somedomain.com
Kilka przykładów, aby to wyjaśnić:
Blokujesz / prowadzisz wszystkie adresy URL drugiego (trzeciego, czwartego ...) poziomu za pomocą adresu URL najwyższego (drugiego, trzeciego ...) w pliku hosts.
źródło
www.example.com
nie jest blokowany przez pierwszy wiersz, ale tylko podczas dodawania127.0.0.1 example.com
?Jeśli chcesz zablokować każdą subdomenę w somedomain.com, zastanów się, czy pominąć „*”. osiągnie to, co chcesz.
Edycja twojego przykładu:
źródło