Ch07 bind9-part2

29
Linux Server Admin BIND9 (DNS Server) #2 Chatchai J 2012-11-28, 2012-12-03

Transcript of Ch07 bind9-part2

Page 1: Ch07 bind9-part2

Linux Server Admin

BIND9 (DNS Server) #2

Chatchai J2012-11-28, 2012-12-03

Page 2: Ch07 bind9-part2

DNS Server Experiment

● ทดสอบ domain จรง– resolve จาก 8.8.8.8, 8.8.4.4 Google Public DNS

– ทดสอบจาก http://www.kloth.net/services/nslookup.php

http://bwachter.lart.info/tools/dig

http://dig.menandmice.com/http://www.cman.jp/network/support/nslookup.html

http://www.geektools.com/digtool.php

● การ update ขอมลแบบ dynamic

Page 3: Ch07 bind9-part2

Zone config ใน named.conf.local

● สราง zone ใน /etc/bind/named.conf.local

zone "cheshirecat2012.net" {        type master;        file "master/cheshirecat2012.net";};

Page 4: Ch07 bind9-part2

Zone file data

● ไฟล /var/cache/bind/master/$YOURDOMAIN

/var/cache/bind/master/cheshirecat2012.net

$ORIGIN .$TTL 40 

cheshirecat2012.net IN SOA ns.cheshirecat2012.net. root.cheshirecat2012.net. (                                2012112705 ; serial                                40         ; refresh (4 hours)                                10         ; retry (1 hour)                                120        ; expire (4 weeks)                                40         ; minimum (4 hours)                                )

                        NS      lsa­svr.coe.psu.ac.th. ;; For forwarding                        MX      10 mx.cheshirecat2012.net.

$ORIGIN cheshirecat2012.net.@ A 192.100.77.175ns           A   192.100.77.175mx           A   192.100.77.175www A 192.100.77.175

Page 5: Ch07 bind9-part2

Example zone file

● download file จาก http://fivedots.coe.psu.ac.th/~cj/LSA/cheshirecat2012.net● หรอ ใชคำาสงน

$ wget ­q ­O­ http://fivedots.coe.psu.ac.th/~cj/LSA/cheshirecat2012.net |\

  sed ­e 's/cheshirecat2012.net/$YOURDOMAIN/g' > $YOURDOMAIN

● เปลยน $YOURDOMAIN เปนชอ domain ของคณเองสมมตวาเปน wilar.org

$ wget ­q ­O­ http://fivedots.coe.psu.ac.th/~cj/LSA/cheshirecat2012.net |\       sed ­e 's/cheshirecat2012.net/wilar.org/g' > wilar.org

Page 6: Ch07 bind9-part2

start bind9 / reload data

$ sudo service bind9 start

– ถามน stop อย$ sudo rndc reload

– ถามนทำางานอยแลว– ควรจะไดขอความวา “server reload successful”

$ grep named /var/log/syslog

– ตรวจสอบ error อกครง$ dig @localhost $YOURDOMAIN | egrep -v '^;|^$'

– ควรจะได ip address เปน 192.100.77.175

Page 7: Ch07 bind9-part2

ตรวจสอบการ query

● DNS Server มปญหาในเรองการถกโจมตอยมาก – ควรจะมการตรวจสอบการ query

● ทำาไดดวยการ เพม option logging ใน named.conf.options

Page 8: Ch07 bind9-part2

query logging option

● สราง directory ใน /var/log ชอ named และกำาหนดให bind เปน owner ของ directory นน

$ sudo mkdir /var/log/named

$ sudo chown bind:bind /var/log/named

● เพม logging option ในไฟล /etc/bind/named.conf.options

Page 9: Ch07 bind9-part2

query logging option (cont)

logging {channel query_logging {

file "/var/log/named/query.log";print­time yes;

};category queries { query_logging; };

};

● เพม /etc/bind/named.conf.options

● ใชคำาสง $ sudo rndc reload

● ควรจะได “server reload successful”

Page 10: Ch07 bind9-part2

ทดสอบ query logging

