Masaüstü olarak kullandığımız FreeBSD de DNSCrypt-proxy ile hem dns cache yapacağız, hem reklamları engelleyeceğiz, hemde Anonim DNS yapıp, hangi DNS kullandığımızı gizleyeceğiz.
Örn. dnsleaktest.com gibi bir sitede hangi DNS yi kullanıyorsanız sürekli onu görürsünüz, Anonim DNS de ise her sorgu yaptığınızda farklı DNS adresleri görünecektir, gerçek DNS niz görünmeyecektir.
Önce kuruluma başlayalım.
# pkg install dnscrypt-proxy2
İçine bunları yerleştirelim.
ee /etc/rc.conf
local_unbound_enable="YES"
dnscrypt_proxy_enable="YES"
Devam...
ee /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml
Bul
listen_addresses = ['127.0.0.1:53']
Değiştir
listen_addresses = ['127.0.0.1:5353']
Hemen üstte # server_names bulun ve önünde ki '#' diyezi kaldırın.
server_names = ['scaleway-fr', 'google', 'yandex', 'cloudflare']
Tabii burada istediğiniz server name ekleyebilir, çıkarabilirsiniz, adresler için buralara bakabilirsiniz.
dnscrypt.info/public-servers/
dnscrypt-resolvers.csv
Devam...
resolv.conf böyle olsun. (edns0 sizde değişik olabilir, sizde ki neyse o olsun)
ee /etc/resolv.conf
nameserver 127.0.0.1
options edns0
Unbound.conf 'a ekle, böyle olsun.
ee /var/unbound/unbound.conf
server:
interface: 127.0.0.1
do-not-query-localhost: no
#server:
# username: unbound
# directory: /var/unbound
# chroot: /var/unbound
# pidfile: /var/run/local_unbound.pid
# auto-trust-anchor-file: /var/unbound/root.key
include: /var/unbound/forward.conf
include: /var/unbound/lan-zones.conf
include: /var/unbound/control.conf
include: /var/unbound/conf.d/*.conf
Yeni bir dosya açalım ve içine ekleyelim.
ee /var/unbound/conf.d/10-forward.conf
server: do-not-query-localhost: no forward-zone: name: * forward-addr: 127.0.0.1@5353
Servisleri çalıştıralım.
# service netif restart
dnscrypt-proxy başlangıçta otomatik çalışmasını sağlayalım.
# service dnscrypt-proxy onestart
Kontrol edelim
# service dnscrypt-proxy onestatus
dnscrypt_proxy is running as pid 1005.
Şimdi DNSCrypt-proxy 'i çalıştıralım
# dnscrypt-proxy -config /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml
Bir takım servis ayarları geçecek en sonda is ready diyorsa tamamdır.
...
[NOTICE] dnscrypt-proxy is ready - live servers: 58
Şimdi bir aksilik olmadıysa dnscrypt-proxy çalışıyor olmalı.
Bi kontrol edelim.
$ sockstat -4 |grep 53
_dnscrypt-proxy dnscrypt-p1005 6 udp4 127.0.0.1:5353 *:*
_dnscrypt-proxy dnscrypt-p1005 7 tcp4 127.0.0.1:5353 *:*
unbound local-unbo 811 3 udp4 127.0.0.1:53 *:*
unbound local-unbo 811 4 tcp4 127.0.0.1:53 *:*
Konsolda bunu döndürün.
$ drill -D google.comBir daha döndürün. 0 ise tamamdır, cache yapılıyordur.
...
;; Query time: 83 msec
$ drill -D google.com
...
;; Query time: 0 msec
[ Gizli DNS - Anonim DNS ]
dnscrypt-proxy.toml de Anonim DNS için bu ayarları uygulayabilirsiniz.
# ----------İşlemler bittiyse
# server_names = ['scaleway-fr', 'google', 'yandex', 'cloudflare']
# ----------
dnscrypt_servers = true
doh_servers = true
# ---------
[anonymized_dns]
# ----------
routes = [
{ server_name='decloudus-nogoogle-tst', via=['*'] },
{ server_name='adguard-dns', via=['*'] }
]
# ----------
skip_incompatible = true
# service dnscrypt-proxy restarthttps://github.com/DNSCrypt/dnscrypt-proxy/wiki/Anonymized-DNS
[ Reklam engelleme - Kara Liste (Blocklist) ]
# mkdir /usr/local/etc/dnscrypt-proxy/generate-domains-blocklistAltaki adresleri bir dosyaya kaydedin, adıda linkler.txt olsun
$ cd /usr/local/etc/dnscrypt-proxy/generate-domains-blocklist
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-allowlist.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-blocklist-local-additions.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-blocklist.conf
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/domains-time-restricted.txt
https://raw.githubusercontent.com/DNSCrypt/dnscrypt-proxy/master/utils/generate-domains-blocklist/generate-domains-blocklist.py
Konsoldan bunu döndürün.
$ wget -i linkler.txt -P . -q --show-progress
İnenleri kontrol edelim.
$ ls /usr/local/etc/dnscrypt-proxy/generate-domains-blocklist
domains-allowlist.txt
domains-blocklist-local-additions.txt
domains-blocklist.conf
domains-time-restricted.txt
generate-domains-blocklist.py
Devam...
# chmod a+x generate-domains-blocklist.py
# /usr/local/bin/python3 generate-domains-blocklist.py > dnscrypt-blocklist-domains.txt
# cd ..
# ln -s generate-domains-blocklist/dnscrypt-blocklist-domains.txt dnscrypt-blocklist-domains.txt
ee dnscrypt-proxy.toml
Dosya içine Pattern-based blocking (blacklists) bölümünü bul ve düzenle
[blocked_names] blocked_names_file = 'dnscrypt-blocklist-domains.txt'
[allowed_names] allowed_names_file = 'domains-allowlist.txt'
# service dnscrypt-proxy restartYapılandırmayı elle test edelim, hata varsa onları düzeltin.
cd /usr/local/etc/dnscrypt-proxy ; dnscrypt-proxy -checkHata yoksa çıktı böyle bir şey olmalı...
[2024-08-03 15:32:32] [NOTICE] dnscrypt-proxy 2.1.5
[2024-08-03 15:32:32] [NOTICE] Source [public-resolvers] loaded
[2024-08-03 15:32:32] [NOTICE] Source [relays] loaded
[2024-08-03 15:32:32] [NOTICE] Configuration successfully checked
Tarayıcınızı kapatıp/açın artık reklam görmemeniz lazım, ya da daha az görmeniz lazım, başka bir ayar yapmanıza gerek yok.Kontrol edin, reklam engelleyici çalışıyor mu?
$ host pagead2.google.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
Host pagead2.google.com not found: 3(NXDOMAIN)
Online test içinde burayı kullanabilirsiniz.Eğer filtre için bir güncelleme betiği isterseniz, bunu kullanabilirsiniz.
#!/bin/shcd /usr/local/etc/dnscrypt-proxy/generate-domains-blocklista=$(du -sk dnscrypt* | awk '{print $1}')/usr/local/bin/python3 generate-domains-blocklist.py > dnscrypt-blocklist-domains.txtservice dnscrypt-proxy restartb=$(du -sk dnscrypt* | awk '{print $1}')echo ; clearif [ "$a" != "$b" ]; thenecho ; echo " Guncellendi: $b kb ✓" ; echo ; exit 0elseecho ; echo " Güncellenmedi: $a kb !!" ; echo ; fi ; exit
https://github.com/DNSCrypt/dnscrypt-proxy
https://github.com/jedisct1/dnscrypt-proxy/wiki/Public-blacklists
https://github.com/jedisct1/dnscrypt-proxy/wiki/Public-blacklists
İyi günlerde kullanın.
* dnsleaktest sitesinde her test ettiğinizde kullandığınız DNS ler otomatik olarak değişmektedir.
yorum yok:
Yorum Gönder