20170919 DNS服务(一)

作者: 哈喽别样 | 来源:发表于2017-09-25 14:26 被阅读90次
  • DNS简介
  • DNS解析关键概念
  • BIND

一、DNS简介:

(一)DNS服务

  • DNS:Domain Name Service,域名解析服务,服务于应用层的协议
  • 端口:TCP的53端口和UDP的53端口
  • 主流软件实现:BIND(Berkeley Internet Name Domain)
  • 域名解析方式:
    • 本地解析:hosts文件,每一行格式IP地址 域名
    • 网络分层解析:DNS服务
    • 域名解析时先查询本机hosts文件,匹配则直接使用文件中的域名;若无匹配项,再使用DNS服务

(二)DNS域名

  • 分层设计,自上而下分为:根域、一级域名、二级域名、三级域名......,最多127级
  • 一级域名:
    • 组织域名:com, edu, mil, gov, net, org
    • 国家地区域名:cn, uk, hk
    • 反向域名:arpa

(三)DNS解析

  • 按查询类型分为:递归解析和迭代解析

    • 递归解析:客户端向所在网络DNS服务器发起请求,DNS服务器发回解析结果的过程
    • 迭代解析:当某个DNS服务器无法解析客户端的请求时,从根域名服务器开始,向每层DNS服务器发出请求,并接收每层DNS服务器的查询结果,直至找到权威DNS服务器(存储主机准确IP地址的服务器)的过程
  • 一次完整的查询请求经过的流程:
    Client -->hosts文件-->DNS Service Local Cache(本地DNS缓存,Windows有,Linux没有)--> DNS Server (recursion, 递归) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

  • 按解析方向解析:

    • FQDN(Fully Qualified Domain Name):完全合格域名,主机+全域名路径,逻辑上能够准确表达主机的位置
    • 正向解析:FQDN解析为IP
    • 反向解析:IP解析为FQDN
    • 正向解析和反向解析是两个不同的名称空间,两个不同的解析树

(四)DNS服务器类型

  • 主服务器:管理和维护所在域的解析服务

  • 从服务器:主服务器解析库的镜像,复制和更新的过程称为区域传输,涉及的概念有:

    • 序列号(serial):解析库版本号,主服务器解析库变化时,其序列递增,从服务器从序列号判断主服务器的解析库是否发生变化,最长10位数字
    • 刷新时间间隔(refresh):从服务器从主服务器请求同步解析的时间间隔
    • 重试时间间隔(retry):从服务器请求同步失败时,再次尝试时间间隔
    • 过期时长(expire):从服务器联系不到主服务器时,多久后停止服务
  • 缓存服务器:转发器

  • 主从服务器解析库更新机制:Push和Pull

    • Push:推送,主服务器解析库发生变化时,主动通知从服务器更新
    • Pull:拉取,从服务器按照设置每隔一定时间主动同步主服务器的解析库

二、DNS解析关键概念:

