Jak używać symboli wieloznacznych do przekierowywania / blokowania domen w systemie OS X?

2

Próbowałem dnsmasq, squida ten serwer proxy dns , jednak żaden z nich nie robi tego, co chcę. Chcę zrobić coś takiego:

127.0.0.1 *facebook.com
127.0.0.1 *imgur.com

Gdzie każdy dopasowany adres URL jest przekierowywany 127.0.0.1lub po prostu blokowany. (czy to w wierszu poleceń, w aplikacjach, w przeglądarkach, po prostu emulacja niektórych funkcji, /etc/hostsale z symbolami wieloznacznymi).

Chociaż jeśli nic nie działa, najważniejsza jest przeglądarka.

Wyświetlana nazwa
źródło
1
AFAIK, żadna wersja Uniksa nie obsługuje symboli wieloznacznych /etc/hosts.
G-Man,
@ G-Man Wiem, dlatego chcę, aby niektóre aplikacje to zrobiły.
DisplayName,
1
Cóż, więc może powinieneś był wspomnieć /etc/hostsmniej niż trzy razy w swoim pytaniu. Wygląda na to, że Twoje pytanie brzmi: „Jaka usługa rozpoznawania nazw pozwoli mi na odwzorowanie symboli hosta / nazwy domeny na adresy IP?” To byłoby nie na temat jako prośba o produkt.
Scott,
@Scott Tytuł wprowadzał w błąd, ale ostatni mówi, czego chcę.
DisplayName,
1
@DisplayName, czy możesz wyjaśnić, czy próbujesz użyć tego tylko z wiersza polecenia lub w aplikacjach / przeglądarkach? Jaki jest przypadek użycia i może możemy skierować Cię w stronę lepszego rozwiązania. Zaktualizuj swój post za pomocą tych informacji
SaxDaddy

Odpowiedzi:

2

Jak mówi Jeremy W. Sherman, powinieneś rozważyć skonfigurowanie zlokalizowanego serwera DNS, ponieważ etc/hostsplik nie obsługuje symboli wieloznacznych.

Zastanów się nad zainstalowaniem programu o nazwie DNSMasq , który pozwala utworzyć rodzaj symbolu wieloznacznego:

address=/facebook.com/127.0.0.1
address=/imgur.com/127.0.0.1

Które przekierowanie wszystkich domen imgur.com, a facebook.comw nich 127.0.0.1.

Przeczytaj ten post na blogu zatytułowany / etc / hosts Bugs i DNS Resolution lub ten zaktualizowany post na blogu: Jak uzyskać adresy .dev w systemie Mac OS X 10.10 Yosemite w 5 prostych krokach, aby uzyskać więcej informacji o tym, jak to zainstalować i dlaczego tak się dzieje.

Lotka
źródło
Jeśli przeczytasz moje pytanie, zobaczysz, że próbowałem zainstalować dnsmasq. Próbowałem 8 różnych przewodników, ale żaden z nich nie działał.
DisplayName,
@DisplayName zobacz moją aktualizację
Quill
0

Przeglądarka:

  • Zainstaluj coś takiego jak RequestPolicy . (RequestPolicy jest tylko Firefox, o ile mi wiadomo. Myślę, że uBlock lub uMatrix może zrobić coś podobnego dla Chrome.)
  • Otwórz Zarządzaj zasadami.
  • Dodaj zasadę blokowania:
    • Pozostaw pola początkowe puste. (To domyślnie pasuje do wszystkich źródeł.)
    • W polach docelowych ustaw hosta na symbol wieloznaczny *.facebook.com.
    • Naciśnij przycisk „Dodaj regułę”.

Zrzut ekranu: Konfiguracja RequestPolicy Kontynuacja blokowania żądań do Facebooka

DNS:

  • Będziesz chciał uruchomić pełny serwer DNS, taki jak nazwany lub niezwiązany, i skonfigurować Preferencje systemowe, aby używały go jako serwera DNS systemu.
  • Powinieneś być w stanie to skonfigurować, aby udawać, że jest autorytatywny dla całej strefy facebook.com, a następnie ustawić symbol wieloznaczny w konfiguracji strefy.
  • Dla rzeczy, których nie chcesz blokować, skonfigurujesz je tak, aby działały jako lokalna pamięć podręczna jakiegoś serwera DNS.
  • Ta konfiguracja jest zasugerował w niezwiązanego dokumentacji dla jego local-datastrofy konfiguracji:

    Jeśli potrzebujesz bardziej skomplikowanych danych autorytatywnych, z poleceniami, symbolami wieloznacznymi, obsługą CNAME / DNAME lub autorytatywną usługą DNSSEC, ustaw dla niego strefę skrótową, jak opisano szczegółowo w sekcji dotyczącej stref skrótowych poniżej. (podkreślenie dodane)

Zaangażowanie może mieć prowadzenie własnego serwera DNS. Oto przewodnik dotyczący konfigurowania nazwanych do podobnych celów.

Jeremy W. Sherman
źródło
0

Uruchom, sudo nano -e /etc/hostsaby otworzyć plik hosts i umieścić w nim

127.0.0.1 *.domain-name.com #Block subdomains
127.0.0.1 domain-name.com #Block domain

Powinieneś umieścić oba, aby zablokować stronę internetową.

Koraniar
źródło