1 Seminář 10 1 DNS (Domain Name System) Aplikační protokol Používá UDP i TCP Naslouchá na portu 53 hierarchický systém doménových jmen Pracuje způsobem dotaz-odpověď převody doménových jmen a IP adres Jména domén umožňují lepší orientaci lidem
2 Seminář 10 2
3 3 TLD (Top-Level Domain) - domény nejvyšší úrovně Info o doméně: domain lookup Vlastník Datum registrace Adresa serveru
4 Seminář kořenových jmenných serverů 34 zemích světa, na více než 80 místech Anycast DNS záznamy A A host address NS Authoritative name server CNAME Canonical name SOA Start Of Autority PTR Domain name Pointer MX Mail exchange TXT Text string AAAA Ipv6 address DNS Root servery
5 Seminář 10 5
6 6 nsloookup mendelu.cz nslookup -q=ns mendelu.cz host host (ip) host -t mx dig dig –x(ip) dig -t mx dig Dotazování DNS – utility nslookup, host, dig
7 Seminář 10 7 /etc/sysconfig/network-scripts/ifcf-eth0 /etc/hosts /etc/resolv.conf /var/etc/named.conf /var/named/db.* OS Linux – konfigurace sítě a DNS
Změna kořenového adresáře konfigurace v /etc/sysconfig/named: ROOTDIR=/var/named/chroot Konfigurační soubor DNS serveru: /var/named/chroot/etc/named.conf Adresář pro zónové soubory: /var/named/chroot/var/named Start DNS serveru service named start/restart/reload/stop named je spouštěcí skript (/etc/init.d/named) Seminář 10 OS Linux – konfigurace a spuštění serveru DNS
9 Seminář 10 9 $TTL 3h ; default expiration IN SOA ns1.example.cz. spravce.example.cz. ( ; serial 4h ; slave refresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum caching time when lookups fail IN NS IN NS ns2.example.cz. example.cz. IN MX 10 mujmailserver1.cz. example.cz. IN MX 20 mujmailserver2.cz. example.cz. IN A ns1 IN A ns2 IN A www IN CNAME example.cz. subdomena1 IN A subdomena2 IN CNAME example.cz. named-checkconf /var/named/chroot/etc/named.conf named-checkzone moje.cz /var/named/chroot/var/named/db.moje.cz vlastnictví user root, group named service named restart cat /var/log/messages netstat –inet -anp service iptables stop Kontrola konfigurace a spuštění
Konfigurační soubor /etc/resolv.conf Staticky (editací) Dynamicky (automaticky z DHCP serveru) Obsah: nameserver domain search Seminář 10 OS Linux – konfigurace klienta DNS
Seminář 10 named.conf 11 options { directory "/var/named"; Listen-on { // adresy, na kterých naslouchá ; ; }; Forwarders {// adresy dotazovaných DNS ; }; Allow-query {// adresy, které se dotazují ; /24; }; allow-transfer { none; };// předávání informací };
Seminář Primární DNS server - named.conf logging { channel log { file "/var/log/named.log"; }; zone "example.cz" IN { type master; file "db.example.cz"; }; zone " in-addr.arpa" IN { type master; file "db in-addr.arpa"; };
Seminář 10 Sekunární DNS server - named.conf zone "example.cz" { type slave; file „db.example.cz"; masters { ; }; }; zone " in-addr.arpa" IN { type slave; file "db in-addr.arpa"; masters { ; }; }; 13
14 Seminář logging { channel log { file "/var/log/named.log"; }; zone "example.cz" IN { type master; file "db.example.cz"; }; zone " in-addr.arpa" IN { type master; file "db in-addr.arpa"; }; $TTL 3h ; default expiration IN SOA ns1.example.cz. spravce.example.cz. ( ; serial 4h ; slave refresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum caching IN NS IN NS ns2.example.cz. example.cz. IN MX 10 mujmailserver1.cz. example.cz. IN MX 20 mujmailserver2.cz. example.cz. IN A ns1 IN A ns2 IN A www IN CNAME example.cz. subdomena1 IN A subdomena2 IN CNAME example.cz. db.example.cz
Úkol 15
options { // Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 port 53; // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; Konfigurační soubor named.conf
listen-on { ; ;}; forwarders {}; allow-query { ; /24; /24; /24; }; allow-transfer {any;}; }; logging { channel log { file "/var/log/named.log"; }; listen-on { ; ;}; forwarders {}; allow-query { ; /24; /24; /24; }; allow-transfer {any;}; }; logging { channel log { file "/var/log/named.log"; }; Master Slave
zone "pokus.local" IN { type master; file "db.pokus.local"; allow-update {any; }; allow-transfer {any; };}; zone " in-addr.arpa" IN { type master; file "db.100.rev"; allow-update {any; }; allow-transfer {any; };}; zone " in-addr.arpa" IN { type master; file "db.200.rev"; allow-update {any; }; allow-transfer {any; };}; Master zone " in-addr.arpa" IN { type master; file "db.202.rev"; allow-update {any; }; allow-transfer {any; };};
zone "pokus.local" IN { type slave; file "db.pokus.local"; masters { ; }; }; zone " in-addr.arpa" IN { type slave; file "db.100.rev"; masters { ; }; }; zone " in-addr.arpa" IN { type slave; file "db.200.rev"; masters { ; }; }; zone " in-addr.arpa" IN { type slave; file "db.202.rev"; masters { ; }; }; Slave
Přímý zónový soubor $TTL $ORIGIN IN SOA pokus.local. root.pokus.local.( ; serial 1H ; refresh 5M ; retry 1W ; expiry 1D ) @INMX10mail nsINA ns1INCNAMEns ns2INA wwwINCNAMEns2 mailINCNAMEns2 pc1INA pc2INA
Zónové soubory reverzní $TTL $ORIGIN IN SOA pokus.local. root.pokus.local. ( ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) 11 INPTR pc1.pokus.local. 12INPTR pc2.pokus.local.
$TTL 86400$ORIGIN IN SOA pokus.local. root.pokus.local. ( ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) 2INPTR ns.pokus.local. $TTL 86400$ORIGIN IN SOA pokus.local. root.pokus.local. ( ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) 2INPTR ns2.pokus.local.