● ใช tmux เพอ monitor ผลลพธ$ tail -f /var/log/named/query.log

● จากอก terminal หนง (CTRL+B, C)

$ dig @localhost $MYDOMAIN | egrep -v '^;|^$'

$ host www.$MYDOMAIN localhost

● ด log ทเกดขนใน query.log

Page 11: Ch07 bind9-part2

ทดสอบจาก ภายนอก● กรอกขอมล domain และ IP address ของ Linux VM ท http://bit.ly/Ubki56 

(2012­12­03 – IP Address ไมจำาเปน/auto detect)● รอใหผม ใชขอมล setup forward DNS query ใหเสรจ (ระบบอตโนมต ยงไมเสรจ) (2012­12­03 – เสรจแลว)

● ทดสอบ query ขอมลจาก lsa­svr.coe.psu.ac.th● ทดสอบ query โดยใช services จากภายนอก (โดยเลอกใช google public DNS)

Page 12: Ch07 bind9-part2

ทดสอบ (ตอ)

$ dig @lsa­svr.coe.psu.ac.th $MYDOMAIN

$ dig @lsa­svr.coe.psu.ac.th www.$MYDOMAIN

● ดขอมลใน query.log ควรทจะม query record ทมาจาก ip

172.30.0.85

● ถาไมมแสดงวา ip ทกรอกไวอาจจะไมถกตอง หรอ config บน lsa-svr.coe.psu.ac.th ยงไม update หรอ ยงไมถกตอง – Please ask!

Page 13: Ch07 bind9-part2

ทดสอบ (ตอ)

● จะตองกำาหนดท ผใหบรการ ทเราไปจดโดเมน วา name server คอ lsa-svr.coe.psu.ac.th

● โดยทวไปแลวจะม 2 Server กำาหนดแคอนเดยวกพอ● ไมสามารถกำาหนดเปน IP Address ได จะตองระบเปนชอ● lsa-svr.coe.psu.ac.th จะ forward request ไปให VM

ท setup เอาไวโดยอตโนมตถา zone file ของ domain นนกำาหนดให NS เปน lsa-svr.coe.psu.ac.th

