BIND9 (DNS Server) Chatchai J...

24
Linux Server Admin BIND9 (DNS Server) Chatchai J 2013-11-15 (updated from 2012-11-26)

Transcript of BIND9 (DNS Server) Chatchai J...

Linux Server Admin

BIND9 (DNS Server)

Chatchai J2013-11-15

(updated from 2012-11-26)

DNS Server

● DNS Server บน Debian มมีหลายตตัว– DNSmasq สสาหรตับ quick deployment

● ใชช้งง่าย, สะดวก, เรร็ว– powerDNS

● เปร็นทมีที่นนิยม … แตง่ผมยตังไมง่เคยใชช้ … ขอไมง่พพูดถถึง

– bind9 ของ ISC

● เปร็นหนถึที่งใน “เสาหลตัก” ของ internet

● ใชช้งานมานานมาก และ site สง่วนใหญง่จะใชช้ bind สสาหรตับ DNS

BIND9

● Bind – version 9

● Configuration คง่อนขช้างซตับซช้อน● มมีหลายองคค์ประกอบ● มมีหนตังสสือหลายเลง่ม ทมีที่เขมียนเกมีที่ยวกตับ การใชช้งาน BIND

สสาหรตับ DNS โดยเฉพาะe.g. http://shop.oreilly.com/product/9780596100575.do

● ในทมีที่นมีนี้จะพพูดเฉพาะ เทง่าทมีที่จสาเปร็น

ตนิดตตันี้ง● Install package

$ sudo apt­get install bind9 bind9utils bind9­host

● configuration– config files /etc/bind

– zone files /var/cache/bind

● ทดสอบ$ sudo rndc status

rndc

● “remote” name daemon control

$ sudo service bind9 restart$ sudo rndc reload

$ sudo rndc refresh

– แตง่ควรใชช้งานบน localhost ของ DNS Server (การรตับสง่ง key

จะไมง่ encrypt? – ไมง่แนง่ใจ)

– server คสือตตัว named เองแตง่ run ทมีที่ port 953 (default)

– port 53 สสาหรตับการใหช้บรนิการขช้อมพูล

config file หลตัก (debian)

● /etc/bind/named.conf

– options – สสาหรตับควบคคุม named server

– local – สสาหรตับ zone file ของเรา– defaults-zones สสาหรตับ predefined zone และ root

● ไมง่จสาเปร็นจะตช้องไปแกช้ไข

include "/etc/bind/named.conf.options";include "/etc/bind/named.conf.local";include "/etc/bind/named.conf.default­zones";

Two Roles of Name Server

● ดพู http://www.cert.org/archive/pdf/dns.pdf – note-to-self

● Role: Resolving Name Server, Advertising Name Server● Cache Server (Resolving Name Server)

– ไมง่มมีขช้อมพูล zone ของตตัวเอง– ทสาหนช้าทมีที่ resolve address ใหช้กตับ client

● Authoriative Server (Advertising Name Server)– Primary & Secondary DNS

● เปร็น เจช้าของ ของขช้อมพูลนตันี้น

DNS Cache Server

● บรรทตัด nameserver ใน /etc/resolv.conf

– ตอบคสาถามแกง่ client วง่า name หรสือ address นตันี้นมมี ip address หรสือ ชสืที่อ hostname เปร็นอะไร

– โดยทตัที่วไป จะ recursive lookup จนกระทตัที่งไดช้คสาตอบ แลช้วสง่งกลตับใหช้ client

Primary/Secondary DNS

● เจช้าของขช้อมพูล– มมี zone files ของตตัวเอง– ใชช้ขช้อมพูลใน zone file สสาหรตับตอบ query ทมีที่รตับมา– โดยทตัที่วไปจะรตับ query request จาก DNS Cache Server อมีกทมีนถึง

● Primary Server– Authorized zone files

● Secondary Server

– เอาขช้อมพูล zone มาจาก primary อมีกทมี– เปร็น backup server

Dual Roles

● ใชช้ DNS Server ทสาหนช้าทมีที่ทตันี้ง Cache Server และ Authoriative Server ไดช้ใหม?

– CoE dept. ใชช้อยง่พู● ninedots.coe.psu.ac.th (primary for coe.psu.ac.th)● fivedots.coe.psu.ac.th (secondary for coe.psu.ac.th)

● ทตันี้งสองตตัวเปร็น DNS Cache Server สสาหรตับ 172.30.0.0/16, 172.31.0.0/16

● แตง่ไมง่ควรทสา● ดพูคสาแนะนสาจาก

http://www.intodns.com/

http://www.dnsinspect.com/

DNS Cache Config

