
Ich habe einen DNS-Server mit zwei Ansichten, eine für interne Benutzer und eine für externe (z. B. Internet). Ich möchte RPZ so konfigurieren, dass interne Benutzer, wenn sie eine Beispielwebsite anfordern (externe rekursive Abfragen werden ohnehin abgelehnt), auf eine andere Website (eine Filterseite) umgeleitet werden, auf der angezeigt wird, dass der Zugriff auf diese Website nicht zulässig ist. Aber RPZ funktioniert nicht, die Abfrage für bad.com gibt die tatsächliche Adresse zurück. Ich kann das Problem nicht herausfinden.
benannte.conf.Optionen:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
8.8.8.8;
};
response-policy {zone "filter" recursive-only no;};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
# dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
benannt.conf.local:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
acl internal {172.17.116/24; 192.168.20/24; 127/8;};
view "internal" {
match-clients {internal;};
recursion yes;
zone "wsi.org" {
type master;
file "/etc/bind/internal.zone";
};
zone "filter" {
type master;
file "/etc/bind/filter.zone";
};
include "/etc/bind/named.conf.default-zones";
};
view "external" {
match-clients {any;};
recursion no;
zone "wsi.org" {
type master;
file "/etc/bind/external.zone";
};
zone "filter" {
type master;
file "/etc/bind/filter2.zone";
};
include "/etc/bind/named.conf.default-zones";
};
filter.zone:
TTL 604800
@ IN SOA wsi.org. root.wsi.org. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
bad.com A filter.wsi.org
bad.net A filter.wsi.org
Filter2-Zone:
TTL 604800
@ IN SOA wsi.org. root.wsi.org. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
bad.com A filter.wsi.org
bad.net CNAME rpz-passthru
nslookup
zeigt immer die tatsächliche Adresse von bad.net und bad.com an.
Ich habe experimentiert und deshalb gibt es zwei Zonen.
Antwort1
erster korrekter A-Eintrag von:
bad.com A filter.wsi.org
Zu:
bad.com A 192.168.1.1
oder ändern Sie es wie folgt:
bad.com CNAME filter.wsi.org
und testen Sie die Konfiguration mit Folgendem:
response-policy {zone "filter";};
Antwort2
Ich habe ein weiteres Problem festgestellt: Sie finden den NS-Eintrag nicht in der RPZ-Zonendatei.
@ NS 127.0.0.1.
und verwenden Sie Bind-Tools zur Fehlerbehebung Ihrer Konfiguration. So überprüfen Sie die Konfigurationssyntax:
named-checkconf
und zum Überprüfen der Zonendateisyntax:
named-checkzone filter /etc/bind/filter.zone
und um zu überprüfen, ob Bind ohne Fehler läuft:
netstat -lntup | grep 53