网络出现的早期是使用IP地址通讯的,但是随着接入网络的主机增多,这种数字标识的地址非常不便于记忆,然后就出现了hosts文件,这个文件中记录着主机名称和ip地址对应表;后来进入互联网高速发展时期,每天都有无数计算机加入互联网,这个时候hosts文件的缺点就出现了,1、无法保证所有人的hosts文件统一,2、随着记录的增多,文件越来越庞大。慢慢的hosts文件不堪重负,这时DNS系统出现了,DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与ip地址的对应关系,客户端如果向查询主机名和ip的对应关系,把请求给DNS,DNS就会把主机名对应的ip地址记录返回给客户端。
根域就是"."(点号),它由internet名称注册授权机构管理,该机构把该域名空间各部分的管理责任分配给了连接到internet的各个组织。
DNS根域的下一级就是顶级域,有internet名称授权机构管理,常见类型为两种:
组织域:
gob:政府部门
com:商业部门
edu:教育部门
org:民间团体组织
net:网络服务机构
mil:军事部门
国家或地区顶级域名:
cn:中国
hk:中国香港
uk:英国
二级域是注册到个人、组织或公司的名称。这些名称基于相应的顶级域,如baidu.com
主机名处于域名空间结构的最底层,主机名和前面将的域名结合成FQDN,主机名是FQDN的最左端部分,例如www.baidu.com
正向:由域名查找IP地址
反向:由IP地址查找域名
递归:客户端得到的结果只有成功和失败
迭代:dns服务器如果有客户端请求数据则返回正确地址,否则向根或者转发器查询,直到获得结果为止
权威:dns服务器在自己的区域文件里找到了客户端需要查询的记录,就会返回一个权威应答
非权威:
1.其他DNS服务器找到的答案
2.推荐客户端到上一级dns服务器答案
3.缓存里得到答案
(1)客户机将查询www.baidu.com的信息传递到自己的首选DNS服务器。
(2)DNS客户机的首选DNS服务器检查区域数据库,由于此服务器没有baidu.com域的授权记录,因此,它将查询信息传递到根域DNS服务器,请求解析主机名称。(如果配置了转发器,则给转发器)
(3)根域DNS服务器把负责解析"com"顶级域的DNS服务器的IP地址返回给DNS客户机的首选DNS服务器。
(4)首选DNS服务器将请求发送给负责"com"域的DNS服务器。
(5)负责"com"域的服务器根据请求将负责"baidu.com"域的DNS服务器的IP地址返回给首选DNS服务器。
(6)首选DNS服务器向负责"baidu.com"区域的DNS服务器发送请求。
(7)由于此服务器具有www.baidu.com的记录,因此它将 www.baidu.com 的IP地址返回给首选DNS 服务器。
(8)客户机的首选DNS服务器将 www.baidu.com 的IP 地址发送给客户机。
(9)域名解析成功后,客户机将http请求发送给Web服务器。
(10)Web服务器响应客户机的访问请求,客户机便可以访问目标主机。
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;
A:internet Address,作用,记录FQDN和ip地址的对应关系
AAAA: FQDN --> IPv6
PTR: PoinTeR,记录IP地址对应的FQDN
NS: Name Server,专用于标明当前区域的DNS服务器
CNAME:Canonical Name,别名记录
MX: Mail eXchanger,邮件交换器
语法:name[TTL]IN rr_type value
注意:
(1) TTL可从全局继承;
(2) @可用于引用当前区域的名字;
(3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应;
(4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已;
name: 当前区域的名字,例如"xmfb.com.";
value: 有多部分组成
(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2) 录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如linuxedu.xmfb.com;
(3) (主从服务协调属性的定义以及否定的答案的统一的TTL)
例如:
xmfb.com. 86400 IN SOA ns.xmfb.com. nsadmin.xmfb.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如ns.xmfb.com.;
注意:一个区域可以有多个NS记录;
例如:
xmfb.com. IN NS ns1.xmfb.com.
xmfb.com. IN NS ns2.xmfb.com.
注意:
(1) 相邻的两个资源记录的name相同时,后续的可省略;
(2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名;
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;
例如:
xmfb.com. IN MX 10 mx1.xmfb.com.
IN MX 20 mx2.xmfb.com.
注意:
(1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录;
name: 某主机的FQDN,例如www.xmfb.com.
value: 主机名对应主机的IP地址;
例如:
www.xmfb.com. IN A 1.1.1.1
www.xmfb.com. IN A 1.1.1.2
mx1.xmfb.com. IN A 1.1.1.3
mx2.xmfb.com. IN A 1.1.1.3
泛域名解析
*.xmfb.com. IN A 1.1.1.4
xmfb.com. IN A 1.1.1.4
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址;
name: FQDN
value: IPv6
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addra.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.xmfb.com
简写成:
4 IN PTR www.xmfb.com.
注意:网络地址及后缀可省略;主机地址依然需要反着写;
name: 别名的FQDN
value: 正工名字的FQDN;
例如:
web.xmfb.com. IN CNAME www.xmfb.com.
主dns服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器;需要自行建立所负责区域的地址数据文件。
从域名服务器:与主服务器提供完全相同的DNS解析服务,通常用与DNS服务器的热备份。对于客户端来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。关键区别是,从域名服务器提供的解析结果并不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
缓存dns服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根区域或指定其他dns服务器作为解析来源。
转发器:当DNS服务器在接到DNS客户端的查询请求后,他将在所管辖区域的数据库中查找是否有该客户端的数据,当改服务器没有客户端数据的时候就需要转发给其他DNS服务器;如果没有配置转发器则转发给根。
域名空间由多个域构成,DNS提供了将域名空间划分为一个或多个区域的方法,这样使得管理更加方便。如www.baidu.com,根的子域是com,com的子域是baidu。有人找根说要解析com,根就说com不是我负责,是com服务器服务,这样就省去了根查询记录的消耗。
dig:语法dig [-t type] name [@SERVER] [query options]
dig用于测试dns系统,因此,不会查询hosts文件进行解析;
查询选项:
+[no]trace:跟踪解析过程
+[no]recurse:进行递归解析
示例:追踪解析百度过程
[root@bogon ~]# dig -t A www.baidu.com +trace ; <<>> DiG9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> -t A www.baidu.com+trace ;; global options: +cmd . 493565IN NS h.root-servers.net. . 493565IN NS e.root-servers.net. . 493565IN NS m.root-servers.net. . 493565IN NS f.root-servers.net. . 493565IN NS k.root-servers.net. . 493565IN NS a.root-servers.net. . 493565IN NS j.root-servers.net. . 493565IN NS b.root-servers.net. . 493565IN NS c.root-servers.net. . 493565IN NS d.root-servers.net. . 493565IN NS i.root-servers.net. . 493565IN NS g.root-servers.net. . 493565IN NS l.root-servers.net. ;; Received 228 bytes from202.102.224.68#53(202.102.224.68) in 10485 ms com. 172800IN NS m.gtld-servers.net. com. 172800IN NS l.gtld-servers.net. com. 172800IN NS k.gtld-servers.net. com. 172800IN NS j.gtld-servers.net. com. 172800IN NS i.gtld-servers.net. com. 172800IN NS h.gtld-servers.net. com. 172800IN NS g.gtld-servers.net. com. 172800IN NS f.gtld-servers.net. com. 172800IN NS e.gtld-servers.net. com. 172800IN NS d.gtld-servers.net. com. 172800IN NS c.gtld-servers.net. com. 172800IN NS b.gtld-servers.net. com. 172800IN NS a.gtld-servers.net. ;; Received 491 bytes from 198.41.0.4#53(198.41.0.4)in 2314 ms baidu.com. 172800IN NS dns.baidu.com. baidu.com. 172800IN NS ns2.baidu.com. baidu.com. 172800IN NS ns3.baidu.com. baidu.com. 172800IN NS ns4.baidu.com. baidu.com. 172800IN NS ns7.baidu.com. ;; Received 201 bytes from 192.54.112.30#53(192.54.112.30)in 473 ms www.baidu.com. 1200 IN CNAME www.a.shifen.com. a.shifen.com. 1200 IN NS ns4.a.shifen.com. a.shifen.com. 1200 IN NS ns1.a.shifen.com. a.shifen.com. 1200 IN NS ns2.a.shifen.com. a.shifen.com. 1200 IN NS ns3.a.shifen.com. a.shifen.com. 1200 IN NS ns5.a.shifen.com. ;; Received 228 bytes from202.108.22.220#53(202.108.22.220) in 18 ms
测试反向解析:
dig-x IP @SERVER
模拟区域传送:
dig-t axfr ZONE_NAME @SERVER
例如:dig -t axfr xmfb.com @172.16.100.11
host命令:
host[-t type] name [SERVER]
nslookup命令:
nslookup [-option] [name | -] [server]
交互式模式:
nslookup>
serverIP: 指明使用哪个DNS server进行查询;
setq=RR_TYPE: 指明查询的资源记录类型;
NAME:要查询的名称;
rndc:客户端管理dns服务器的工具,远程管理dns服务器不常见,一般都是本机管理使用
语法:
rndcCOMMAND
COMMAND:
reload:重载主配置文件和区域解析库文件
reloadzone: 重载区域解析库文件
retransferzone: 手动启动区域传送过程,而不管序列号是否增加;
notifyzone: 重新对区域传送发通知;
reconfig:重载主配置文件
querylog:开启或关闭查询日志;
trace:递增debug级别;
traceLEVEL: 指定使用的级别;
Linux下位置:
/etc/hosts
Window下位置:
%WINDOWS%/system32/drivers/etc/hosts
系统环境说明:
[root@bogon ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@bogon ~]# uname -rm 2.6.32-504.el6.x86_64 x86_64
bind:提供了域名服务的主要程序及相关文件
bind-libs: 提供了bind、bind-utils需要使用的库函数
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等
bind-chroot:为 bind服务提供了一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录)
补充:程序包名bind,程序名named
[root@DNS ~]# yum -y install bind 省略部分………… Dependency Updated: bind-libs.x86_64 32:9.8.2-0.30.rc1.el6_6.2 bind-utils.x86_64 32:9.8.2-0.30.rc1.el6_6.2
/etc/rc.d/init.d/named 服务脚本
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones 辅助配置文件
/etc/rndc.conf rndc配置文件
/usr/sbin/named-checkconf 检查主配置文件是否有语法错误
/usr/sbin/named-checkzone 检查区域配置是否有语法错误
/var/log/named.log 日志文件
主配置文件详解:
默认主配置文件和参数说明
[root@DNS ~]# cat /etc/named.conf options { #全局配置段,除了direction之外都可以删除 listen-onport 53 { 127.0.0.1; }; #设置对外监听的地址ipv4 listen-on-v6port 53 { ::1; }; #设置对外监听的地址ipv6 directory "/var/named"; #定义区域解析库文件目录 dump-file "/var/named/data/cache_dump.db"; #缓存服务器数据库 statistics-file "/var/named/data/named_stats.txt"; #状态统计文件 memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; #设置服务器允许谁查询,localhost表示本机,推荐设置为any recursionyes; #是否允许递归查询 dnssec-enableyes; dnssec-validationyes; dnssec-lookasideauto; /* Path toISC DLV key */ bindkeys-file"/etc/named.iscdlv.key"; managed-keys-directory"/var/named/dynamic"; }; logging { #日志配置段 channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { #区域配置段,可以出现多个,一个zone表示一个区域 type hint; #定义了区域类型,hint表示根区域 file"named.ca"; #解析库文件 }; include "/etc/named.rfc1912.zones"; #此文件定义了区域配置 include "/etc/named.root.key"; #安全相关配置,一般删除即可
区域数据配置文件,下面自动生成的两个配置文件,分别是实现localhost和本地回环地址的解析库
[root@DNS named]# cat named.localhost $TTL 1D #有效解析记录的生存周期 @ IN SOA@ rname.invalid. ( #定义了SOA记录、域名(@表示搜索域)、管理邮箱(邮箱中的@需要使用.代替) 0 ; serial #更新序列号 1D ; refresh #刷新时间,重新下载地址数据的间隔 1H ; retry #重试延迟,下载失败后的重试间隔 1W ; expire #失效时间,超过该时间仍无法下载则放弃 3H) ; minimum #无效解析记录的生存周期 NS @ #NS记录,@表示当前区域 A 127.0.0.1 AAAA ::1 [root@DNS named]# cat named.loopback $TTL 1D @ IN SOA@ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum NS @ A 127.0.0.1 AAAA ::1 PTR localhost.
缓存域名服务器通常架设在公司的局域网内,主要的目的是提高域名解析的速度,减少对互联网访问出口的流量。
配置方法:
配置主配置文件named.conf
监听的地址添加外部地址即可
[root@bogon ~]# vim /etc/named.conf options { listen-on port 53 { 192.168.0.104; 127.0.0.1; }; #设置其监听外部地址即可 directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursionyes; }; zone "." IN { typehint; file"named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2.确认根区域数据文件named.ca
根区域文件是默认创建好的,不需要进行修改,只要保证文件存在即可
[root@DNS ~]# cd /var/named/ [root@DNS named]# cat named.ca ; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2<<>> +norec NS . @a.root-servers.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:NOERROR, id: 26229 ;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY:0, ADDITIONAL: 24 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1472 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 518400IN NS a.root-servers.net. . 518400IN NS b.root-servers.net. . 518400IN NS c.root-servers.net. . 518400IN NS d.root-servers.net. . 518400IN NS e.root-servers.net. . 518400IN NS f.root-servers.net. . 518400IN NS g.root-servers.net. . 518400IN NS h.root-servers.net. . 518400IN NS i.root-servers.net. . 518400IN NS j.root-servers.net. . 518400IN NS k.root-servers.net. . 518400IN NS l.root-servers.net. . 518400IN NS m.root-servers.net. ;; ADDITIONAL SECTION: a.root-servers.net. 518400IN A 198.41.0.4 b.root-servers.net. 518400IN A 192.228.79.201 c.root-servers.net. 518400IN A 192.33.4.12 d.root-servers.net. 518400IN A 199.7.91.13 e.root-servers.net. 518400IN A 192.203.230.10 f.root-servers.net. 518400IN A 192.5.5.241 g.root-servers.net. 518400IN A 192.112.36.4 h.root-servers.net. 518400IN A 128.63.2.53 i.root-servers.net. 518400IN A 192.36.148.17 j.root-servers.net. 518400IN A 192.58.128.30 k.root-servers.net. 518400IN A 193.0.14.129 l.root-servers.net. 518400IN A 199.7.83.42 m.root-servers.net. 518400IN A 202.12.27.33 a.root-servers.net. 518400IN AAAA 2001:503:ba3e::2:30 c.root-servers.net. 518400IN AAAA 2001:500:2::c d.root-servers.net. 518400IN AAAA 2001:500:2d::d f.root-servers.net. 518400IN AAAA 2001:500:2f::f h.root-servers.net. 518400IN AAAA 2001:500:1::803f:235 i.root-servers.net. 518400IN AAAA 2001:7fe::53 j.root-servers.net. 518400IN AAAA 2001:503:c27::2:30 k.root-servers.net. 518400IN AAAA 2001:7fd::1 l.root-servers.net. 518400IN AAAA 2001:500:3::42 m.root-servers.net. 518400IN AAAA 2001:dc3::35 ;; Query time: 58 msec ;; SERVER: 198.41.0.4#53(198.41.0.4) ;; WHEN: Wed Apr 23 14:52:37 CEST 2014 ;; MSG SIZE rcvd: 727
3.启动named服务,启动之后只要监听了tcp和udp的53端口,就说明启动成功
[root@DNS named]# service named start [root@DNS ~]# netstat -tnul | grep :53 tcp 0 0 192.168.0.102:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN udp 0 0 192.168.0.102:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:*
4.验证缓存域名服务器
[root@slave ~]# nslookup > www.baidu.com Server: 192.168.0.102 Address: 192.168.0.102#53 Non-authoritative answer: www.baidu.comcanonicalname = www.a.shifen.com. Name: www.a.shifen.com Address: 61.135.169.125 Name: www.a.shifen.com Address: 61.135.169.121
1、在主配置文件中定义区域
[root@DNS ~]# vim /etc/named.rfc1912.zones zone "xmfb.com" IN { #定义区域 typemaster; #定义区域类型 file"xmfb.com.zone"; #区域数据文件 };
2、定义区域解析库文件
[root@DNS named]# vim xmfb.com.zone $TTL 86400 $ORIGIN xmfb.com. @ IN SOA ns1.xmfb.com. admin.xmfb.com ( 2015042201 1H 5M 7D 1D ) IN NS ns1 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A 192.168.0.102 mx1 IN A 192.168.0.1 mx2 IN A 192.168.0.2 www IN A 192.168.0.3 #定义两条记录可以起到负载均衡的作用 www IN A 192.168.0.4 ftp IN CNAME www
设置完成之后修改正向解析库文件属组为named,并重新载入配置文件
[root@DNS ~]# chown :named /var/named/xmfb.zone [root@DNS ~]# service named reload
使用客户端解析验证
[root@slave ~]# nslookup > #解析A记录 Server: 192.168.0.102 Address: 192.168.0.102#53 Name: www.xmfb.com Address: 192.168.0.3 Name: www.xmfb.com Address: 192.168.0.4 > set type=mx #解析邮件交换记录 > xmfb.com Server: 192.168.0.102 Address: 192.168.0.102#53 xmfb.com mailexchanger = 20 mx2.xmfb.com. xmfb.com mailexchanger = 10 mx1.xmfb.com.
1、修改主配置文件
[root@DNS ~]# cat /etc/named.rfc1912.zones zone "0.168.192.in-addr.arpa" { typemaster; file"192.168.0.arpa"; };
2、定义区域解析库
[root@DNS ~]# cat /var/named/192.168.0.arpa $TTL 86400 @ IN SOAns1.xmfb.com.admin.xmfb.com ( 2015042201 1H 5M 7D 1D) INNS ns1.xmfb.com. 102IN PTR ns1.xmfb.com. 1 IN PTR mx1.xmfb.com. 2 IN PTR mx2.xmfb.com. 3 IN PTR www.xmfb.com. 4 IN PTR www.xmfb.com.
3、修改反向区域解析库属组,并且重启服务
[root@DNS named]# chown :named 192.168.0.arpa [root@DNS named]# service named restart
4、客户端解析验证
[root@slave ~]# nslookup > 192.168.0.1 Server: 192.168.0.102 Address: 192.168.0.102#53 1.0.168.192.in-addr.arpaname = mx1.xmfb.com. > 192.168.0.2 Server: 192.168.0.102 Address: 192.168.0.102#53 2.0.168.192.in-addr.arpaname = mx2.xmfb.com. > 192.168.0.3 Server: 192.168.0.102 Address: 192.168.0.102#53 3.0.168.192.in-addr.arpaname = www.xmfb.com.
主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护;
从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;
序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增;
刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔;
重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔;
过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务;
主服务器:192.168.0.102
从服务器:192.168.0.104
主服务器配置:
[root@DNS ~]# vim /etc/named.rfc1912.zones zone "xmfb.com" IN { typemaster; file"xmfb.com.zone"; allow-transfer { 192.168.0.104; }; #指定允许传送的服务器地址 }; zone "0.168.192.in-addr.arpa" { typemaster; file"192.168.0.arpa"; allow-transfer { 192.168.0.104; }; };
从服务器配置:
[root@slave ~]# cat /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file"named.ca"; }; zone "xmfb.com" IN { type slave; masters {192.168.0.102; }; #指定主服务器地址 file"slaves/xmfb.com.zone"; }; zone "0.168.192.in-addr.arpa" { type slave; masters {192.168.0.102; }; file"slaves/192.168.0.arpa"; };
配置完成之后两边分别重启服务就可以成功同步。
验证同步:
[root@slave ~]# ll /var/named/slaves/ total 8 -rw-r--r-- 1 named named 443 Apr 23 10:45192.168.0.arpa -rw-r--r-- 1 named named 451 Apr 23 10:39xmfb.com.zone
复制过来的内容还自己添加了注释
[root@slave slaves]# cat xmfb.com.zone $ORIGIN . $TTL 86400; 1day xmfb.com INSOAns1.xmfb.com. admin.xmfb.com.xmfb.com.( 2015042201; serial 3600 ; refresh (1 hour) 300 ; retry (5 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns1.xmfb.com. MX 10 mx1.xmfb.com. MX 20 mx2.xmfb.com. $ORIGIN xmfb.com. ftp CNAME www mx1 A 192.168.0.1 mx2 A 192.168.0.2 ns1 A 192.168.0.102 www A 192.168.0.3 A 192.168.0.4
本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://ximenfeibing.blog.51cto.com/8809812/1640458
原文地址:http://ximenfeibing.blog.51cto.com/8809812/1640458