(ใชไดเฉพาะ ภายในเครอขายของ CoE' Net)

Page 14: Ch07 bind9-part2

hostinglotus

http://www.hostinglotus.com/hosting/clientarea.php?action=domaindetails&id=XXXX%27

Page 15: Ch07 bind9-part2

dotsiam

http://cp.dotsiam.net/servlet/ViewDomainServlet?orderid=xxxxxxxx#domorder

Page 16: Ch07 bind9-part2

ทดสอบ (ตอ)

● ทดสอบจาก http://www.kloth.net/services/nslookup.php(หรอ URL อนๆ ด list จาก slide page 2)

nslookupDomain: $YOURDOMAINServer: 8.8.8.8Query: A(IPv4 Address)

● ดขอมลใน query.log ควรทจะม query record ทมาจาก ip 172.30.0.85

● ถาไมมแสดงวา ip ทกรอกไวอาจจะไมถกตอง หรอ config บน lsa-svr.coe.psu.ac.th ยงไม update

● ทดลองเปลยน 8.8.8.8 เปน lsa-svr.coe.psu.ac.th ถายงมปญหา

Page 17: Ch07 bind9-part2

Dynamic Update RR

● ปกต server จะใช static address ไมไดรบ ip จาก dhcp server

● แตในบางกรณ เชน Home Network ใช ADSL

● IP จะ dynamic allocate ทกครงทเชอมตอ● เราสามารถ แกไข IP แบบอตโนมตไดดวย

nsupdate (คำาสงใน package dnsutils)

Page 18: Ch07 bind9-part2

ขอควรคำานง● Manual Modified Zone กบ Dynamic Update

Zone อยรวมกน ไมคอยดเทาไหร● ควรแยก Zone ตางหาก● ในทนใหใช sub domain

Page 19: Ch07 bind9-part2

Sub domain

● ใช “dyn.$MYDOMAIN” (dynamic address sub

domain)– Sub domain: dyn.cheshirecat2012.net

– เพม Zone file for sub domain

– เพม “allow-update” config

Page 20: Ch07 bind9-part2

Sub domain (cont)

● เพม “dyn” sub domain

● เพม zone file

/var/cache/bind/master/dyn.$YOURDOMAIN

zone "dyn.cheshirecat2012.net" {        type master;        file "master/dyn.cheshirecat2012.net";

allow­update { 127.0.0.1; };};

Page 21: Ch07 bind9-part2

Sub domain (cont)

$ORIGIN dyn.cheshirecat2012.net.$TTL 40 

@ IN SOA ns.cheshirecat2012.net. root.cheshirecat2012.net. (                                1          ; serial                                40         ; refresh (4 hours)                                10         ; retry (1 hour)                                120        ; expire (4 weeks)                                40         ; minimum (4 hours)                                )

@                       NS      lsa­svr.coe.psu.ac.th. ;; For forwardingwww         30 IN       A       192.100.77.175

● Zone file for dyn subdomain

Page 22: Ch07 bind9-part2

Sub domain (cont)

● Zone file ของ domain หลก (cheshirecat2012.net) จะตองระบ NS ของ subdomain (dyn.cheshirecat2012.net)

ซงในทนคอ server ตวเดยวกน$ORIGIN cheshirecat2012.net.@ A 192.100.77.175ns           A   192.100.77.175mx           A   192.100.77.175www A 192.100.77.175dyn    IN NS lsa­svr.coe.psu.ac.th.dyn    IN NS 172.30.XX.XXX

Page 23: Ch07 bind9-part2

การใช nsupdate

● nsupdate ใน dnsutils สำาหรบ update dns แบบ dynamic

● เครองหมาย “>” คอ prompt ของ nsupdate

$ nsupdate> zone dyn.cheshirecat2012.net.> server 127.0.0.1> update add test.dyn.cheshirecat2012.net. 30 A 1.2.3.4> show > send> answer> quit$ host test.dyn.cheshirecat2012.net localhost

Page 24: Ch07 bind9-part2

การใช nsupdate (cont)

● คำาสงของ nsupdate สำาหรบการเปลยนแปลง IP

address

update delete

update add

● ถาม address อยใน zone แลวจะตอง delete กอน แลวคอย add เพอเพมเขาไปใหม

● การระบ delete ไมจำาเปนจะตองร ip address เดม

Page 25: Ch07 bind9-part2

การใช nsupdate (cont)

$ nsupdate> server 127.0.0.1> zone dyn.cheshirecat2012.net.> update delete test.dyn.cheshirecat2012.net. IN A> send> quit

Page 26: Ch07 bind9-part2

การใช nsupdate (cont)

● ใน zone directory จะมไฟล .jnl เพมขนมา● ขอมลทเพง update จะอยใน .jnl (journal) ไฟล● ถาตองการแกไขไฟลแบบ manual

จะตอง freeze การ update แบบ dynamic กอน$ sudo rndc freeze $YOURDOMAIN

● แลวแกไข zone file หลงจากนน ใหใช thaw

สำาหรบการใชงานตอตามปกต$ sudo rndc thaw $YOURDOMAIKN

Page 27: Ch07 bind9-part2

การใช nsupdate (cont)

● การ update สามารถ update จาก server อนๆได● แตถาจะทำา ควรทจะกำาหนดใหใช public key ในการอนญาต ใหเขาถงและแกไขขอมลใน zone ได

● เนองจาก คอนขางซบซอน จะไมพดถงในทน

Page 28: Ch07 bind9-part2

เรองอนๆ (not cover here)

● Secondary DNS

– กำาหนด zone ทม type เปน slave

– ระบตำาแหนงไฟล ทจะเกบ zone data

– ระบ master ip address (Primary DNS Server)

– บน Primary DNS ระบ Allow transfer, Allow

Page 29: Ch07 bind9-part2

DNS Server

จบเพยงเทาน สำาหรบตอนนจะกลาวถงอกท

ตอน setup Mail SMTP Server