Bài t p 02.1 (D ch v DNS)
Bài t p 02.2 (D ch v DNS)
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 143/271
I. Gi i thi u v DNS
M i máy tính trong m ng mu n liên l c hay trao đ i thông tin, d li u cho nhau c n ph i bi t rõ đa ch IP c a nhau. N u s l ng máy tính nhi u thì vi c nh nh ng đa ch IP này r t là khó kh n. M i máy tính ngoài đa ch IP ra còn có m t cái tên (computer name). i v i con ng i vi c nh nh ng cái tên này dù sao c ng d dàng h n vì chúng có tính tr c quan và g i nh h n đa ch IP. Vì th , ng i ta ngh ra cách làm sao ánh x đa ch IP thành tên máy tính.
Ban đ u do quy mô m ng ARPAnet (ti n thân c a m ng Internet) còn nh ch vài tr m máy, nên ch có m t t p tin đ n HOSTS.TXT l u thông tin v ánh x tên máy thành đa ch IP. Trong đó tên máy ch là 1 chu i v n b n không phân c p (flat name). T p tin này đ c duy trì t i 1 máy ch và các máy ch khác l u gi b n sao c a nó. Tuy nhiên khi quy mô m ng l n h n, vi c s d ng t p tin HOSTS.TXT có các nh c đi m nh sau:
- L u l ng m ng và máy ch duy trì t p tin HOSTS.TXT b quá t i do hi u ng “c chai”.
- Xung đ t tên: Không th có 2 máy tính có cùng tên trong t p tin HOSTS.TXT . Tuy nhiên do tên máy không phân c p và không có gì đ m b o đ ng n ch n vi c t o 2 tên trùng nhau vì không có c ch u quy n qu n lý t p tin nên có nguy c b xung đ t tên.
- Không đ m b o s toàn v n: vi c duy trì 1 t p tin trên m ng l n r t khó kh n. Ví d nh khi t p tin HOSTS.TXT v a c p nh t ch a k p chuy n đ n máy ch xa thì đã có s thay đ i đa ch trên m ng r i.
Tóm l i vi c dùng t p tin HOSTS.TXT không phù h p cho m ng l n vì thi u c ch phân tán và m r ng. Do đó, d ch v DNS ra đ i nh m kh c ph c các nh c đi m này. Ng i thi t k c u trúc c a d ch v DNS là Paul Mockapetris - USC's Information Sciences Institute, và các khuy n ngh RFC c a DNS là RFC 882 và 883, sau đó là RFC 1034 và 1035 cùng v i 1 s RFC b sung nh b o m t trên h th ng DNS, c p nh t đ ng các b n ghi DNS …
L u ý: Hi n t i trên các máy ch v n s d ng đ c t p tin hosts.txt đ phân gi i tên máy tính thành đa ch IP (Trong Linux là /etc/hosts)
D ch v DNS ho t đ ng theo mô hình Client - Server: ph n Server g i là máy ch ph c v tên nameserver, còn ph n Client là trình phân gi i tên resolver. Nameserver ch a các thông tin CSDL c a DNS, còn resolver đ n gi n ch là các hàm th vi n dùng đ t o các truy v n (query) và g i chúng qua đ n name server. DNS đ c thi hành nh m t giao th c t ng Application trong m ng TCP/IP.
DNS là 1 CSDL phân tán. i u này cho phép ng i qu n tr c c b qu n lý ph n d li u n i b thu c ph m vi c a h , đ ng th i d li u này c ng d dàng truy c p đ c trên toàn b h th ng m ng theo mô hình Client - Server. Hi u su t s d ng d ch v đ c t ng c ng thông qua c ch nhân b n (replication) và l u t m (caching). M t hostname trong domain là s k t h p gi a nh ng t phân cách nhau b i d u ch m. Ví d hostname là server.t3h.com, trong đó server là hostname và t3h.com là domain name. Domain name phân b theo c ch phân c p t ng t nh s phân c p c a h th ng t p tin Unix/Linux.
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 144/271 C s d li u(CSDL) c a DNS là m t cây đ o ng c. M i nút trên cây c ng l i là g c c a 1 cây con. M i cây con là 1 phân vùng con trong toàn b CSDL DNS g i là 1 mi n (domain). M i domain có th phân chia thành các phân vùng con nh h n g i là các mi n con (subdomain). M i domain có 1 tên (domain name). Tên domain ch ra v trí c a nó trong CSDL DNS. Trong DNS tên mi n là chu i tu n t các tên nhãn t i nút đó đi ng c lên nút g c c a cây và phân cách nhau b i d u ch m. Tên nhãn bên ph i trong m i domain name đ c g i là top-level domain. Trong ví d tr c server.t3h.com, v y com là top-level domain. B ng sau đây li t kê top-level domain.
Tên mi n Mô t .com Các t ch c, công ty th ng m i
.org Các t ch c phi l i nhu n .net Các trung tâm h tr v m ng .edu Các t ch c giáo d c
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 145/271 .gov Các t ch c thu c chính ph
.mil Các t ch c quân s
.int Các t ch c đ c thành l p b i các hi p c qu c t
Vì s quá t i c a nh ng domain name đã t n t i, do đó đã làm phát sinh nh ng top-level domain m i. B ng sau đây li t kê nh ng top-level domain m i.
Tên mi n Mô t
.arts Nh ng t ch c liên quan đ n ngh thu t và ki n trúc
.nom Nh ng đa ch cá nhân và gia đình .rec Nh ng t ch c có tính ch t gi i trí, th
thao
.firm Nh ng t ch c kinh doanh, th ng m i.
.info Nh ng d ch v liên quan đ n thông tin.
Bên c nh đó, m i n c c ng có m t top-level domain. Ví d top-leveldomain c a Vi t Nam là vn, M là us... M i n c khác nhau có c ch t ch c phân c p domain khác nhau tùy thu c vào m i n c. Ví d v t ch c domain c a Vi t Nam:
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 146/271
II. Cách phân b d li u qu n lý domain name
Nh ng root name server (.) qu n lý nh ng top-level domain trên Internet. Tên máy và đa ch IP c a nh ng name server này đ c công b cho m i ng i bi t và chúng đ c li t kê trong b ng sau. Nh ng name server này c ng có th đ t kh p n i trên th gi i.
Tên máy tính a ch IP H.ROOT-SERVERS.NET 128.63.2.53 B.ROOT-SERVERS.NET 128.9.0.107 C.ROOT-SERVERS.NET 192.33.4.12 D.ROOT-SERVERS.NET 128.8.10.90 E.ROOT-SERVERS.NET 192.203.230.10 I.ROOT-SERVERS.NET 192.36.148.17 F.ROOT-SERVERS.NET 192.5.5.241 F.ROOT-SERVERS.NET 39.13.229.241 G.ROOT-SERVERS.NET 192.112.88.4 A.ROOT-SERVERS.NET 198.41.0.4
Thông th ng m t t ch c đ c đ ng ký m t hay nhi u domain name. Sau đó, m i t ch c s cài đ t m t hay nhi u name server và duy trì c s d li u cho t t c nh ng máy tính trong domain. Nh ng name server c a t ch c đ c đ ng ký trên Internet. M t trong nh ng name server này đ c bi t nh là Primary Name Server. Nhi u Secondary Name Server đ c dùng đ làm backup cho Primary Name Server. Trong tr ng h p Primary b l i, Secondary đ c s d ng đ phân gi i tên. Primary Name Server có th t o ra nh ng subdomain và y quy n nh ng subdomain này cho nh ng Name Server khác.
III. C ch phân gi i tên
III.1. Phân gi i tên thành IP
Root name server : Là máy ch qu n lý các nameserver m c top-level domain. Khi có truy v n v m t tên mi n nào đó thì Root Name Server ph i cung c p tên và đa ch IP c a name server qu n lý top-level domain (Th c t là h u h t các root server c ng chính là máy ch qu n lý top- level domain) và đ n l t các name server c a top-level domain cung c p danh sách các name server có quy n trên các second-level domain mà tên mi n này thu c vào. C nh th đ n khi nào tìm đ c máy qu n lý tên mi n c n truy v n. Qua trên cho th y vai trò r t quan tr ng c a root name server trong quá trình phân gi i tên mi n. N u m i root name server trên m ng Internet không liên l c đ c thì m i yêu c u phân gi i đ u không th c hi n đ c. Hình v d i mô t quá trình phân gi i grigiri.gbrmpa.gov.au trên m ng Internet.
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 147/271 Client s g i yêu c u c n phân gi i đa ch IP c a máy tính có tên girigiri.gbrmpa.gov.au đ n name server c c b . Khi nh n yêu c u t resolver, Nameserver c c b s phân tích tên này và xét xem tên mi n này có do mình qu n lý hay không. N u nh tên mi n do server c c b qu n lý, nó s tr l i đa ch IP c a tên máy đó ngay cho resolver. Ng c l i, server c c b s truy v n đ n m t Root Name Server g n nh t mà nó bi t đ c. Root Name Server s tr l i đa ch IP c a Name Server qu n lý mi n au. Máy ch name server c c b l i h i ti p name server qu n lý mi n au và đ c tham chi u đ n máy ch qu n lý mi n gov.au. Máy ch qu n lý gov.au ch d n máy name server c c b tham chi u đ n máy ch qu n lý mi n gbrmpa.gov.au. Cu i cùng máy name server c c b truy v n máy ch qu n lý mi n gbrmpa.gov.au và nh n đ c câu tr l i. Các lo i truy v n : truy v n có th 2 d ng :
- Truy v n đ quy (recursive query) : Khi nameserver nh n đ c truy v n d ng này, nó b t bu c ph i tr v k t qu tìm đ c ho c thông báo l i n u nh truy v n này không phân gi i đ c. Nameserver không th tham chi u truy v n đ n m t name server khác. Nameserver có th g i truy v n d ng đ quy ho c t ng tác đ n nameserver khác nh ng nó ph i th c hi n cho đ n khi nào có k t qu m i thôi.
- Truy v n t ng tác: khi nameserver nh n đ c truy v n d ng này, nó tr l i cho resolver v i thông tin t t nh t mà nó có đ c vào th i đi m lúc đó. B n thân nameserver không th c hi n b t c m t truy v n nào thêm. Thông tin t t nh t tr v có th l y t d li u c c b (k c cache). Trong tr ng h p nameserver không tìm th y trong d li u c c b nó s tr v tên mi n và đa ch IP c a nameserver g n nh t mà nó bi t.
III.2. Phân gi i IP thành tên máy tính
Ánh x đa ch IP thành tên máy tính đ c dùng đ di n d ch các t p tin log cho d đ c h n. Nó còn dùng trong m t s tr ng h p ch ng th c trên h th ng UNIX (ki m tra các t p tin .rhost hay host.equiv). Trong không gian tên mi n đã nói trên d li u -bao g m c đa ch IP- đ c l p ch m c theo tên mi n. Do đó v i m t tên mi n đã cho vi c tìm ra đa ch IP khá d dàng.
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 148/271 có th phân gi i tên máy tính c a m t đa ch IP, trong không gian tên mi n ng i ta b sung thêm m t nhánh tên mi n mà đ c l p ch m c theo đa ch IP. Ph n không gian này có tên mi n là in-addr.arpa.
M i nút trong mi n in-addr.arpa có m t tên nhãn là ch s th p phân c a đa ch IP. Ví d mi n in- addr.arpa có th có 256 subdomain, t ng ng v i 256 giá tr t 0 đ n 255 c a byte đ u tiên trong đa ch IP. Trong m i subdomain l i có 256 subdomain con n a ng v i byte th hai. C nh th và đ n byte th t có các b n ghi cho bi t tên mi n đ y đ c a các máy tính ho c các m ng có đa ch IP t ng ng.
L u ý khi đ c tên mi n đa ch IP s xu t hi n theo th t ng c. Ví d n u đa ch IP c a máy winnie.corp.hp.com là 15.16.192.152, khi ánh x vào mi n in-addr.arpa s là 152.192.16.15.in- addr.arpa.
IV. S khác nhau gi a domain name và zone
M t mi n g m nhi u th c th nh h n g i là mi n con (subdomain). Ví d : mi n ca bao g m nhi u mi n con nh ab.ca, on.ca, qc.ca,...(nh hình v d i). B n có th y quy n m t s mi n con cho nh ng DNS Server khác qu n lý. Nh ng mi n và mi n con mà DNS Server đ c quy n qu n lý g i là zone. Nh v y, m t Zone có th g m m t mi n, m t hay nhi u mi n con. Hình sau mô t s khác nhau gi a zone và domain.
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 149/271
V. Fully Qualified Domain Name (FQDN)
M i nút trên cây có m t tên g i(không ch a d u ch m) dài t i đa 63 ký t . Tên r ng dành riêng cho g c (root) cao nh t và bi u di n b i d u ch m. M t tên mi n đ y đ c a m t nút chính là chu i tu n t các tên g i c a nút hi n t i đi ng c lên nút g c, m i tên g i cách nhau b i d u ch m. Tên mi n có xu t hi n d u ch m sau cùng đ c g i là tên tuy t đ i (absolute) khác v i tên t ng đ i là tên không k t thúc b ng d u ch m. Tên tuy t đ i c ng đ c xem là tên mi n đ y đ đã đ c ch ng nh n (fully qualified domain name – FQDN).
VI. Phân lo i Domain Name Server
Có nhi u lo i Domain Name Server đ c t ch c trên Internet. S phân lo i này tùy thu c vào nhi m v mà chúng s đ m nh n. Ti p theo sau đây mô t nh ng lo i Domain Name Server
VI.1. Primary Name Server
M i mi n ph i có m t Primary Name Server. Server này đ c đ ng kí trên Internet đ qu n lý mi n. M i ng i trên Internet đ u bi t tên máy tính và đa ch IP c a server này. Ng i qu n tr DNS s t ch c nh ng t p tin CSDL trên Primary Name Server. Server này có nhi m v phân gi i t t c các máy trong mi n hay zone.
VI.2. Secondary Name Server
M i mi n có m t Primary Name Server đ qu n lý CSDL c a mi n. N u nh server này t m ng ng ho t đ ng vì m t lý do nào đó thì vi c phân gi i tên máy tính thành đa ch IP và ng c l i xem nh b gián đo n. Vi c gián đo n này làm nh h ng r t l n đ n nh ng t ch c có nhu c u trao đ i thông tin ra ngoài Internet cao. Nh m kh c ph c nh c đi m này, nh ng nhà thi t k đã đ a ra m t Server d phòng g i là Secondary(hay Slave) Name Server. Server này có nhi m v sao l u t t c nh ng d li u trên Primary Name Server và khi Primary Name Server b gián đo n thì nó s đ m nh n vi c phân gi i tên máy tính thành đa ch IP và ng c l i. Trong m t mi n có th có m t hay nhi u Secondary Name Server. Theo m t chu k , Secondary s sao chép và c p nh t CSDL t Primary Name Server. Tên và đa ch IP c a Secondary Name Server c ng đ c m i ng i trên Internet bi t đ n.
VI.3. Caching Name Server
Caching Name Server có ch c n ng phân gi i tên máy trên nh ng m ng xa thông qua nh ng Name Server khác. Nó l u gi l i nh ng tên máy đã đ c phân gi i tr c đó và đ c s d ng l i nh ng thông tin này nh m m c đích:
- Làm t ng t c đ phân gi i b ng cách s d ng cache.
- Gi m b t gánh n ng phân gi i tên máy cho các Name Server.
- Gi m vi c l u thông trên nh ng m ng l n.
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 150/271
VII. S y quy n(Delegating Subdomains)
M t trong các m c tiêu khi thi t k h th ng DNS là kh n ng qu n lý phân tán thông qua c ch u quy n (delegation). Trong m t mi n có th t ch c thành nhi u mi n con, m i mi n con có th đ c u quy n cho m t t ch c khác và t ch c đó ch u trách nhi m duy trì thông tin trong mi n con này. Khi đó, mi n cha ch c n m t con tr tr đ n mi n con này đ tham chi u khi có các truy v n. Không ph i m t mi n luôn luôn t ch c mi n con và u quy n toàn b cho các mi n con này, có th ch có vài mi n con đ c y quy n. Ví d mi n hcmuns.edu.vn c a Tr ng HKHTN chia m t s mi n con nh csc.hcmuns.edu.vn (Trung Tâm Tin H c), fit.hcmuns.edu.vn (Khoa CNTT) hay math.hcmuns.edu.vn (Khoa Toán), nh ng các máy ch ph c v cho toàn tr ng thì v n thu c vào mi n hcmuns.edu.vn.
VIII. Resource Record (RR)
VIII.1. SOA(Start of Authority)
Trong m i t p tin CSDL ph i có m t và ch m t record SOA (start of authority). Record SOA ch ra r ng máy ch Name Server là n i cung c p thông tin tin c y t d li u có trong zone. Cú pháp c a record SOA:
[tên-mi n] IN SOA [tên-server-dns] [đa-ch -email] ( serial number;
refresh number;
retry number;
experi number;
Time-to-live number)
Ví d : Khai báo record SOA:
t3h.com. IN SOA dnsserver.t3h.com. root.t3h.com. ( 2005040401 ; Serial
10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 151/271 86400 ) ; Minimum TTL of 1 day
Tên mi n t3h.com. n m c t đ u tiên. T khoá IN ch ra l p (class) d li u là Internet. Có m t s l p d li u khác ngoài Internet nh ng m c đnh là IN. Tên xu t hi n sau t khoá SOA (dnsserver.t3h.com.) là tên c a primary name server (primary master name server) cho zone này.
Tên th hai (root.t3h.com.) là đa ch e-mail c a ng i có trách nhi m qu n lý d li u trong zone (d u “.” đ u tiên đ c thay th cho d u “@"). D u ngo c cho phép record SOA tr i r ng trên nhi u dòng. Các d li u trong ph n này ch y u dùng cho các máy Secondary Name Server.
- Serial : Áp d ng cho m i d li u trong zone và là 1 s nguyên. Trong ví d , giá tr này b t đ u t 1 nh ng thông th ng ng i ta s d ng theo đnh d ng th i gian nh 1997102301.
nh d ng này theo ki u YYYYMMDDNN, trong đó YYYY là n m, MM là tháng, DD là ngày và NN s l n s a đ i d li u zone trong ngày. B t k là theo đnh d ng nào, luôn luôn ph i t ng s này lên m i l n s a đ i d li u zone. Khi máy ch Secondary liên l c v i máy ch Primary, tr c tiên nó s h i s serial. N u s serial c a máy Secondary nh h n s serial c a máy Primary t c là d li u zone trên Secondary đã c và sau đó máy Secondary s sao chép d li u m i t máy Primary thay cho d li u đang có hi n hành.
- Refresh: Ch ra kho ng th i gian máy ch Secondary ki m tra d li u zone trên máy Primary đ c p nh t n u c n. Trong ví d trên thì c m i 3 gi máy ch Secondary s liên l c v i máy ch Primary đ c p nh t d li u n u có. Giá tr này thay đ i tu theo t n su t thay đ i d li u trong zone.
- Retry: n u máy ch Secondary không k t n i đ c v i máy ch Primary theo th i h n mô t trong refresh (ví d máy ch Primary b shutdown vào lúc đó thì máy ch Secondary ph i tìm cách k t n i l i v i máy ch Primary theo m t chu k th i gian mô t trong retry. Thông th ng giá tr này nh h n giá tr refresh.
- Expire: N u sau kho ng th i gian này mà máy ch Secondary không k t n i đ c v i máy ch Primary thì d li u zone trên máy Secondary s b quá h n. M t khi d li u trên Secondary b quá h n thì máy ch này s không tr l i m i truy v n v zone này n a. Giá tr expire này ph i l n h n giá tr refresh và giá tr retry.
- TTL: Vi t t t c a time to live. Giá tr này áp d ng cho m i record trong zone và đ c đính kèm trong thông tin tr l i m t truy v n. M c đích c a nó là ch ra th i gian mà các máy ch name server khác cache l i thông tin tr l i. Vi c cache thông tin tr l i giúp gi m l u l ng truy v n DNS trên m ng.
VIII.2. NS (Name Server)
Record ti p theo c n có trong zone là NS (name server) record. M i name server cho zone s có m t NS record. Cú pháp khai báo:
[tên-domain] IN NS [DNS-Server_name]
Ví d : Record NS sau:
t3h.com. IN NS dnsserver.t3h.com.
t3h.com. IN NS server.t3h.com.
Ví d trên ch ra 2 nameserver qu n lý c s d li u cho mi n t3h.com
H c ph n 4 - Ch ng ch qu n tr m ng Linux Trang 152/271 VIII.3. A (Address) và CNAME (Canonical Name)
Record A (Address) ánh x tên máy(hostname) vào đa ch IP. Record CNAME (canonical name) t o tên bí danh alias tr vào m t tên canonical. Tên canonical là tên host trong record A ho c l i tr vào 1 tên canonical khác.
Cú pháp record A:
[tên-máy-tính] IN A [đa-ch -IP]
Ví d : S record A trong t p tin db.t3h // Hostname ánh x vào đa ch IP t ng ng localhost.t3h.com. IN A 127.0.0.1
dnsserver.t3h.com. IN A 172.29.14.2 //M t hostname ánh x cho nhi u đa ch IP server.t3h.com. IN A 172.29.14.1 server.t3h.com. IN A 192.253.253.1
// Ch đnh server.t3h.com. ánh x v www.t3h.com.
server.t3h.com. IN CNAME www.t3h.com.
VIII.4. MX (Mail Exchange)
DNS dùng record MX trong vi c chuy n mail trên m ng Internet. Ban đ u ch c n ng chuy n mail d a trên 2 record: record MD (mail destination) và record MF (mail forwarder) records. MD ch ra đích cu i cùng c a m t thông đi p mail có tên mi n c th . MF ch ra máy ch trung gian s chuy n ti p mail đ n đ c máy ch đích cu i cùng. Tuy nhiên, vi c t ch c này ho t đ ng không t t. Do đó, chúng đ c tích h p l i thành m t record là MX. Khi nh n đ c mail, trình chuy n mail (mailer) s d a vào record MX đ quy t đnh đ ng đi c a mail. Record MX ch ra m t mail exchanger cho m t mi n - mail exchanger là m t máy ch x lý (chuy n mail đ n mailbox c c b hay làm gateway chuy n sang m t giao th c chuy n mail khác nh UUCP) ho c chuy n ti p mail đ n m t mail exchanger khác (trung gian) g n v i mình nh t đ đ n t i máy ch đích cu i cùng h n dùng giao th c SMTP (Simple Mail Transfer Protocol). tránh vi c g i mail b l p l i, record MX có thêm 1 giá tr b sung ngoài tên mi n c a mail exchanger là 1 s th t tham chi u. ây là giá tr nguyên không d u 16-bit (0-65535) ch ra th t u tiên c a các mail exchanger. Cú pháp record MX:
[tên-domain] IN MX [đ - u-tiên] [tên-Mail-Server]
Ví d :
t3h.com. IN MX 10 mailserver.t3h.com.
Ch ra máy ch mailserver.t3h.com là m t mail exchanger cho mi n t3h.com v i s th t tham chi u 10.
Chú ý: Các giá tr này ch có ý ngh a so sánh v i nhau:
Ví d : khai báo mi n t3h.com có hai mail server qu n lý là listo.t3h.com và hep.t3h.com qu n lý.
̇ t3h.com. IN MX 1 listo.t3h.com.