DNS (Domain Name System) Seminář 10 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 www.seznam.cz <==> 77.75.76.3. Jména domén umožňují lepší orientaci lidem 1 1 1 1
Seminář 10 2 2 2 2
Seminář 10 TLD (Top-Level Domain) - domény nejvyšší úrovně Info o doméně: domain lookup Vlastník Datum registrace Adresa serveru 3 3 3 3
Seminář 10 DNS Root servery 13 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 4 4 4 4
Seminář 10 5 5 5 5
Dotazování DNS – utility nslookup, host, dig Seminář 10 Dotazování DNS – utility nslookup, host, dig nsloookup mendelu.cz nslookup -q=ns mendelu.cz host www.mendelu.cz host (ip) host -t mx www.mendelu.cz dig www.mendelu.cz dig –x(ip) dig -t mx www.mendelu.cz dig www.mendelu.cz @10.0.0.1 6 6 6 6
OS Linux – konfigurace sítě a DNS Seminář 10 OS Linux – konfigurace sítě a DNS /etc/sysconfig/network-scripts/ifcf-eth0 /etc/hosts /etc/resolv.conf /var/etc/named.conf /var/named/db.* 7 7 7 7
OS Linux – konfigurace a spuštění serveru DNS Seminář 10 OS Linux – konfigurace a spuštění serveru 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)
Kontrola konfigurace a spuštění Seminář 10 Kontrola konfigurace a spuštění 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 9 9 9 9 $TTL 3h ; default expiration time @ IN SOA ns1.example.cz. spravce.example.cz. ( 20120820 ; serial 4h ; slave refresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum caching time when lookups fail ; @ IN NS ns1.example.cz. @ IN NS ns2.example.cz. example.cz. IN MX 10 mujmailserver1.cz. example.cz. IN MX 20 mujmailserver2.cz. example.cz. IN A 1.2.3.5 ns1 IN A 1.2.3.4 ns2 IN A 1.2.3.3 www IN CNAME example.cz. subdomena1 IN A 1.2.3.4 subdomena2 IN CNAME example.cz.
OS Linux – konfigurace klienta DNS Seminář 10 OS Linux – konfigurace klienta DNS Konfigurační soubor /etc/resolv.conf Staticky (editací) Dynamicky (automaticky z DHCP serveru) Obsah: nameserver <IP adresa serveru> domain <lokální doména> search <seznam defaultních domén >
Seminář 10 named.conf options { directory "/var/named"; 11 options { directory "/var/named"; Listen-on { // adresy, na kterých naslouchá 127.0.0.1; 172.16.10.2; }; Forwarders { // adresy dotazovaných DNS 172.16.10.254; Allow-query { // adresy, které se dotazují 172.16.10.0/24; allow-transfer { none; }; // předávání informací 11 11
Primární DNS server - named.conf Seminář 10 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 "10.16.172.in-addr.arpa" IN { file "db.10.16.172.in-addr.arpa"; 12 12 12
Sekunární DNS server - named.conf Seminář 10 Sekunární DNS server - named.conf zone "example.cz" { type slave; file „db.example.cz"; masters { 172.16.10.2; }; }; zone "10.16.172.in-addr.arpa" IN { file "db.10.16.172.in-addr.arpa";
Seminář 10 db.example.cz logging { channel log { $TTL 3h ; default expiration time @ IN SOA ns1.example.cz. spravce.example.cz. ( 20120820 ; serial 4h ; slave refresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum caching time @ IN NS ns1.example.cz. @ IN NS ns2.example.cz. example.cz. IN MX 10 mujmailserver1.cz. example.cz. IN MX 20 mujmailserver2.cz. example.cz. IN A 172.16.10.5 ns1 IN A 172.16.10.2 ns2 IN A 172.16.10.3 www IN CNAME example.cz. subdomena1 IN A 172.16.10.6 subdomena2 IN CNAME example.cz. 14 14 14 14 logging { channel log { file "/var/log/named.log"; }; zone "example.cz" IN { type master; file "db.example.cz"; zone "10.16.172.in-addr.arpa" IN { file "db.10.16.172.in-addr.arpa";
Úkol
Konfigurační soubor named.conf options { // Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 // 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";
listen-on { 127.0.0.1; 172.16.200.2; }; forwarders { }; allow-query { 172.16.100.0/24; 172.16.200.0/24; 172.16.202.0/24; }; allow-transfer {any;}; logging channel log { file "/var/log/named.log"; Master listen-on { 127.0.0.1; 172.16.202.2; }; forwarders { }; allow-query { 172.16.100.0/24; 172.16.200.0/24; 172.16.202.0/24; }; allow-transfer {any;}; logging channel log { file "/var/log/named.log"; Slave
zone "pokus. local" IN { type master; file "db. pokus zone "pokus.local" IN { type master; file "db.pokus.local"; allow-update {any; }; allow-transfer {any; };}; zone "100.16.172.in-addr.arpa" IN { file "db.100.rev"; zone "200.16.172.in-addr.arpa" IN { file "db.200.rev"; Master zone "202.16.172.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 zone "pokus.local" IN { type slave; file "db.pokus.local"; masters { 172.16.200.2; }; }; zone "100.16.172.in-addr.arpa" IN { file "db.100.rev"; zone "200.16.172.in-addr.arpa" IN { file "db.200.rev"; zone "202.16.172.in-addr.arpa" IN { file "db.202.rev"; Slave
Přímý zónový soubor $TTL 86400 $ORIGIN pokus.local. @ IN SOA pokus.local. root.pokus.local.(11120101 ;serial 1H ; refresh 5M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns @ IN NS ns2 @ IN MX 10 mail ns IN A 172.16.200.2 ns1 IN CNAME ns ns2 IN A 172.16.202.2 www IN CNAME ns2 mail IN CNAME ns2 pc1 IN A 172.16.100.11 pc2 IN A 172.16.100.12
Zónové soubory reverzní $TTL 86400 $ORIGIN 100.16.172.in-addr.arpa. @ IN SOA pokus.local. root.pokus.local. ( 11120101 ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns.pokus.local. @ IN NS ns2.pokus.local. IN PTR pc1.pokus.local. IN PTR pc2.pokus.local.
$TTL 86400$ORIGIN 200. 16. 172. in-addr. arpa. @ IN SOA pokus. local $TTL 86400$ORIGIN 200.16.172.in-addr.arpa.@ IN SOA pokus.local. root.pokus.local. ( 11120101 ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns.pokus.local. @ IN NS ns2.pokus.local. 2 IN PTR ns.pokus.local. $TTL 86400$ORIGIN 202.16.172.in-addr.arpa.@ IN SOA pokus.local. root.pokus.local. ( 11120101 ; serial(yymmddxx) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns.pokus.local. @ IN NS ns2.pokus.local. 2 IN PTR ns2.pokus.local.