220 likes | 320 Views
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.
E N D
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
Seminář 10 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
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
Seminář 10 5 5
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
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
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)
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 $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.
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"; 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í 127.0.0.1; 172.16.10.0/24; }; allow-transfer { none; }; // předávání informací }; 11
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 { type master; file "db.10.16.172.in-addr.arpa"; }; 12
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 { type slave; file "db.10.16.172.in-addr.arpa"; masters { 172.16.10.2; }; };
Seminář 10 db.example.cz $TTL 3h ; default expirationtime @ IN SOA ns1.example.cz. spravce.example.cz. ( 20120820 ; serial 4h ; slaverefresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum cachingtime @ 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 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 { type master; file "db.10.16.172.in-addr.arpa"; };
Konfigurační soubor named.conf • 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";
Slave Master listen-on { 127.0.0.1; 172.16.202.2; }; forwarders { }; allow-query { 127.0.0.1; 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"; }; }; • listen-on • { • 127.0.0.1; • 172.16.200.2; }; • forwarders { }; • allow-query { • 127.0.0.1; • 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 • zone "pokus.local" IN { • type master; • file "db.pokus.local"; • allow-update {any; }; • allow-transfer {any; };}; • zone "100.16.172.in-addr.arpa" IN { • type master; • file "db.100.rev"; • allow-update {any; }; • allow-transfer {any; };}; • zone "200.16.172.in-addr.arpa" IN { • type master; • file "db.200.rev"; • allow-update {any; }; • allow-transfer {any; };}; zone "202.16.172.in-addr.arpa" IN { type master; file "db.202.rev"; allow-update {any; }; allow-transfer {any; };};
Slave • zone "pokus.local" IN { • type slave; • file "db.pokus.local"; • masters { 172.16.200.2; }; • }; • zone "100.16.172.in-addr.arpa" IN { • type slave; • file "db.100.rev"; • masters { 172.16.200.2; }; • }; • zone "200.16.172.in-addr.arpa" IN { • type slave; • file "db.200.rev"; • masters { 172.16.200.2; }; • }; • zone "202.16.172.in-addr.arpa" IN { • type slave; • file "db.202.rev"; • masters { 172.16.200.2; }; • };
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. 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.