域名、cname、DNS、A记录以及MX记录的基本概念
针对任何一个有效的域名,都应该有一个该域名的权威域名服务器(DNS),在域名服务器中有一条或多条针对于该域名的资源记录。
一条资源记录共有5项,分别是 域名(Domain_name)、生存时间(Time_to_live)、类型(Type)、类别(Class)和值(Value)。
其中:
域名:是这条记录指向的域;
生存时间:指出记录的稳定性。高度稳定的信息被赋予一个很大的值,如86 400(一天的秒数),变化很大的信息被赋予一个较小的值,如60(1分钟);
类型:指出记录的类型,其中重要的类型有:
类型 | 意义 | 值 |
SOA | start of authority | 该区的参数 |
A | 一个主机IP地址 | 32比特整数 |
MX | 邮件交换 | 优先权,域愿意接收邮件地址 |
NS | 名字服务器 | 本域的服务器名 |
其中最常见的记录是A记录,通过A记录来解析该域名的主页所存放的服务器。除了A记录以外,如果还有以该域名为邮件地址的邮件服务,则必须有MX记录,通过MX记录来解析该域名的邮件服务器。如:abc.com.cn 86400 IN MX 1 mx.sina.net
1,A记录:WEB服务器的IP指向
A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。
说明:用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置自己域名的二级域名。
就是说:通过A记录,大家可以设置自己的不同域名转到不同的IP上去!如:
将
www.yourname.com转到IP 321.32.321.321
ftp.yourname.com 转到IP 123.12.123.123
mail.yourname.com 转到IP 213.21.213.213
2,MX记录(Mail Exchange):邮件路由记录
说明:用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设置。您只需在线填写您服务器的主机名或主机IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。
这个大家都明白了吗?就是将你的域名中邮件服务器分开,将它设置到其它的IP去!
比 如同样是 myweb.com ,如果你设置A记录是指向123.12.123.123,而MX记录你设置是指向222.22.222.222,那么你的DNS服务器接收到别人的邮件路 由请求时就将会将它的请求解释到222.22.222.222上去!而别人访问你的网页的时候仍然是访问123.12.123.123。
3,CNAME (Canonical Name)记录,(alias from one domain name to another)通常称别名指向
这是个挺好用记录,它可以将你注册的不同域名统统转到一个主域名上去!与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址!有什么好处?大家想想就知道!
4,URL (Uniform Resource Locator )转发:网址转发
功 能:如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转 发来实现。url转发可以转发到某一个目录下,甚至某一个文件上。而cname是不可以,这就是url转发和cname的主要区别所在
域名A记录: A(Address)记录是域名与IP对应的记录。
域名别名记录:别名(CName,Canonical Name)记录,是域名与域名的别名对应的记录。
动态域名解析:A记录中域名对应的IP是静态IP,把域名解析到动态IP上,就叫动态域名解析。
域名服务商一般只免费提供A记录,不免费提供 动态域名解析。
5. 什么是TTL值?
TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子:
假 设,有这样一个域名myhost.abc.com(其实,这就是一条DNS记录,通常表示在abc.com域中有一台名为myhost的主机)对应IP地 址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为dns.abc.com的DNS服务器上。
现在有一个用户键入一下地址(又称URL):http://myhost.abc.com 这时会发生什么呢?
该 访问者指定的DNS服务器(或是他的ISP,互联网服务商, 动态分配给他的)8.8.8.8就会试图为他解释myhost.abc.com,当然8.8.8.8这台DNS服务器由于没有包含 myhost.abc.com这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到dns.abc.com这台DNS服务器, dns.abc.com这台DNS服务器将myhost.abc.com对应的IP地址1.1.1.1告诉8.8.8.8这台DNS服务器,然有再由 8.8.8.8告诉用户结果。8.8.8.8为了以后加快对myhost.abc.com这条记录的解析,就将刚才的1.1.1.1结果保留一段时间,这 就是TTL时间,在这段时间内如果用户又有对myhost.abc.com这条记录的解析请求,它就直接告诉用户1.1.1.1,当TTL到期则又会重复 上面的过程。
什么是A记录?什么是别名记录(CNAME)?什么是MX记录?什么是NS记录?
A (Address) 记录
是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
别名记录(CNAME)
也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。 这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。 同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以将一个域名做A记录指向服务器IP然后将其他的域名做别名到之前做A记录的域名上,那么当您的服务器IP地址变更时您就可以不必麻烦的一个一个域名更改指向了 只需要更改做A记录的那个域名其他做别名的那些域名的指向也将自动更改到新的IP地址上了。
MX(Mail Exchanger)记录
是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
如果所要查的某域名的MX记录不存在,则出现与以下类似的提示:
C:\>nslookup
> set type=mx
> amafdsfxit.com.cn
Default Server: [202.106.184.166]
Address: 202.106.184.166
*** 202.106.184.166 can't find amaxit.com.cn: Non-existent domain
简单技巧:同时也可使用 nslookup -qt=mx zzy.cn 这样的命令来查询zzy.cn的MX记录。
附:中资源企业邮局MX记录做法
单线企业邮局(电信单线路):mx1.cnm.cn.
双线企业邮局(电信+网通同时具有线路):mx2.cnm.cn.
NS(Name Server)记录
是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
-----------------------------------------------------------------------------------------
http://www.hscripts.com/tools/HDNT/dns-record.php
Types of DNS Records:
AAAA record: IPv6 address record maps a hostname to a 128-bit IPv6 address.
CNAME record: Canonical name record is an alias of one name to another.
MX record: Mail exchange record maps a domain name to a list of mail exchange servers for that domain.
PTR record: Pointer record maps an IPv4 address to the canonical name for that host. Setting up a PTR record for a hostname in the in-addr.arpa domain that corresponds to an IP address implements reverse DNS lookup for that address.
NS record: Name server record maps a domain name to a list of DNS servers authoritative for that domain.
SOA record Start of authority record specifies the DNS server providing authoritative information about an Internet domain.
SRV record: It is a generalized service location record.
TXT record: This record is used to implement the Sender Policy Framework.
DNS資源紀錄(Resource Record)介紹
DNS server內的每一個網域名稱都有自己的檔案,這個檔案一般會稱為區域檔案 (zone file),例如之前所提到的”named.ca”或”named.local” 檔案…等等。區域檔案是由多個記錄組成的,每一個記錄稱為資源記錄(Resource Record,簡稱RR)。當在設定DNS名稱解析、反向解析及其他的管理目的時,您需要使用不同類型的RR,底下將介紹常用的RR類型及表示法。
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
類型
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
SOA
Start Of Authority,這種 record 放在 zone file 一開始的地方,每一個記錄檔只能有一個 SOA,而且一定是檔案中第一個“記錄”,它描述這個 zone 負責的 name server,version number…等資料,以及當 slave server 要備份這個 zone 時的一些參數。 緊接在 SOA 後面指定了這個區域的授權主機和管理者的信箱,這裡分別是 "school.edu.tw" 和" root.school.edu.tw",也就是school.edu.tw主機和 root 的信箱。這裡要注意的是我們以"root.school.edu.tw"代表"root@school.edu.tw"
e.g.
@ IN SOA school.edu.tw. root.school.edu.tw. ( 1999051401 ; Serial 3600 ; Refresh 300 ; Retry 3600000 ; Expire 3600 ) ; Minimum
在兩個括號中間的選項表示SOA的設定內容,底下會有更詳細的說明。
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
NS
name server,用來指定操作的DNS伺服器主機名稱,需注意的是不可以IP位址表示。
e.g.
IN NS dns.twnic.net.tw.
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
A
address,將DNS網域名稱對應到IPv4的32位元位址。
e.g.
server IN A 140.123.102.10
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
AAAA
可將DNS網域名稱對應到IPv6的128位元位址。
e.g.
twnic.net.tw. 86400 IN AAAA 3ffe: :bbb:93:5
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
PTR
pointer,定義某個 IP 對應的 domain name,即將 IP 位址轉換成主機的FQDN。
e.g.
20 IN PTR mail.twnic.net.tw.
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
CNAME
canonical name,可為同一部主機設定許多別名,例如 mix.twnic.net.tw的別名可為 www.twnic.net.tw和 ftp.twnic.net.tw,因此所設定的別名都會連至同一部伺服器。
e.g.
www IN CNAME mix
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
MX
mail exchanger,設定區域中擔任郵件伺服器的主機,所有要送往那部機器的 mail 都要經過 mail exchanger 轉送。而數字則是該主機郵件傳遞時的優先次序,此值越低表示有越高的郵件處理優先權。
e.g.
server IN MX 10 mail.twnic.net.tw.
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
SOA設定內容說明
SOA record,以之前例子來看,其中 @ 這個符號是縮寫,代表 named.conf 中這個 zone file 所對應的 zone。 SOA 後面的兩個參數是指這個 zone file 是在哪部主機 (school.edu.tw)定義的,以及這個 zone file 的負責人 (注意是寫成 root.school.edu.tw),然後是用括號括起來的 5 個參數, 分別由底下說明。
A start of authority (SOA) record is information stored in a domain name system (DNS) zone about that zone and about other DNS records. A DNS zone is the part of a domain for which an individual DNS server is responsible. Each zone contains a single SOA record. SOA records are defined in IETF RFC 1035, Domain Names - Implementation and Specification.
The SOA record stores information about
the name of the server that supplied the data for the zone
the administrator of the zone;
{
the current version of the data file;
the number of seconds a secondary name server should wait before checking for updates;
the number of seconds a secondary name server should wait before retrying a failed zone transfer;
the maximum number of seconds that a secondary name server can use data before it must either be refreshed or expire;
and a default number of seconds for the time-to-live file on resource records.
}Serial
代表這個 zone file 的版本,每當 zone file 內容有變動,name server 管理者就應該增加這個號碼,因為 slave 會將這個號碼與其 copy 的那份比對以便決定是否要再 copy 一次 (即進行 zone transfer)。
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
Refresh
slave server 每隔這段時間(秒),就會檢查 master server 上的 serial number。不過這裡會發生一個問題就是,在 master server 在 update data 完成到 slave server 來檢查時再 update 可能還有 好一段時間,因此這段期間 master/slave DNS server間 zone files 就可能出現不一致。所以在Bind較新的版本中便加入"notify"功能,使用者在 "named.conf" 設定中在需要的 zone 中加入"notify"的設定,則 master server在 update 完成某個 zone file 的 data 後便會主動發個訊息(NOTIFY),藉以通知該其它的 slave servers,因此如果 slave servers 也有支援這個"notify"功能時,接下來 slave servers 馬上就可以做 zone transfer 來update data。
e.g.
zone "twnic.com.tw" { type master; file "twnic.hosts"; notify yes; also-notify { 192.168.10.1; }; //指定slave server的IP位址 };
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
Retry
當 slave server 無法和 master 進行 serial check時,要每隔幾秒 retry 一次。
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
Expire
當時間超過 Expire 所定的秒數而 slave server 都無法和 master 取得連絡,那麼 slave 會刪除自己的這份 copy。
![](https://i-blog.csdnimg.cn/blog_migrate/85d9cd2589b5db0ee18b395e7ee8f43d.gif)
Minimum
代表這個 zone file 中所有 record 的內定的 TTL 值,也就是其它的 DNS server cache 這筆 record 時,最長不應該超過這個時間。