● ใชช้งานสสาหรตับเปร็น Cache Server อยง่างเดมียว– เพนิที่มใน /etc/bind/named.conf.options

allow­query { any; }; # default

● หรสือallow­query { 172.30.0.0/16; }; # limit access to CoE dept.

– ใน options { … }; สสาหรตับระบคุวง่า client ใดๆบช้างทมีที่สามารถ query ไดช้– ดพูเรสืที่อง ACL ของ bind9 จาก

http://www.zytrax.com/books/dns/ch7/acl.html

DNS Cache Config (ตง่อ)

● สสาหรตับ DNS Server ภายใน PSU Network จะตช้องสง่ง query ใหช้กตับ {ns,ns2}.psu.ac.th

– firewall ของ PSU CC filter เอาไวช้ (เพสืที่อแกช้ปตัญหา malware)

– จะตช้องเพนิที่มforward only;

forwaders { 192.100.77.2; 192.100.77.5; };

– ใน options { … };

Primary DNS Config

● เพนิที่ม zone config ใน/etc/bind/named.conf.local

– เชง่น สสาหรตับ domain lsa56.org

type → master/slave/hints/forward

file → path relative กตับ “directory” ใน options

(default คสือ /var/cache/bind)

zone "lsa56.org" {        type master;        file "master/lsa56.org";};

Zone file

● ต.ย. zone สสาหรตับ lsa56.org อยง่พูใน /var/cache/bind/master/lsa56.org

$ORIGIN .$TTL 14400      ; 4 hourslsa56.org IN SOA ns.lsa56.org. root.lsa56.org. (                                2013111501 ; serial                                14400      ; refresh (4 hours)                                3600       ; retry (1 hour)                                2419200    ; expire (4 weeks)                                14400      ; minimum (4 hours)                                )                        NS      ns.lsa56.org.                        MX      10 mx.lsa56.org.$ORIGIN lsa56.org.ns                      A       192.100.77.175mx                      A       192.100.77.175

Zone file (cont)

● SOA RR (Resource Record)– name ttl class rr name-server email-addr (sn ref ret ex min)

lsa56.org IN SOA ns.lsa56.org. root.lsa56.org.

● name – lsa56.org ($ORIGIN .)

● ttl – ใชช้ $TTL ทมีที่กสาหนดไวช้● class – IN (internet ไมง่ตช้องเปลมีที่ยน)

● rr – SOA ระบคุ type ของ record นมีนี้● name-server – ns.lsa56.org

● email-addr – [email protected] (เปลมีที่ยน @ เปร็น .)

Zone file (cont)

● (serial refresh retry expire minimum)(     2013111501 ; serial

      14400      ; refresh (4 hours)

      3600       ; retry (1 hour)

      2419200    ; expire (4 weeks)

      14400      ; minimum (4 hours)

)

Zone file (cont)

● Other resource records

                        NS      ns.lsa56.org.                        MX      10 mx.lsa56.org.$ORIGIN lsa56.org.ns                      A       192.100.77.175mx                      A       192.100.77.175

ทดสอบ$ sudo service named restart

$ grep named /var/log/syslog

● ถช้าไมง่มมี error กร็ทดสอบ query ไดช้$ host ns.cheshirecat2012.net localhost

เพนิที่ม resource record ชนนิดอสืที่น● TXT – description● AAAA – IPv6 Address

$ORIGIN lsa56.org.

    60 IN TXT “v=spf1 a a:smtp.lsa56.org ~all”

www 60 IN AAAA 2001:db8:9009::1

smtp 60 IN A 1.2.3.4

Reverse Map Address

● ภาพจาก http://www.zytrax.com/books/dns/ch3/

Reverse Map Address

● ใชช้แปลงจาก address เปร็น name

● domain ใชช้ “in-addr.arpa”

● Reverse for 172.30.0.0/24● zone file name “0.30.172.in-addr.arpa”● Reverse for 172.30/16● Zone file name “30.172.in-addr.arpa”

Reverse Zone File

● ขช้อมพูลใน Zone File

– SOA เหมสือนเดนิม– ใชช้ PTR Record สสาหรตับระบคุ address

; for zone 30.172.in­addr.arpa5.0 IN PTR fivedots.coe.psu.ac.th.

9.0 IN PTR ninedots.coe.psu.ac.th.; for zone 0.30.172.in­addr.arpa5            IN PTR  fivedots.coe.psu.ac.th.9            IN PTR  ninedots.coe.psu.ac.th.

Reverse query

$ host fivedots.coe.psu.ac.th$ host 172.30.0.5

ยตังไมง่จบ● ตง่อ #2 สตัปดาหค์หนช้า