Dns

如何使用萬用字元或正則表達式阻止主機名?

  • August 9, 2017

目前我使用 big/etc/hosts來阻止不需要的主機名。但是文件越來越大,接近 700000 個條目。有很多類似的條目,所以我想使用萬用字元,*.co.kr因為我不會說韓語。此外,以數字開頭或長度超過 64 個字元的主機名也可能是我想要阻止的候選對象。

AFAIK/etc/hosts不提供該功能。我認為需要某種 DNS 守護程序。有任何想法嗎?

編輯:我選擇了韓國頂級域名作為例子。我/etc/hosts的越來越大,越來越難維護。那裡的大多數主機名都可以簡化為一小組規則。

名稱解析是阻止不受歡迎的網路流量的一種非常糟糕的方法。要阻止和不阻止的內容列表不斷變化,有時您需要阻止每個 URL 而不僅僅是每個主機。AdBlock* 和 uBlock* 等瀏覽器擴展往往做得更好。如果要編寫自己的列表,可以編寫PAC 文件

如果您真的想阻止基於域名的請求,請使用 DNS 代理,而不是使用/etc/hosts. /etc/hosts只能做個別主機。Dnsmasq是一種流行的輕量級 DNS 代理。一些發行版預設設置了 dnsmasq;大多數發行版都有它作為一個包。要使用 dnsmasq 使整個域顯示為 localhost,您可以使用以下行/etc/dnsmasq.conf

address=/co.kr/127.0.0.2

引用自:https://unix.stackexchange.com/questions/384655