Download - Seminář 10
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
•www.seznam.cz <==> 77.75.76.3.
•Jména domén umožňují lepší orientaci lidem
2
Seminář 10
2
3
Seminář 10
3
TLD (Top-Level Domain) - domény nejvyšší úrovně
Info o doméně:
domain lookup
•Vlastník
•Datum registrace
•Adresa serveru
4
Seminář 10
4
• 13 kořenových jmenných serverů
• 34 zemích světa, na více než 80 místech
• Anycast
DNS záznamyA A host addressNS Authoritative name serverCNAME Canonical nameSOA Start Of AutorityPTR Domain name PointerMX Mail exchangeTXT Text stringAAAA Ipv6 address
DNS Root servery
5
Seminář 10
5
6
Seminář 10
6
nsloookup mendelu.cznslookup -q=ns mendelu.cz
host www.mendelu.czhost (ip)host -t mx www.mendelu.cz
dig www.mendelu.czdig –x(ip)dig -t mx www.mendelu.czdig www.mendelu.cz @10.0.0.1
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ář 10OS Linux – konfigurace a spuštění serveru DNS
9
Seminář 10
9
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 <IP adresa serveru>
domain <lokální doména>
search <seznam defaultních domén >
Seminář 10OS Linux – konfigurace klienta DNS
Seminář 10named.conf
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í 127.0.0.1; 172.16.10.0/24; }; allow-transfer { none; };// předávání informací};
Seminář 10
12
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";};
Seminář 10Sekuná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; };
};
13
14
Seminář 10
14
$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.5ns1 IN A 172.16.10.2ns2 IN A 172.16.10.3www IN CNAME example.cz.subdomena1 IN A 172.16.10.6subdomena2 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
{
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";
};
};
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";
};
};
Master Slave
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; };};
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.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; };
};
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.
11 IN PTR pc1.pokus.local.
12 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.