如何使用綁定/命名來阻止域以進行本地保護?
我正在嘗試使用綁定來沉陷/黑洞列表。我認為我的問題是在 conf 的錯誤位置使用“包含”。有人可以確認黑名單程式碼行在正確的位置嗎?
include "/etc/rndc.key"; controls { inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; }; }; options { directory "/var/named"; // the default pid-file "/var/run/named/named.pid"; dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; allow-transfer {"none";}; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view "localhost_resolver" { include "/var/named/blacklist.zones"; //RIGHT HERE!!!!!!!!!!!!!! match-clients { 127.0.0.1/32; }; match-destinations { localhost; }; recursion yes; zone "." IN { type hint; file "/var/named/named.ca"; }; include "/var/named/named.rfc1912.zones"; }; view "internal" { match-clients { localnets; }; match-destinations { localnets; }; recursion yes; zone "." IN { type hint; file "/var/named/named.ca"; }; zone "my.real.domain" { type master; file "/var/named/my.real.domain.zone"; }; }; view "external" { recursion no; zone "." IN { type hint; file "/var/named/named.ca"; }; zone "my.real.domain" { type master; file "/var/named/my.real.domain.zone"; }; };
我只能通過把它放在那裡來開始命名服務。日誌顯示域已載入。黑名單只是 fw 到 127.0.0.1,所以這似乎有效。當我
探勘@127.0.0.1 blacklisted.domain
我得到了成功的答案,指向 127 .. 和配置的名稱伺服器。但是當我
ping blacklisted.domain
它ping真實IP,它通過DNS解析。有人可以闡明一下嗎?我只是想阻止本地訪問的域列表。我知道,我也喜歡 dnsmasq。
需要將這兩行添加到 /etc/named.conf 上的選項中
listen-on port 53 { 127.0.0.1; "public IP" ; }; forwarders { 9.9.9.9; 8.8.8.8; };
在上述之後完美工作。
- 我專門詢問主配置文件。我已經完成了所有其餘的工作,帕特里克。
在 DNS 級別阻止域名是一個壞主意,請參閱此文件:http ://www.afnic.fr/medias/documents/conseilscientifique/SC-consequences-of-DNS-based-Internet-filtering.pdf
此外,在同一個實例中混合遞歸和權威函式也是一個壞主意。
但是,如果您需要執行 DNS 觸發,則BIND(和其他一些名稱伺服器)支持一個特定的功能,稱為 RPZ for Response Policy Zones。
有關所有詳細資訊,請參見https://dnsrpz.info/,但簡而言之:
域名服務響應策略區 (DNS RPZ) 是一種允許名稱伺服器管理員在全球 DNS 之上覆蓋自定義資訊以提供對查詢的替代響應的方法。它目前在 ISC BIND 名稱伺服器(9.8 或更高版本)中實現。DNS RPZ 功能的另一個通用名稱是“DNS 防火牆”。
專門針對BIND搜尋<ftp://ftp.isc.org/isc/bind9/cur/9.11/doc/arm/Bv9ARM.ch06.html>中的“響應策略區 (RPZ) 重寫”部分
只要您輸入正確的域名,它就會為您提供這個開箱即用的範例,以滿足您的需要:
例如,您可以使用此選項語句
response-policy { zone "badlist"; };
和這個區域聲明
zone "badlist" {type master; file "master/badlist"; allow-query {none;}; };
使用此區域文件
$TTL 1H @ SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h) NS LOCALHOST. ; QNAME policy records. There are no periods (.) after the owner names. nxdomain.domain.com CNAME . ; NXDOMAIN policy