Nasil Archlinux Pdnsd Kullanımı
From Lapis Wiki
Bu makale NASIL bölümü serisinin bir parçasıdır
|
| MasaÜstü • Donanım • Ağ • Dağıtımlar |
| Tarayıcılar• Programlama • Linux ve Oyunlar |
Konu başlıkları |
Giriş
Hepimizin başında geçmiştir; İnternette gezerken çogu zaman sayfaların açılması uzun sürebilir. Bu yüzden yerel bir DNS sunucu kurmak çok işimize yarar ve hızlı şekilde internette tarayıcımız ile gezebiliriz.
Mesela Konqueror ile bir sayfaya girmek istediğimizi farz edelim:
12 11/27 21:33:04| qc=IN (1), qt=A (1), query="www.gmx.de." 13 11/27 21:33:04| qc=IN (1), qt=A (1), query="www.gmx.net." 14 11/27 21:33:05| qc=IN (1), qt=A (1), query="gmx.ivwbox.de." 15 11/27 21:33:05| qc=IN (1), qt=A (1), query="www.gmx.net." 16 11/27 21:33:05| qc=IN (1), qt=A (1), query="www.gmx.net." 18 11/27 21:33:05| qc=IN (1), qt=A (1), query="service.gmx.net." 19 11/27 21:33:05| qc=IN (1), qt=A (1), query="gmx.ivwbox.de." 20 11/27 21:33:05| qc=IN (1), qt=A (1), query="images.gmx.net."
DNS sorgulamasının Roundrip'i ortalama 70ms kadar sürüyor. Ayrıca konqueror da intern bir DNS Cache olmadığı için, gezmek istediğiniz sayfada 100 lerce resim ile dolu olduğunu düşünün... Sayfayı açıncaya kadar oldukça uzun bir zamana ihtiyacınız olacak :-) Özellikle modem ile veya yavaş bir bağlantı ile internete bağlanıyorsanız, bu işin sizin sinirlerinizi bozacağı muhakkak...
pdnsd Nedir?
Pdnsd bir çeşit DNS sorgulamaları için Proxy görevi gören bir demon dur. Gerçek bir DNS olmadığı için çok az bir yer tutar ve oldukça da az RAM harcaması yapar.
Archlinux depolarında pdnsd şu an yok, Aur'daki PKGBUILD ile paket oluşturup kurmanız lazım.
| Dosya: PKGBUILD |
# Contributor: Artem Sorokin <mail.dextor@gmail.com>
pkgname=pdnsd
pkgver=1.2.3
pkgrel=1
pkgdesc="Is a proxy DNS server with permanent caching"
url="http://www.phys.uu.nl/~rombouts/pdnsd/"
depends=('glibc')
backup=('/etc/pdnsd.conf')
source=(http://www.phys.uu.nl/~rombouts/pdnsd/releases/$pkgname-$pkgver-par.tar.gz pdnsd)
md5sums=('76f8be89e8fd0c8f08ba0d919216e475' '3670bd47c9303fbb655d9216715512de')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
mkdir -p $startdir/pkg/etc/rc.d
cp $startdir/src/pdnsd $startdir/pkg/etc/rc.d/
}
|
| Dosya: pdnsd |
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
PID=`pidof -o %PPID /usr/sbin/pdnsd`
case "$1" in
start)
stat_busy "Starting pdnsd Daemon"
if [ -z "$PID" ]; then
/usr/sbin/pdnsd -d
fi
if [ ! -z "$PID" -o $? -gt 0 ]; then
stat_fail
else
add_daemon pdnsd
stat_done
fi
;;
stop)
stat_busy "Stopping pdnsd Daemon"
[ ! -z "$PID" ] && kill -TERM $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon pdnsd
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
|
Bu iki dosya aynı dizin altında olması lazım. Ardından dizin içinde
makepkg -c
yapıp paketi oluşturuyoruz. Oluşturduktan sonra
pacman -A pdnsd-1.2.3-1.pkg.tar.gz
ile kuruyoruz.
pdnsd Ayarları
Kurulumu yaptıktan sonra yapmanız gereken fazla birşey yok. Öntanımlı olarak pdnsd.conf.sample dosyasını kullanabilirsiniz. Bunun için
cd /etc cp pdnsd.conf.sample pdnsd.conf nano -w pdnsd.conf
komutlarını verin ve dosyayı birlikte biraz düzenleyelim.
Aslında dosya içinde de fazla birşey değiştirmenize gerek yok. DNS sunucunun IP adresini ve CACHE limitini belirlemeniz yeterli. Ayarlama ile ilgili detaylı bilgileri man pdnsd.conf komutunu vererek inceleyebilirsiniz.
Benim şuanda kullandığım ayar dosyası aynen şu şekilde:
global {
perm_cache=2048; # Cache limiti -> 2MB olarak ayarlayın.
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = 127.0.0.1; #Aynen böyle bırakın
status_ctl = on;
paranoid=on;
min_ttl=900; # Cache i her 15 dk içinde tazele.
max_ttl=604800; # Cache verilerini enaz 1 hafta saklasın.
timeout=10;
}
server {
label= "belkin";
ip = 192.168.2.1; # Türk Telekomun Dns'lerinden birini yazın,aksi takdirde bazı siteler açılmaz
proxy_only=on;
timeout=10;
uptest=if;
interface=eth0;
interval=600;
purge_cache=off;
}
Dosya içindeki diğer satırları silebilirsiniz..
Yukardaki ayarlamayı yaptıktan sonra /etc/resolv.conf dosyasını açın ve DNS sorgulamalarnın PDNSD demonu üzerinden yapılması için gerekli ayarlamları yapın. Yani sadece localhost ilavesi yapıyoruz:
#/etc/resolv.conf nameserver 127.0.0.1
Başlatma ve Test
Şimdi sadece test etmek için pdnsd demonumuzu başlatıyoruz:
pdnsd -d
Artık Pdnsd hizmet vermeye hazır. Eğer bir hata alırsanız ayar dosyanızı tekrardan gözden geçirin veya man pdnsd.conf komutunu vererek ayarlamaya çalışın.
Test etmek için
ping -c3 www.google.com
komutunu verdiğinizde size bir cevap vermesi gerekli. Eğer cevap gelirse, pdnsd rc.conf eklememiz lazım. Böylece Her açlışta çalışır
nano -w /etc/rc.conf
yazıp Daeomın kısmına, network'dan sonra pdnsd ekliyeyim, son hali şöyle:
DAEMONS=(syslog-ng !hotplug hwd !pcmcia network pdnsd netfs crond alsa dbus hal)
Pdns paketi resmi depolarda olmadığı için , paket hatalı yapılmış. Başlangıcta gerekli olan yetki alımıyor .Bu hatayı gidermek için ufar bir komut yeterli.Yoka açılışta Daemon çalışmaz.
chmod +x /etc/rc.d/pdnsd
Artık interneti hızlı bir şekilde gezmeye hazırsınız. Sayfalar sizin dns sunucunuzdan yükleneceği için arada çok büyük fark olduğunu göreceksiniz.
Dahili Bağlantılar
Konu Ile Ilgili Fikirlerinizi paylaşmak için