(一)资源记录(RR, Resource Record)

  • 每个DNS服务器的解析库由各类RR组成

  • 资源记录的类型:

    • SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
    • A:Internet Address,FQDN --> IP
    • AAAA:FQDN --> IPv6
    • PTR:PoinTeR,IP --> FQDN
    • NS:Name Server,专用于标明当前区域的DNS服务器
    • CNAME:别名记录
    • MX:Mail eXchanger,邮件交换器
  • 资源记录定义的格式:

    • 语法:name [TTL] IN rr_type value
    • 注意:
      (1) TTL(缓存的生命期)可从全局继承,如:$TTL 1d
      (2) @可用于引用当前域的名字
      (3) 同一个名字可以通过多条记录定义多个不同的IP,此时DNS服务器会以轮询方式响应,这种方式实现了简单的平衡负载
      (4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机
      (5) 相邻资源记录的name相同时,后续的name可以省略

(二)SOA记录

  • name:当前域名,可用"@"代替

  • value:包含多部分内容
    (1) 当前区域的主DNS服务器的FQDN(无命名要求,只要和相应的A记录匹配即可)
    (2) 当前区域管理员的邮箱地址;但地址中不能使用"@"符号,一般用"."替换,例如linuxedu.hellopeiyang.com.
    (3) 主从服务器区域传输相关定义,否定结果缓存统一的TTL

(三)NS记录

  • name:当前域名,可用"@"代替,常省略
  • value:当前域DNS服务器的主机名
  • 一个域可以有多条NS记录,每条记录都应该匹配一条A记录

(四)MX记录

  • name:当前域名,可用"@"代替,常省略
  • value:当前域的邮件服务器的主机名,格式:## mail_server_addr
    ##表示数字(1-99),数字越小优先级越高
  • 一个域可以有多条MX记录,每条记录都应该匹配一条A记录

(五)A记录和AAAA记录

  • name:主机的FQDN
  • value:主机的IP地址
  • 特殊写法:
    $GENERATE 1-254 HOST$ A 1.2.3.$:按照序号排列规律的FQDN与IP的对应关系
    *.magedu.com. IN A 5.5.5.5:泛域名解析,当用户输错地址时,统一解析至某个地址
    magedu.com. IN A 6.6.6.6:当用户没有输入www主机名时解析至地址
  • AAAA记录与A记录相似,只是IP地址为IPv6地址

(六)CNAME记录

  • name:别名QFDN
  • value:真实名QFDN

(七)PTR记录

  • name:特定格式IP+特定后缀
    IP地址反过来写:如1.2.3.4写作4.3.2.1
    特定后缀:in-addr.arpa.
    完整写法:4.3.2.1.in-addr.arpa.
  • value:FQDN

三、BIND:

(一)BIND的安装

  • 安装:yum install BIND
  • 列出BIND有关程序包名:yum list all BIND*
    bind:服务器
    bind-libs:相关库
    bind-utils:客户端
    bind-chroot:迁移BIND目录至深层目录,减少BIND被黑客攻破对系统的影响
  • 程序名:named
  • 服务脚本:
    /etc/rc.d/init.d/named CentOS 6
    /usr/lib/systemd/system/named.service CentOS 7
  • 主要配置文件:
    /etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
  • 解析库文件
    /var/named/ZONE_NAME.ZONE

(二)BIND的配置

(1)配置主配置文件:/etc/named.conf
  • 全局配置:options {};
  • 日志子系统配置:logging {};
  • 区域定义:zone "ZONE_NAME" IN {};
  • 定义本机能够提供解析的zone
  • dnssec:dns的安全选项,建议关闭dnssec,设为no
(2)配置解析库文件:按照资源记录的格式定义
(3)格式检查:
  • 主配置文件语法检查:named-checkconf
  • 解析库文件语法检查:named-checkzone zone_name PATH_TO_ZONE_NAME
(4)重载配置:

rndc reloadservice named reload

(5)实验:配置基本的DNS服务,DNS正向解析

将192.168.136.230配置为"hellopeiyang.com"域的DNS服务器,本区域主机"websrv"的IP地址为192.168.136.229,"www"是"websrv"的别名,邮件服务器"mailsrv1"的IP地址为192.168.136.100,邮件服务器"mailsrv2"的IP地址为192.168.136.101,mailsrv1的优先级更高

  • 第1步,配置主配置文件/etc/named.conf,修改options字段,修改部分如下:
vim /etc/named.conf

options {
        listen-on port 53 { localhost; };
        //修改监听主机IP为localhost,这样网络上的其他主机可以连接本机的DNS服务
        //也可以通过注释本条语句达到相同效果
        allow-query     { any; };
        //修改允许查询的客户端网段,any表示任意客户端可以向本机发起DNS请求,并得到查询结果
};
  • 第2步,修改独立区域配置文件,添加区域配置信息:
vim /etc/named.rfc1912.zones

zone "hellopeiyang.com" IN {
        type master;                      //类型为主服务器
        file "hellopeiyang.com.zone";     //必须与/var/named下的文件名相同
};
  • 第3步,配置解析库文件
    解析库文件可以手动编辑,也可以复制类似文件修改,这里将/var/named目录下的named.localhost文件复制并重命名为hellopeiyang.com.zone文件,并作出相应修改
cp -p /var/named/named.localhost /var/named/hellopeiyang.com.zone  //复制时保留所属组权限
vim /var/named/hellopeiyang.com.zone

$TTL 1D     //DNS缓存生命期的全局设置
@       IN SOA  dns1 admin.hellopeiyang.com. (    
//dns1:主DNS服务器域名
//本配置文件中凡是域名处若末尾不加"."系统识别时自动认为其后增加当前域名,
如这里"dns1"视作"dns1.hellopeiyang.com."
                                        100     ; serial     //序列号,不多于10位
                                        1D      ; refresh    //从DNS服务器更新时间
                                        1H      ; retry      //从DNS服务器重试时间
                                        1W      ; expire     //从DNS服务器失效时间
                                        3H )    ; minimum    //错误的DNS缓存生命期
        NS      dns1             //DNS服务器主机名
dns1    A       192.168.136.230  //DNS服务器的IP地址
websrv  A       192.168.136.229  //本域下的主机websrv的IP地址
www     CNAME   websrv           //主机websrv的别名
@       MX      10 mailsrv1      //邮件服务器mailsrv1.hellopeiyang.com
@       MX      20 mailsrv2      //邮件服务器mailsrv2.hellopeiyang.com
mailsrv1  A     192.168.136.100  //邮件服务器mailsrv1.hellopeiyang.com的IP
mailsrv2  A     192.168.136.101  //邮件服务器mailsrv2.hellopeiyang.com的IP
  • 第4步,格式检查:
    检查主配置文件:named-checkconf
    检查解析库文件:named-checkzone hellopeiyang.com hellopeiyang.com.zone
  • 第5步,重新载入配置:
    rndc reload 或者 systemctl reload named

  • 第6步,测试:
    dig www.hellopeiyang.com @192.168.136.230
    测试成功,返回结果中NS、A、CNAME记录与设置相同,同时aa标签表明指定的DNS服务器192.168.136.230是www.hellopeiyang.com网路主机的权威服务器

(6)只允许DNS返回本机存在的DNS记录(适用于企业内网)

修改/etc/named.conf文件options字段recursion选项,修改如下:
recursion no;
此时,请求一个DNS服务器不知道的域名,服务器直接拒绝

(三)测试命令

(1)dig命令
  • 语法:dig [-t type] name [@SERVER]
    dig只用于测试dns系统,不会查询hosts文件进行解析
  • 查询选项:
    +[no]trace:跟踪解析过程
    +[no]recurse:进行递归解析
  • 测试反向解析:dig -x IP
dig -t ns . @114.114.114.114     //查询根DNS服务器域名
dig -t mx hellopeiyang.com @192.168.136.230     //查询hellopeiyang.com域的邮件服务器
(2)host命令
  • 语法:host [-t type] name [SERVER]
host -t ns . 114.114.114.114     //查询根DNS服务器域名
dig -t mx hellopeiyang.com 192.168.136.230     //查询hellopeiyang.com域的邮件服务器
(3)nslookup命令
  • 交互式命令:
    • server IP:指定DNS服务器地址
    • 域名:查找域名的A记录
    • set type=TYPE_NAME:设置之后查询信息的记录类型

(四)反向区域解析

  • 反向区域解析与正向区域解析类似,同样需要修改/etc/named.rfc1912.zones和建立/var/named目录下的解析库文件

  • 第1步,修改独立区域配置文件,添加区域配置信息:

vim /etc/named.rfc1912.zones

zone "136.168.192.in-addr.arpa"{     //反向解析域,IP需要倒写
        type master;
        file "192.168.136.zone";
};
  • 第2步,配置解析库文件:
vim /var/named/192.168.136.zone

$TTL 1d
@  IN  SOA dns1.hellopeiyang.com. admin.hellopeiyang.com. (100 3h 1h 12h 1d )
       NS  dns1.hellopeiyang.com.
230    PTR dns1.hellopeiyang.com.
229    PTR websrv.hellopeiyang.com.
100    PTR mailsrv1.hellopeiyang.com.
101    PTR mailsrv2.hellopeiyang.com.

注意:NS和PTR记录的域名应该写全并以"."结束,以防止系统自动视作在其后添加反向解析域

  • 第3步,格式检查:
    named-checkconf
    named-checkzone 192.168.136.zone /var/named/192.168.136.zone

  • 第4步,重新载入配置:
    rndc reload

  • 第5步,测试:
    dig -x 192.168.136.229 @192.168.136.230 或者下条命令
    dig -t ptr 229.136.168.192.in-addr.arpa @192.168.136.230

(五)bind-chroot程序包

  • 功能:将DNS服务的相关文件移至更深的目录中,减少DNS被攻破时对系统的影响

  • 安装并启动服务:
    yum install bind-chroot
    systemctl start named-chroot

  • 发现/var/named/chroot目录下有很多与named服务相关文件,并且文件的inode相同而硬连接数都只是1

  • 这种情况只能是文件目录挂载所形成的,执行mount命令发现大量相关文件的挂载记录,证明bind-chroot程序实现迁移文件至更深目录的实质是将文件挂载至更深的目录下

(六)允许动态更新

  • 功能:允许客户端通过命令更新解析库资源记录信息
  • 准备工作:
    • 指定的zone语句块中修改allown-update选项
      例如:allow-update {192.168.136.229;};:只允许192.168.136.229主机能够动态更新本机DNS解析库指定zone的资源记录
    • chmod770 /var/named:增加写权限
  • 动态更新命令:nsupdate
nsupdate
>server 192.168.136.230
>zone hellopeiyang.com
>update add ftp.hellopeiyang.com 86400 IN A 192.168.136.150
>send
>update delete ftp.hellopeiyang.com A
>send

(七)从服务器

  • 从DNS服务器从主DNS服务器拷贝解析库文件,共同提供DNS服务,提升DNS服务的可靠性

  • 第1步,从服务器:配置主配置文件,修改options字段的如下内容:

options {
    listen-on port 53 { localhost; };
    allow-query     { any; };
};
  • 第2步,从服务器:修改独立区域配置文件,添加区域配置信息
zone "hellopeiyang.com" IN {
    type slave;
    masters {192.168.136.230;};
    file "slaves/hellopeiyang.com.slave.zone";
};
  • 第3步,主服务器:添加解析库文件NS记录,修改后如下
vim /var/named/hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial     //只要解析库更新,一定要更新序列号
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
        NS      dns2                //增加的NS记录
dns1    A       192.168.136.230
dns2    A       192.168.136.130     //增加的A记录
websrv A        192.168.136.229
www     CNAME   websrv
@       MX      10 mailsrv1
@       MX      20 mailsrv2
mailsrv1  A 192.168.136.100
mailsrv2  A 192.168.136.101
  • 第4步,主服务器、从服务器:设置防止黑客窥视DNS信息

    • 为了防止黑客通过建立从服务器,获得主服务器的解析库信息,需要在主服务器和从服务器的主配置文件/etc/named.conf中options条目中增加"allow-transfer"选项

    • 主服务器增加内容:allow-transfer {192.168.136.130;};:只允许从服务器IP复制解析库文件

    • 从服务器增加内容:allow-transfer {none;};:不允许任何IP复制解析库文件

  • 第5步,主服务器、从服务器:格式检查
    分别在主服务器和从服务器上执行named-checkconf命令
    在主服务器上执行named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone

  • 第6步,主服务器、从服务器:重新载入配置
    rndc reload

  • 第7步,测试
    dig www.hellopeiyang.com @192.168.136.130

  • 注意:客户端查询过程通过UDP的53端口进行,主、从服务器之间的解析库同步操作需要通过TCP和UDP的53端口联合进行。

(八)子域

(1)子域与父域在一台主机上(适用于子域的流量比较小时)
  • 第1步,修改独立区域配置文件,添加子域配置信息,增加的信息如下:
zone "zhengzhou.hellopeiyang.com" IN {
    type master;
    file "zhengzhou.hellopeiyang.com.zone";
};
  • 第2步,添加子域解析库文件,内容如下:
cp -p /var/named/hellopeiyang.com.zone /var/named/zhengzhou.hellopeiyang.com.zone
复制一份父域的解析库文件,在其上做修改
vim /var/named/zhengzhou.hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
dns1    A       192.168.136.230
websrv  A       192.168.136.160
www     CNAME   websrv
@       MX      10 mailsrv1
mailsrv1  A     192.168.136.170
  • 第3步,检查语法
    named-checkconf
    named-checkzone zhengzhou.hellopeiyang.com /var/named/zhengzhou.hellopeiyang.com.zone

  • 第4步,重新载入配置
    rndc reload

  • 第5步,测试
    dig www.zhengzhou.hellopeiyang.com @192.168.136.230

(2)子域与父域不在一台主机上(适用于子域的流量比较大时)

又称作:父域DNS服务器将DNS管理权委派给子域DNS服务器

  • 第1步,父域DNS:在解析库文件中增加子域的NS记录
vim /var/named/hellopeiyang.com.zone

$TTL 1D
@   IN SOA  dns1 admin.hellopeiyang.com. (
                    101 ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  dns1
henan   NS  dns2
dns1    A   192.168.136.230
dns2    A   192.168.136.130
websrv A    192.168.136.229
www CNAME   websrv
@   MX  10 mailsrv1
@   MX  20 mailsrv2
mailsrv1  A 192.168.136.100
mailsrv2  A 192.168.136.101

named-checkzone hellopeiyang.com /var/named/hellopeiyang.com.zone     //检查语法
rndc reload     //重新载入配置
  • 第2步,子域DNS:创建子域shanghai.hellopeiyang.com
//步骤1:修改主配置文件
vim /etc/named.conf     //修改的内容如下

options {
        listen-on port 53 { localhost; };
        allow-query     { any; };
};

//步骤2:修改独立区域配置文件
vim /etc/named.rfc1912.zones     //增加的内容如下

zone "henan.hellopeiyang.com" IN {
        type master;
        file "henan.hellopeiyang.com.zone";
};

//步骤3:创建解析库文件
vim /var/named/henan.hellopeiyang.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                        101     ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns1
dns1    A       192.168.136.130
websrv  A       192.168.136.133
www     CNAME   websrv

chgrp named /var/named/henan.hellopeiyang.com.zone     //更改所属组

//步骤4:检查语法
named-checkconf 
named-checkzone henan.hellopeiyang.com /var/named/henan.hellopeiyang.com.zone

//步骤5:重新载入配置
rndc roload
  • 第3步,测试
    dig www.henan.hellopeiyang.com @192.168.136.230

(九)转发服务器

(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器

实现:修改/etc/named.conf文件

options {
forward first|only;    
//first:转发到达的DNS服务器若解析失败,则自身直接发起DNS解析请求
//only:转发到达的DNS服务器若解析失败,则自身不再发起请求,本次DNS解析结果为失败
forwarders { ip;};
};
(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高

实现:修改/etc/named.rfc1912.zones文件

zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
(3)实验一:实现全局转发
  • 第1步,转发服务器的设置:
vim /etc/named.conf
options{
  forward first;
  forwarders {192.168.136.139;};     //凡是不在本区域DNS服务器中的请求一律转发给192.168.136.139
  dnssec-enable no;
  dnssec-validation no;
};
named-checkconf
rndc reload
  • 第2步,被转发服务器:设置DNS服务
//步骤1:修改主配置文件
vim /etc/named.conf 

options {
  listen-on port 53 { localhost;};
  allow-query     { any; };
};

//步骤2:修改独立区域配置文件
vim /etc/named.rfc1912.zones

zone "byebye.com" IN {
  type master;
  file "byebye.com.zone";
};

//步骤3:创建解析库文件
vim /var/named/byebye.com.zone

$TTL 1D
@       IN SOA  dns1 admin.hellopeiyang.com. (
                                         101     ; serial
                                         1D      ; refresh
                                         1H      ; retry
                                         1W      ; expire
                                         3H )    ; minimum
         NS      dns1
 dns1    A       192.168.136.139
 websrv A        192.168.136.66
 www     CNAME   websrv

chgrp named /var/named/beijing.hellopeiyang.com.zone     //更改所属组

//步骤4:检查语法
named-checkconf
named-checkzone byebye.com /var/named/byebye.com.zone

//步骤5:重新载入配置
rndc reload
  • 第3步,测试
    dig www.byebye.com @192.168.136.230
(4)实验二:实现特定区域转发
  • 第1步,转发服务器的设置:
vim /etc/named.rfc1912.zones

zone "byebye.com" IN {
        type forward;
        forward first;
        forwarders {192.168.136.139;}; 
        //仅当请求解析beijing.hellopeiyang.com区域时,转发给192.168.136.224 
};
named-checkconf
rndc reload
  • 第2步,被转发服务器:设置DNS服务,与实验一:实现全局转发过程完全相同

  • 第3步,测试
    dig www.byebye.com @192.168.136.230

(十)bind中的acl

  • acl:把一个或多个地址归并为一个集合,并通过一个统一的名称调用

  • 语法:

acl acl_name{
  ip;
  net/prelen;
  ……
};
  • acl只能先定义后使用,因此一般定义在/etc/named.conf文件中options前面

  • bind的内置acl

    • none:没有一个主机
    • any:任意主机
    • localhost:本机
    • localnet:本机的IP同掩码运算后得到的网络地址
  • 访问控制的指令

    • allow-query {}:允许查询的主机;白名单
    • allow-transfer {}:允许区域传送的主机;白名单
    • allow-recursion {}:允许递归的主机,建议全局使用
    • allow-update {}:允许更新区域数据库中的内容
  • 实验:使用acl功能只允许192.168.136.0网段的主机查询DNS服务
    编辑/etc/named.conf文件,添加acl设置,并且在allow-query字段中添加acl

vim /etc/named.conf

acl lan {
        192.168.136.0/24;
};

options {
        listen-on port 53 { localhost; };
        allow-query     { lan;localhost; };     //添加名为lan的acl
};

named-checkconf
rndc reload

此时,只有192.168.136.0/24的网段可以查询DNS其他网段的请求会被服务器拒绝

相关文章

  • 20170919 DNS服务(一)

    DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...

  • DNS

    DNS服务 DNS域名 DNS域名结构 DNS解析 DNS服务器类型 区域传输 DNS解析 区域数据库 添加CNA...

  • 域名解析配置

    DNS层级结构 根DNS服务器:返回顶级域名DNS服务器的IP地址,*.cn 顶级域名DNS服务器:返回权威DNS...

  • docker搭建rabbitmq集群

    搭建DNS服务 为了方便rabbitmq服务之间能互链需要搭建DNS服务 创建dns docker容器,注意必须要...

  • 自建DNS管理子域名

    ref1 ubuntu DNS服务ref2 centos DNS服务ref3 DNS 服务详解 变量说明 INT_...

  • 服务器宝塔面板改DNS

    把服务器DNS改为 阿里DNS 主要DNS:223.5.5.5 备用DNS:223.6.6.6

  • DNS 服务配置

    DNS 服务配置 一、DNS 服务器配置   安装服务组件:yum install bind-libs bind ...

  • 应用层(三)

    目录 2.5 DNS:因特网的目录服务 DNS提供的服务 DNS工作机理概述 DNS记录和报文 2.6 P2P应用...

  • day6

    DNS复习演示所有试验 只要在服务器装好dns,就是一台dns服务器1.搭建dns服务器 ,都在一个交换机内2.配...

  • 公共DNS服务器

    公共DNS服务器 云南运营商DNS服务器

网友评论

    本文标题:20170919 DNS服务(一)

    本文链接:https://www.haomeiwen.com/subject/abegsxtx.html