101105
Ny kurs
Kapitel 3
Förmiddag
Bind
    körs oftast med chroot.
    körs ofta med /var/bind/ som / vilket gör det lite klurigt.
    jobbar över både TCP och UDP
       TCP
       UDP
DNS
    Är duktigt på att hantera frågor i led, dvs, kan inte steg 1 svaret frågar den steg 2 osv.
    Är egentligen en distribuerad databas.
    klient/server
    Hierarkiska namn
       .se toppdomän
       dn.se är subdomän 1
       mobil.dn.se subdomän 2
    BIND
       Berkeley Internet Nameservice Daemon
       Det är det absolut vanligaste verktyget för DNS
          Samtliga kommersiella unixar har det
          Även pyttemjuk kör det även om de har lagt till saker under 20 år
       Det finns många problem med BIND, framför allt säkerhetshål.
    djbdns
       Daniel J Bernstein DNS
       nr 2 enligt Rolle
       skapad för säkerhet
    maraDNS
       nr 3 enligt Rolle
    PowerDNS
    NSD
    Unbound
    dnsmasq
       Rolles favorit
       Från början menad att bara vara enbart en cache-server skapad för att svara på lite halvt onödiga requests
The Domain Name Space
    The nameless root "."
       Top Level Domains
          Second Level Domains
    Hosts are organized into domains
       Logical relationship dependant of physical location or network adress
    Host name/domain/FQDN
       Fully qualified Domain name
    Stores more than just host names to IP mappings
Delegation and Zones
    Decentralized administration through delegation
    Domains vs zones
       Domains define logical groupings of hosts
       Zones containt the same information as the corresponding domaine name except for delegated subdomains
    A DNS server is authorative for domains delegated to it
       Delegations are defined via the DNS tree
Server Roles
    Types of name servers
       En server kan ha flera roller samtidigt.
       Authorative servers
          Primary masters (masters)
          Secondary masers (slaves)
             Märker ändringar genom att man ökar ett värde till ett högre värde.
       Caching only
    Zone transfers keep slaves in sync with masters
    A DNS server can be authoritative for many different domains
    Limited only by resources (CPU, Memory, Bandwidth, etc)
    A single name server can serve different roles.
Resolving Names
    Mapping Name to IP adress
       Recursion (recursive resolution)
          Frågar servern, om den inte vet frågar den servern nästa server osv tills den hittar.
       Iteration (iterative resolution)
          Frågar namnserver efter namnserver från din egen server.s
    Mapping OP address to Name
    Caching
       DNS record TTL trade-off
          Time To Live
Resolving IP Addresses
    Why Resolve IP adresses?
       Authorization based on hostname or domainname
       Analazying log files
          Kan vara vettigt att kolla för att se vilka som kollar ens sida och sånt.
    Sorting nodes by their IP Adresses
       in-addr.arpa. subdomain
       provides for logical delegation on class boundaries
BIND Administration
    BIND is a suite of programs
       named is the DNS server daemon
    System V init script
        Ensuring startup in the proper run levels
        Calling manually - start/stop/restart/reload/status
    Managing the named process via rndc
       # rndc reload zone
    Monitor /var/log/messages for additional messages during administration
    SELnux - named_selinux(8)
Configuring the Resolver
    Client needs the IP address of at least one name and ptionally one or more search suffices
    /etc/resolv.conf
       search domain.tld
          till för att om man skriver in en ofullständig adress
       nameserver w.x.y.z
    Static vs. DHCP configuration
Testing Resolution
    ping
       kan användas för att se om det fungerar
    telnet
       märkligt verktyg att använda för syfte
    host
       lite grundläggande
    dig
       lite mer djuploande
    Querying a specific server
    nslookup
       Interactive vs command line
BIND configuration files
    Bind 4
       /etc/named.conf
          Den behöver inte ligga här, om man kör chroot ska den inte göra det utan någonstans under /var/lib/
    BIND 8 and 9
       Den behöver inte ligga här, om man kör chroot ska den inte göra det.
       /etc/named.conf
    Conversion Scripts
named.conf Syntax
    Typical statements
       options
          define global options that apply to all zones
       zone
          define waht zones to load and role of server
    varje DNS måste ha minst en zon
    Zon-specifika saker behöver inte vara överens med det övriga.
named.conf Options BLock
    Global Configuration
       Inside of the options {}; block
          {}; var på mode under slutet av 90-talet
       There are over 60 directives that can be used
    Security and access control
       man kan konfigurerar vem som får:
           query control
             ställa frågor
           zone transfer
             flytta zoner
missade en sida
mdc Key Configuration
    Bind 8
       ndc
    Bind 8
       rndc
    boken boksriver det tydligen bra
Zones in named.conf
    the zone statement
       defines authoriative zones
       zone configuration can override global defaults
    special zones
       the "." zones defines the root name servers
       localdomain and 0.0.127.in.addre.arpa
    Master zones
    Slave Zones
    A single BIND server can serve multiple functions
Zone Database File Syntax
    Zone File and resource records
       SOA - start of authority
          tala om vad det är zonen innehåler
       NS - name server
          vilka namnservers man har
       A - name adress mapping
       PTR - adress to name mapping
          ip till namn
       CNAME - name to name mapping
          alias
       MX - mail exchange
          viktigt att hålla tungan rätt i mun här, felkonf bryter mailen
       HTNFO, TXT, AAAA, SRV and many more...
          finns nästan oändligt många saker att lära sig,
            SRV är viktigt för arbete inom mellan microsoft och unix, framför allt vad gäller AD
SOA - Start of authority
    the STTL variable
       ställer in hur lång TTL det är
    Start of authority Resource Record - SOA
       här man definierar alla viktiga grundparameterar
          namnservers
          kontaktperson
          serienummer
             serienumret måste ändras till ett högre värde för att andra ska inse att den är uppdaterad
             Det är det enskilt vanligaste felet att glömma höja serienumret
    Man kan ange SOA i annat än sekunder
       m=minut, h=timme, d=day, w=vecka
       värden är inte shiftlägeskänsliga
A och PTR - Adress pointer records
    A records map names to IP addresses
       adress
       A single name can map to multiple IPS
    PTR
       pekare
       används ibland för ökad säkerhet
       ska peka mot ett enskilt namn
    Viktigt att läsa på ordentligt, mycket kan gå fel här.
CNAME & MX
    err?
Abbreviations and Gotchas
    $ORIGIN är till för namn som inte slutar med en punkt
$ORIGIN and $GENERATE
    $ORIGIN ca redefine $ORIGIN within the zone file
      
Fotnoter:
Det är upp till klienten, inte servern att avgöra om den faktiskt får vad den vill ha och be om en uppdatering eller inte.