1.MAC<--ARP-->IP
IP<---DNS-->DOMAIN
2.ºô¸ô¶Ç°e¸ê®Æªº¤èªk¨Ã¤£¬O¥u¦³TCP/IP¨óij¡A¤ñ¦p¦bLANùظg±`¥Î¨ìªº¥i¯à¬ONetBIOS
3.DNSªº¥Ñ¨Ó
==>¬°¤F¸Ñ¨Mºô¸ô¶Ç°e¸ê®Æ®ÉIP¦a§}Ãø¥H°O¾Ðªº°ÝÃD¡A´N¦³¤F§Q¥Î¬Y¨Ç¯S©wªºÀÉ®×±N¥D¾÷¦WºÙ»PIP¹ïÀ³°_¨Ó¡A³o¼Ë´N¥i¥H³q¹L¥D¾÷¦WºÙ¨Ó¨ú±o¸Ó¥D¾÷ªºIP¤F¡A¤]´N¥i¥H§¹¦¨¸ê®Æªº¶Ç°e¤F¡C
==>¥i¬O¥D¾÷¦WºÙ»PIPªº¹ïÀ³µLªk¦Û°Ê»P©Ò¦³ªº¹q¸£¤º§ó·s¡A¥B·íIP¼Æ¶q¤Ó¦h®É¡A¸ÓÀÉ®×´N·|¤j¨ì¤£¹³¸Ü¡A¤]´N§ó¤£§Q©ó¥D¾÷¦P¨B¤Æ¡C
==>¬f§JµÜ¤j¾Çµo®i¥X¤F¤@®M¶¥¼h¦¡ºÞ²z¥D¾÷¦WºÙ¹ïÀ³IPªº¨t²Î¡AºÙ¤§¬°BIND(Berkeley Internet Name Domain)
==>¶i¦Óµo®i¦¨¬°¥þ¥@¬É¨Ï¥Î³Ì¼sªxªº°ì¦W¨t²ÎDNS
4.DNS»PBINDªº°Ï§O
DNS¡X¡X¤@ºØ¥D¾÷¦WºÙ»PIPªº¸ÑªR¨óij
BIND¡X¡X´£¨ÑDNSªA°Èªº®M¥ó
5./etc/hosts
ping -c 5 localhost
windows¤U±¹ïÀ³ªº¤å¥ó¬°¡Gc:\i386\hosts
³oÓ·|¥[§ÖIPªº·j´M³t«×
¥i¥H¹Á¸Õ¤@¤U
6./etc/hosts»PDNS¨t²Î°Ï§O¡G
/etc/hosts¡X¡Xª½±µ¦bClientºÝªºÀɮפº¿é¤J¥D¾÷¦WºÙ¹ïÀ³ªºIP¨Ó¬d¸ß
DNS¨t²Î¡X¡X§Q¥ÎÃB¥~ªºDNSªA°È¡AÅýclientºÝ¥i¥H³q¹L¦WºÙ¸ÑªR¨Ó¨ú±o¥Øªº¦a¥D¾÷ªºIP
7.Domain Name»PHostnameªº°Ï§O¡G
Domain Name¡X¡X
Hostname¡X¡X
§Ṳ́w¸gª¾¹DDNS¨t²Î¬OÓ¤À¼h¦¸ªº¨t²Î¡A©Ò¥H¦b¨C¤@¼h¤W°ì¦W»P¥D¾÷¦W¬O¤£¤@¼Ëªº
¦pwww.yahoo.com¤¤°ì¦W¬°yahoo.com¡A¥D¾÷¦W¬°www
¤S¦pyahoo.com¤¤°ì¦W¬°.com¡A¥D¾÷¦W¬°yahoo
8.DNS¬[ºc
¨CÓ¤W¤@¼hªºDNS¥D¾÷¡A©Ò°O¿ýªº¸ê°T¡A¨ä¹ê¥u¦³¨ä¤U¤@¼hªº¥D¾÷¦WºÙ¦Ó¤w¡I¡I
DNS¾ðª¬¥Ø¿ý
root
____________________________________________________
| | | | | | |
com edu gov mil org cn ¨ä¥L°ê®a
|
___________________________________________________
| | | | |
com.cn edu.cn gov.cn mil.cn org.cn
|
_____________________________________________
| | |
sina.com.cn yahoo.com.cn others.com.cn
com: °Ó·~¡B¤½¥q
org: ²Õ´¡B¾÷ºc
edu: ±Ð¨|
gov: ¬F©²
net: ºô¸ô¡B³q°T
mil: x¨Æ
9.DNSªº·j´M¬yµ{
DNS¬O¥HÃþ¦ü¾ðª¬¥Ø¿ýªº§ÎºA¨ÓºÞ²z°ì¦Wªº¡A¨C¤@³¡DNS¥D¾÷¥uºÞ²z¤U¤@¼hDNS¥D¾÷ªº°ì¦W¸ÑªR
¦Ü©ó¤U¼hªº¤U¼h¡A«h±ÂÅvµ¹¤U¼hªºDNS¥D¾÷¨ÓºÞ²z
DNS¦øªA¾¹¤u§@ì²z
«È¤áºÝlinux¥D¾÷§Q¥Î/etc/resolv.conf¤¤´£¨ÑªºDNS¦øªA¾¹ªºIP¨Ó¶i¦æ¬d¸ß
DNS¦øªA¾¹·|³o¼Ë°µ¡G
°²³]n³X°Ý
(1) ¥ý¬Ý¥»¨¦³¨S¦³°O¿ý
(2) ¦V³Ì³»¼h¬d¸ß
¦V³Ì³»¼hªº.(root)³o³¡¥D¾÷¨Ó¬d¸ß.(root)ªº¤U¤@¼h.cn
(3) ¦V²Ä¤G¼h¬d¸ß
´N¨ì.cn¬d¸ß¡A§ä¨ì.edu.cn
(4) ±µµÛ¤@¨B¤@¨B¤U¨Ó
(5) °O¿ý¼È¦s°O¾ÐÀÉ
·j´Mn§äªºIP«á¡A´N±N¡A¹ïÀ³ªºIP¸ê°T¦b¦Û¤vªº¼È¦s°O¾ÐÀɤ¤«O¦s°_¨Ó
³oӼȦsÀɬO¦³®É¶¡©Êªº¡A·í¹L¤FDNS³]©w°O¾Ðªº®É¶¡(³q±`¬O24¤p®É)¡A¸Ó°O¾Ð´N·|³QÄÀ©ñ
´XÂIª`·N¡G
a> ¥u¦³°ì¦W¬O¸g¹L¤W¼h¦XªkªºDNS¥D¾÷³]©wªº¡A¤~¥i¥H¦bINTERNET¤W³Q¬d¸ß¨ì
b> ¥D¾÷ªº¼È¦s°O¾ÐÀÉ¡A¬O¦³®É¶¡©Êªº¡A©Ò¥H·í×§ï¤@Ó°ì¦W¤§«á¡A¥i¯àn2~3¤Ñ¤~¯à¥þ±ªº±Ò¥Î
c> ¨C¤@³¡¥i¥H°O¿ý¥D¾÷¦WºÙ»PIP¹ïÀ³ªºDNS¦øªA¾¹³£¥i¥HÀH·N§ó°Ê¥L¦Û¤vªº¸ê®Æ®w¡Aª`·N¡A¬O¥L¦Û¤vªº
10.DNS¨Ï¥ÎªººÝ¤f
cat /etc/services | grep domain
¥i¥H¬Ý¨ìDNS¨Ï¥ÎªººÝ¤f¬°53
³q±`¶i¦æDNS¬d¸ß®É¡A¬O¥HUDP³oÓ¸û§Ö³tªº¸ê®Æ¶Ç¿é¨óij¨Ó¬d¸ßªº¡A¦ýY¨S¦³¬d¸ß¡A·|¦A¦¸¥HTCP¬d¸ß¡C
©Ò¥H±Ò°ÊDNSªºdaemon(§Ynamed)¡A·|¦P®É±Ò°ÊTCP¤ÎUDPªº53³oӺݤf¡C
11.nÅý§Aªº¥D¾÷¦WºÙ¹ïÀ³IP¥BÅýInternet¤Wªº¹q¸£³£¥i¥H¬d¸ßªº¨ì¡A´N»Ýn¡G
(1) ¤W¼hDNS ±ÂÅvÅý§A³]©wDNS¥D¾÷¡A©ÎªÌ
(2) ª½±µ½Ð¤W¼hDNS¥D¾÷¨ÓÀ°§A³]©w
12.¤°»ò¬O¥¿¸Ñ»P¤Ï¸Ñ¡H
(1) ¥¿¸Ñ
¥Ñ¥D¾÷¦W¥h´M§äIPªºµ{¦¡ºÙ¬°¥¿¸Ñ
(2) ¤Ï¸Ñ
¥ÑIP¥h¬d¸ß±o¨ì¥D¾÷¦W´NºÙ¬°¤Ï¸Ñ
(3) °Ï°ì(Zone)
¤@Ó¥¿¸Ñ©Î¤Ï¸Ñªº³]©w´N¬O¤@Ózone
¦p¡A¥H³¾ôªºvbird.idv.tw¬°¨Ò¡A¤@Ó°ì¦WªºDNS³]©wÀÉùØ¥²»Ý¦³
¡Chint(root)ªº³]©w
¡Cvbird.idv.tw³oÓ°ì¦Wªº¥¿¸Ñ³]©w
¡Clocalhostªº¥¿¸Ñ³]©w(«D¥²n)
¡Clocalhostªº¤Ï¸Ñ³]©w(«D¥²n)
¨º»ò´N¦³¥|Ózone
13.DNS server¨Ï¥Îªº¬Obind³oÓ®M¥ó¡A¥Lªº¥Dn°Ñ¼ÆÀɬO/etc/named.conf
14.¬d¸ßDNS¬O§_¦w¸Ë
(1)
# rpm -qa | grep bind
bind-utils-9.2.4-16.EL4 <==¬O¥Î¤áºÝ·j´M¥D¾÷¦WºÙªº¬ÛÃö«ü¥O
bind-9.2.4-16.EL4 <==DNS¦øªA¾¹¥Dµ{¦¡
bind-chroot-9.2.4-16.EL4 <==±Nbind¥Dµ{¦¡Ãö¦b®aùØ?
¨ºÓchroot§Ychange to root¡A¨ºÓroot¥Nªíªº¬O®Ú¥Ø¿ý
¥i¥H¥Î¸Ó©R¥O¨Ó±N¬Yӥؿý«ü©w¬°bindµ{¦¡ªº®Ú¥Ø¿ý¡A¥Ñ©ó¬O®Ú¥Ø¿ý¡A©Ò¥Hbind«K¤£¯àÂ÷¶}¸Ó¥Ø¿ý¡C
CentOSÀq»{±NbindÂê¦b/var/named/chroot¤¤
(2)
yum install bind
15.BINDªºÀq»{³]©w
/etc/named.conf ¡X¡X³]©wÀÉ
/etc/sysconfig/named ¡X¡X¬O§_±Ò°Êchroot¤ÎÃB¥~ªº°Ñ¼Æ¡A¥Ñ³oÓÀÉ®×±±¨î
/var/named/ ¡X¡X¸ê®Æ®wÀÉ®×Àq»{©ñ¸m¦b³oӥؿý
/var/run/named ¡X¡Xnamed³o¥hµ{¦¡°õ¦æ®ÉÀq»{©ñ¸mpid-file¦b¦¹¥Ø¿ý¤º
¥i³q¹L¬d¬Ý/etc/sysconfig/named¨Ó¬d¬Ýchroot©Ò«ü©wªº¥Ø¿ý
# vi /etc/sysconfig/named
ROOTDIR=/var/named/chroot
³o¼Ëbindªº¬ÛÃöµ{¦¡©Ò»Ýnªº©Ò¦³¸ê®Æ·|¬O¦b¡G
/var/named/chroot/etc/named.conf
/var/named/chroot/var/named/zone_file1
/var/named/chroot/var/named/zone_file...
/var/named/chroot/var/run/named/...
¤£¹L¡A¤´ÂÂ¥i¥H¨Ï¥Î/etc/named.conf¨Ó³]©w§AªºDNS
¦]¬°¨t²Î·|¥D°ÊªºÀ°§A±N/var/named/chroot/etc/named.confÃìµ²¨ì/etc/named.conf
16.DNSªºmaster/slave¬[ºc
master¡X¡X¥»¨¨ã¦³´£¨ÑInternet¬d¸ß©Ò»Ýªº¸ê®Æ
slave¡X¡X
Cache-only¡X¡X³oºØDNS¥D¾÷¨S¦³¦Û¤vªº¸ê®Æ®w¡A³æ¯ÂÀ°§UClientºÝ¦V¥~³¡ªºDNS¥D¾÷n¨D¸ê®Æ¦Ó¤w¡C¥N²z?
17.Cache-only³æ¯Âªºforward DNS¥D¾÷³]©w
(1) ½s¿è¥Dn³]©wÀÉ /etc/named.conf
a> µùÄÀ¥Î"//"
b> ¨CÓ¬q¸¨¤§«án¥Î";"µ²§ô
c> ¹ê¨Ò¡G
------------------------------------------------------------------
[root@linux ~]# vi /etc/named.conf
// ÁöµM CentOS ±N³oÓÀɮשñ¸m¨ì /var/named/chroot/etc ·í¤¤¡A
// ¤£¹L¥L«Ü¦n¤ßªºÀ°§Ú̧@¤FÓ³sµ²¡A©Ò¥H§AÁÙ¬O¥i¥Hª½±µ½s¿è³oÓÀÉ®×°Õ¡I
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid";
forward only; //¥u¤¹³\ forward!
forwarders {
168.95.1.1; //§Ú³o¸Ì¨Ï¥Î hinet ªº DNS ¡I
139.175.10.20; //³oÓ¬O seednet ªº DNS ¡I
};
};
include "/etc/rndc.key";
------------------------------------------------------------------
³o¸Ìn½T»{¤@¤U¡Apid-fileªº©Ò¦³¤H¥²¶·¬Onamed³oÓuser¤~¦æ
[root@linux ~]# ls -ald /var/named/chroot/var/run/named
drwxrwx--- 2 named named 4096 Oct 12 11:48 /var/named/chroot/var/run/named
(2) ±Ò°Ênamed
# /etc/init.d/named start
(3) Æ[¹îportªºÅܤÆ
¨Ã¤£¤@©w±Ò°Ê®É¦¨¥\´Nªí©úDNS¦¨¥\¤F¡AÁÙn¨Ó¬Ý¤@¤Uport 53¦³¨S¦³±Ò°Ê
# netstat -utln
(4) Àˬd/var/log/messagesªº¸ê°T
tail -n 15 /var/log/messages | grep named
Oct 16 15:08 linux named[76]: starting BIND 9.2.4 -u named -t /var/named/chroot <==¦¨¥\±Ò°Ê
(5) «È¤áºÝ´ú¸Õ
18.DNS¦øªA¾¹¤pµ²¡G
a> ¥Dn³]©wÀɬO/etc/named.conf
b> ¨CÓ¥¿¸Ñ¡B¤Ï¸Ñ³£»Ýn¤@ÓÀɮסA¦ÓÀɮתºÀɦW¬O¥Ñ/etc/named.conf©Ò³]©wªº
c> ¥Ø«eªºBINDµ{¦¡¤w¸g¶i¦æchroot¤F¡A¥i¥H°Ñ¦Ò/etc/sysconfig/named
d> ·íDNS¬d¸ß®É¡AY¥»¨¨S¦³¸ê®Æ®w¡A«h«e©¹root(.)©Îforwarders¥D¾÷¬d¸ß
e> DNS¦øªA¾¹ªº¬[³]»Ýn¤W¼hDNSªº±ÂÅv¤~¥i¥H¦¨¬°¦XªkªºDNS¦øªA¾¹¡A§_«h¥u¯à¬O¤º³¡ªº
f> named¬O§_±Ò°Ê¦¨¥\°È¥²n¬d¾\/var/log/messages¤ºªº¸ê°T
19.¤@Ó¤º³¡ªºDNS¦øªA¾¹ªº¬[³]®×¨Ò
[¥Ø¼Ð¤ÎÀô¹Ò]
¸ÓDNS¦øªA¾¹°w¹ïvbird.tsai³oÓ°ì¦W¨Ó³]p¡A¨Ã¥B¹ïÀ³ªº¤Ï¸Ñ¬°192.168.1.0/24
¥t¥~ÁÙ°w¹ï¥»¾÷localhost¥H¤Î127.0.0.1³oÓ¹w³]ªº»â°ì¨Ó¹ïÀ³
·íµMÁÙn¥]§t³Ì¤W¼h.(root)³oÓ°ì¦Wªº¥D¾÷¦W¸ê®Æ®w
©Ò¥H¡A³]©wÀɤΥ¿¤Ï¸Ñzoneªº¸ê®Æ®wÀÉ®×À³¸Ó¦³¡G
(1) named.conf ³]©wÀÉ
(2) named.vbird.tsai vbird.tsaiªº¥¿¸Ñ
(3) named.192.168.1 192.168.1.0/24ªº¤Ï¸Ñ
(4) named.root .(root)ªº¸ê®Æ®w
(5) named.localhost localhostªº¥¿¸Ñ
(6) named.127.0.0 127.0.0.1/24ªº¤Ï¸Ñ
¦pªGÁÙ·Q¥[¤J¨ä¥Lªº°ì¦W¡A¨Ò¦pniki.tsai¡A¨º´N¦A¦h¤@Ó¸ê®Æ®w¥¿¸ÑÀÉ®×§Y¥i¡I
¸ê®Æ®wªº¹ïÀ³¡G
§@·~¨t²Î»PIP ¹ïÀ³¥D¾÷¦W »¡©ú
linux 192.168.1.254 linux.vbird.tsai ³o³¡¬O¥DnªºDNS¦øªA¾¹¡A¥Dn¥D¾÷¦W¬° www.vbird.tsai linux.vbird.tsai,¨ä¥Lªº¤TÓ¥D¾÷¦W
ftp.vbird.tsai ¬°¥D¾÷§O¦W
forum.vbird.tsai
linux 192.168.1.150 slave.vbird.tsai ¥Dn§@¬°slave DNS¥D¾÷
winxp 192.168.1.100 winxp.vbird.tsai ¬Y¤@³¡¥D¾÷ªºIP»P¥D¾÷¦W¹ïÀ³
sun 192.168.1.200 sun.vbird.tsai ¥t¤@³¡¥D¾÷
¡¹/etc/named.confªº³]©wÀÉ
a> ¥\¯à¡G
¡C³W½dDNS¦øªA¾¹ªº¨Ï¥Î³\¥iÅv(¥i§_¬d¸ß¡Bforward»P§_¡Bmaster/slave¬[ºcµ¥)
¡C³]©w¥Xzone(domain name)¥H¤Îzone fileªº©Ò¦b
¡C³]©wDNS¥»¾÷ºÞ²z¤¶±¥H¤Î¨ä¬ÛÃöªºkey file
b> ª`·N¡G
¦b¾ãÅ馸ªA¾¹Àô¹Ò»P¨Ï¥Î³\¥iÅv¡A¥Dn¬O³q¹Loptions {...}¨Ó³]©wªº
c> ³Ì²³æªº³W¹º¥Ü¨Ò¡G
-----------------------------------------------------------------
[root@linux ~]# vi /etc/named.conf
// ¥ý©w¸q¥X¾ãÓ DNS ¦øªA¾¹ªº¬ÛÃöÀô¹Ò¡A¥]¬A¬d¸ß¡BÀɮשñ¸m¥Ø¿ýµ¥
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid";
forwarders { 168.95.1.1; 139.175.10.20; };
allow-query { any; }; // ¬O§_¤¹³\³Q¬d¸ß¡H·íµMn¥i¥H³Q¬d¸ß¡F
allow-transfer { none; }; // ¬O§_¤¹³\¶Ç°e zone ¡A¹w³]¤£¥i
};
// Ãö©ó DNS ¦øªA¾¹ªº¤@¨Ç¥[±K¼Æ¾Ú¡A¥ý©¿²¤¹L¥h¥ý¡I
include "/etc/rndc.key";
// Ãö©ó root (.) ªº³]©w³á¡G
zone "." {
type hint; // ¯S®íªºÃþ§O¡I±Mµ¹ root (.) ¥Îªº
file "named.root"; // ´N¬OÀɦWªº©w¸q°Õ¡I
};
// Ãö©ó¥»¾÷ localhost ªº¥¿¤Ï¸Ñ
zone "localhost" {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.127.0.0";
};
// ³o¸Ì³W½d¥X§Ú̪º vbird.tsai »â°ì¦W
zone "vbird.tsai" {
type master;
file "named.vbird.tsai";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "named.192.168.1";
};
-----------------------------------------------------------------
d> options¤ºªº°Ñ¼Æ»¡©ú
³]©wÈ ·N¸q
directory «ü©wzone filen©ñ¸m¦bþӥؿý¡A»Pzone³]©w¶µ¥Øªºfile°t¦X¦Ó¦¨§¹¾ãªºÀɦW
dump-file «ü©w¼È¦s¸ê®Æ°O¿ý¨ìþÓÀÉ®×
statistics-file DNSªº¤@¨Ç²Îp¸ê®Æ¼g¤JªºÀÉ®×
pid-file ±Nnamed³oÓµ{¦¡ªºPID°O¿ý¤U¨Óªº¤@ÓÀɮסA³oÓÀɮ׳q±`¦bnamed±Ò°Ê¡BÃö³¬®É´£¨Ñ ¥¿½TªºPID
forwarders
allow-query ¬O§_¤¹³\¥Î¤áºÝªº¬d¸ß¡A¤º®e¥i¥H¬°any¥ô¦ó¨Ó·½©ÎIP©Îºô¬q(IP/netmask)
allow-transfer ¬O§_¤¹³\slave DNS¾ãÓ°ì¦W¸ê®Æªº¶Ç°e¡A°£«D§A¦³slave DNS¦øªA¾¹¡A§_«h³o¸Ì¤£n ¶}©ñ
e> zone¤ºªº°Ñ¼Æ»¡©ú
³]©wÈ ·N¸q
type ¥DnÃþ«¬¦³¡Gmaster,slave¤Îhint¡C¨ä¤¤¡A³Ì¤W¼h.¨Ï¥Îªº¬OhintÃþ«¬¡AµM«ámaster¥D ¾÷¥Îmaster,slave¥D¾÷´N¥Îslave
file ´N¬Ozone file¡A§¹¾ãªºzone file©ñ¦bþ¡G
[chroot_dir]/[options¤ºªºdirectory]/[file ³]©wÈ]¡A©Ò¥H»¡
root(.)³]©wÀÉ´N¦b¡G/var/named/chroot/var/named/named.root
¤Ï¸Ñzone ¤Ï¸Ñ¡A¥²¶·n±NIP¤Ï¹L¨Ó¼g¡A¨Ã¦b³Ì«á±¥[¤W".in-addr.arpa"¨Óªí¥Ü¤Ï¸Ñ¡C
¡]³d¥ô½s¿è¡G¶³¤l¡^