En iyi yöntem, Bind 9.8.1 veya daha yenisindeki yanıt politikası bölgesidir. İsteğe bağlı bölgelerdeki tek kayıtları geçersiz kılmanıza izin verir (ve bunun için tam bir alt etki alanı oluşturmanıza gerek yoktur, yalnızca değiştirmek istediğiniz tek bir kayıt vardır), CNAME'leri geçersiz kılmanıza olanak tanır. .
https://www.redpill-linpro.com/sysadvent/2015/12/08/dns-rpz.html
EDIT: Bunu doğru şekilde yapalım. Yukarıda verilen eğitime dayanarak yaptığım şeyi belgeleyeceğim.
İşletim sistemim Raspberry Pi için Raspbian 4.4, ancak bu teknik Debian ve Ubuntu'da herhangi bir değişiklik yapmadan ya da diğer platformlarda minimum değişiklik yapmadan çalışmalı.
Bind config dosyalarınızın sisteminizde tutulduğu yere gidin - işte burada /etc/bind. Orada db.rpzaşağıdaki içerikleri içeren bir dosya oluşturun :
$TTL 60
@ IN SOA localhost. root.localhost. (
2015112501 ; serial
1h ; refresh
30m ; retry
1w ; expiry
30m) ; minimum
IN NS localhost.
localhost A 127.0.0.1
www.some-website.com A 127.0.0.1
www.other-website.com CNAME fake-hostname.com.
Bu ne işe yarıyor?
www.some-website.comsahte adresi olan IP adresini geçersiz kılar, 127.0.0.1bu site için tüm trafiği geridöngü adresine etkili bir şekilde gönderir
www.other-website.comiçin başka bir siteye trafik gönderirfake-hostname.com
Bir Bind bölge dosyasına girebilecek her şeyi burada kullanabilirsiniz.
Bu değişiklikleri etkinleştirmek için birkaç adım daha var:
named.conf.localBu bölümü düzenleyin ve ekleyin:
zone "rpz" {
type master;
file "/etc/bind/db.rpz";
};
Yukarıdaki bağlantı size daha fazla şeyler eklemenizi söyler zone "rpz" { }ancak basit kurulumlarda bu gerekli değildir - burada gösterdiğim şey yerel çözümleyicinizde çalışması için minimumdur.
Düzenleyin named.conf.optionsve options { }bölümdeki bir yere response-policyseçenek ekleyin :
options {
// bunch
// of
// stuff
// please
// ignore
response-policy { zone "rpz"; };
}
Şimdi Bağlama'yı yeniden başlatın:
service bind9 restart
Bu kadar. Ad sunucusu şimdi bu kayıtları geçersiz kılmaya başlamalıdır.
Değişiklik yapmanız gerekiyorsa, yalnızca düzenleyin db.rpzve ardından Bağlama'yı yeniden başlatın.
Bonus: Eğer DNS sorgularını syslog'a kaydetmek istiyorsanız, ilerlemelere göz atabilir , bu ifadeleri içeren named.conf.localbir loggingbölüm bulunduğunu düzenleyebilir ve emin olabilirsiniz :
logging {
// stuff
// already
// there
channel my_syslog {
syslog daemon;
severity info;
};
category queries { my_syslog; };
};
Yeniden Bağla'yı yeniden başlatın ve hepsi bu
Bind çalıştıran makinede test edin:
dig @127.0.0.1 www.other-website.com. any
Farklı bir makinede kazı yaparsanız, sadece @ 127.0.0.1 yerine Bind sunucusunun @-ip-adresini-kullanın.
Bu tekniği, üzerinde çalıştığım bir web sitesinin CNAME'sini geçersiz kılmak için kullandım ve test ettiğim yeni bir AWS yük dengeleyicisine gönderiyorum. Bind'i çalıştırmak için bir Ahududu Pi kullanıldı ve RPI aynı zamanda bir WiFi yönlendirici olarak da çalışacak şekilde yapılandırıldı.