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.rpz
aş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.com
sahte adresi olan IP adresini geçersiz kılar, 127.0.0.1
bu site için tüm trafiği geridöngü adresine etkili bir şekilde gönderir
www.other-website.com
iç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.local
Bu 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.options
ve options { }
bölümdeki bir yere response-policy
seç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.rpz
ve 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.local
bir logging
bö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ı.