我已经在谷歌搜索了好几天但似乎找不到答案。
我见过多个托管服务提供商只有 3 个名称服务器(ns1.example.com、ns2.example.com、ns3.example.com),并且他们有多个共享托管服务器(web001、web002 等)
他们如何让这 3 个名称服务器为所有共享托管服务器服务?
答案1
每个名称服务器每秒应能响应数十万个请求。浏览排名前 1000 以外的网站的用户发出的 HTTP 请求数不会接近每分钟或每小时几千个。
关于 DNS 及其演变的进一步阅读:
https://www.ietf.org/rfc/rfc1035.txt
http://www.watersprings.org/pub/id/draft-sury-deprecate-obsolete-resource-records-01.html
答案2
DNS 服务器、名称服务器通常是独立的服务器,不用于其他服务。
名称服务器可用作(实际上)无限数量的域名的权威名称服务器。
例如在 ISC Bind 中,这将是named.conf
配置具有与域一样多的“区域”节:
# named.conf
... other settings:
// We are the primary server for example.com
zone "example.com" {
// this is the primary name server for the zone
type primary;
file "example.com";
// this is the default
notify yes;
// IP addresses of secondary servers allowed to
// transfer example.com from this server
allow-transfer {
192.168.4.14;
192.168.5.53;
};
};
// We are the primary server for example.org
zone "example.org" {
// this is the primary name server for the zone
type primary;
file "example.org";
// this is the default
notify yes;
// IP addresses of secondary servers allowed to
// transfer example.com from this server
allow-transfer {
192.168.4.14;
192.168.5.53;
};
};
以及每个域/区域以及包含该域的实际 DNS 记录的相关区域文件。
例如
; zone file for example.com
$TTL 2d ; 172800 secs default TTL for zone
$ORIGIN example.com.
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; se = serial number
12h ; ref = refresh
15m ; ret = update retry
3w ; ex = expiry
3h ; min = minimum
)
IN NS ns1.example.com.
IN MX 10 mail.example.net.
joe IN A 192.168.254.3
www IN CNAME joe
对于网站托管:(基于名称的)虚拟托管机制是在单个服务器上托管多个独立网站的经典方式。例如,请参阅维基百科文章:https://en.wikipedia.org/wiki/Virtual_hosting