Aktualizováno dne 11. března 2011 - Scribus – vložení tabulky z Writeru

Linux v praxi

Různé drobnosti


Chcete zkrátit dobu čekání na DNS server?

spusťte si vlastní kešovací proxy DNS server

Mám sice velmi rychlé připojení, ale když jsem do adresního řádku zadal WWW adresu, chvíli trvalo, než se mi ve stavové liště ukázala informace, že server byl kontaktován. Řešením je dotazovat se na IP adresu svého počítače. Skvělou možností je využít pdnsd. Jak se na jejich stránkách dočtete, pdnsd is a proxy DNS server with permanent caching – přesně to, co potřebujeme ;-)

Kromě samotného programu se bude hodit spouštěcí skript. V Archu, který používám, tento skript napsal autor PKGBUILDu. Vypadá takto (zvýrazněný řádek jsem si doplnil sám, na konci vysvětlím):

#!/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"
    cp -r /etc/resolv.pdnsd /etc/resolv.conf
    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

Další potřebnou věcí je konfigurace. V adresáři /etc najdete soubor pdnsd.conf.sample, uděláte z něj kopii pdnsd.conf. V něm nemusíte téměř nic měnit. Jediné důležité jsou údaje o použitém síťovém rozhraní a DNS serveru vašeho providera. Blok, který se toho týká, vypadá takto:

  # The following section is most appropriate for fixed connections to the Internet.
server {
	label= "myisp";
	ip = 1.2.3.4;  # Put your ISP's DNS-server address(es) here.
	proxy_only=on;     # Do not query any name servers beside your ISP's.
	timeout=4;         # Server timeout; this may be much shorter
			   # that the global timeout option.
	uptest=if;
	interface=eth0;
	interval=10m;      # Check every 10 minutes.
	purge_cache=off;   # Keep stale cache entries in case the ISP's
			   # DNS servers go offline.
}

Jak vidíte, vše je bohatě komentováno, jedná se tedy o řádky ip a interface. Dialupisté si musejí odkomentovat a použít další blok v uvedeném souboru.

Poslední podstatná záležitost je úprava souboru /etc/resolv.conf tak, aby používal váš server, takže asi takto:

nameserver 127.0.0.1
search vase.domena.cz

Teď k tomu zvýrazněnému řádku ve skriptu: DHCP mi soubor /etc/resolv.conf přepisuje, takže to řeším tak, že si ho zase přepíšu svým souborem, který mám uložen jako resolv.pdnsd.

Používáte browser CCBot/2.0 (http://commoncrawl.org/faq/)