开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DNS服务器

简介:
+关注继续查看

DNS服务器

前言

  学习完搭建FTP服务器实现文件共享之后,我们讲进一步学习搭建DNS服务器实现域名解析,本节所讲内容主要包括DNS服务器常见概念,安装及相关配置文件,并且实战:为公司内网搭建一个DNS服务器。

 

一:DNS服务器概述及相关配置

1:DNS服务器是什么

DNS 是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

注:DNS 域名空间中,树的最大深度不得超过127 层,树中每个节点最长可以存储63 个字符。

其域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务。

 

2:DNS服务概述

2.1:域和域名

DNS 树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。

域名空间的每个域的名字,通过域名进行表示。

域名:通常由一个完全合格域名(FQDN)标识。FQDN能准确表示出其相对于DNS 域树根的位置,也就是节点到DNS 树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用.”分隔,对于    DNS google 来说,其完全正式域名(FQDN)为google.com.  

例如:googlecom域的子域,其表示方法为google.com,而wwwgoogle域中的子域,可以使用www.google.com表示。

注意:通常,FQDN 有严格的命名限制,长度不能超过256 字节,只允许使用字符a-z,0-9,A-Z

和减号(-)。点号(.)只允许在域名标志之间(例如google.com”)或者FQDN 的结尾使用。

域名不区分大小。由最顶层到下层,可以分成:根域、顶级域、二级域、子域。

 

nternet 域名空间的最顶层是根域(root),其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。

“.”全球有13个根(root)服务器10台在美国 另外3台分别在英国 瑞士 日本

DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理。共有种类型的顶级域。

组织域:

采用个字符的代号,表示DNS 域中所包含的组织的主要功能或活动。比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组

织,org 为非营利机构组织,int 为国际机构组织。

地址域:

采用两个字符的国家或地区代号。如cn 为中国,kr 为韩国,us 为美国。

反向域:

这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)。

2.2:(Zone) ,资源记录

区是DNS 名称空间的一部分,其包含了一组存储在DNS 服务器上的资源记录。

使用区的概念,DNS 服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。

2.3:主域名服务器与辅助域名服务器

当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。如果改变了,它就启动一次数据更新传输。

每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。

 

3:辅助服务器的优点:

3.1:容错能力

配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。一般把区的主

服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS 客户机还能

查询另一个子网上的名称服务器。

3.2:减少广域链路的通信量

如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机

配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS 查询。

3.3: 减轻主服务器的负载

辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。

3.4: DNS 服务器

运行DNS 服务器程序的计算机,储存DNS 数据库信息。DNS 服务器会尝试解析客户机的查询请求。

3.5: DNS 缓存

DNS 服务器在解析客户机请求时,如果本地没有该DNS 信息,则可以会询问其他DNS 服务器,当

其他域名服务器返回查询结果时,该DNS 服务器会将结果记录在本地的缓存中,成为DNS 缓存。

当下一次客户机提交相同请求时,DNS 服务器能够直接使用缓存中的DNS 信息进行解析。

 

4:DNS查询方式-- 递归查询和迭代查询

4.1: 看一个DNS查询过程

通过8个步骤的解析过程就使得客户端可以顺利访问www.163.com 这个域名,但实际应用中,通常这个过程是非常迅速的

wKiom1hGwI3iQ59sAAc1LFQA-OA457.png 

 

4.2: 两种查询方式

4.2.1: 递归查询.一次沟通完。

递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一

个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询

问其他服务器,并将返回的查询结果提交给客户机

4.2.2: 迭代查询

DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。

总结:一般情况下,从PC客户端到本地DNS服务器是属于递归查询。而DNS服务器之间就是的交互查询就是迭代查询。

 

4.3: 两种解析方式

4.3.1:正向解析:

正向解析是指域名到IP 地址的解析过程。

4.3.2:反向解析:

反向解析是从IP 地址到域名的解析过程。反向解析的作用为服务器的身份验证。

 

5: DNS资源记录

5.1SOA 资源记录

每个区在区的开始处都包含了一个起始授权记录Start of Authority Record,简称SOA 记录。

SOA 定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA 记录

5.2NS 资源记录

NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。每个区在区根处至少包含一个NS 记录。

5.3资源记录

地址(A)资源记录把FQDN 映射到IP 地址。 因为有此记录,所以DNS服务器能解析FQDN域名对应的IP 地址。

5.4PTR 资源记录

相对于资源记录,指针(PTR)记录把IP地址映射到FQDN 用于反向查询,通过IP地址,找到域名。

5.5:CNAME 资源记录

别名记录(CNAME)资源记录创建特定FQDN 的别名。用户可以使用CNAME 记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名。

 

二:DNS服务相关配置 

BIND服务相关配置文件

/etc/named.conf DNS服务器的主配置文件,BIND软件构建服务器时,其配置文件中主要有两种类型的配置文件:一类是主配置文件,用于设置named服务的全局配置。另一类是区域数据文件,用于存放某个DNS区域的地址解析记录。

 

1:主配置文件

 [root@xuegod63 ~]# vim /etc/named.conf

options {

        listen-on port 53 { 127.0.0.1; }; #监听的端口和IP地址

        listen-on-v6 port 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; }; #允许解析本地DNS服务器的

        recursion yes;

上述配置内容中的dump-filestatistics-filememstatistics-file 等配置项用于指定缓存数据库的文件,状态专题太统计文件的位置。

 

2:区域配置部分

[root@xuegod63 named]# vim /etc/named.rfc1912.zones

zone "." IN {   #区域为根

        type hint; #类型为根区域

        file "named.ca"; 区域文件所存放的位置,默认地址在 /var/named/named.ca

};

 

zone "localhost" IN {  #正向解析(localhost)区域

        type master; #类型为主区域

        file "named.localhost"; #主区域配置文件的存放位置

     allow-transfer { 173.16.16.2; }; #允许从本地下载的主服务器地址

        allow-update { none; };

};

 

zone "1.0.0.127.in-addr.arpa" IN { #反向解析(1.0.0.127)区域

        type slave;  #类型为从区域

        file "named.loopback"; #从区域配置文件的存放位置

        allow-update { none; };

};

注释:

1):每个zone区域都是可选的(包括根域,回环域和方向域)

2):方向区域的名称由倒序的网络地址和 “in-addr.arpa”组合而成

3):file 配置项用于指定本区域的区域文件,其区域文件的文件名称由管理员设定

 

3:区域数据配置文件

在上个主配置文件中,指定其区域数据配置文件默认是放在/var/named/目录下的,因此区域数据配置文件通常都是放在这里的,每一个区域数据文件都对应一个DNS解析区域,

根域“.”的区域配置文件是比较特殊的,网络中所有的DNS服务器都是用同一份根区域数据文件,全球只有13个根域。

3.1:存放区域配置文件目录及内容

[root@xuegod63 ~]# ls /var/named/

chroot  dynamic   named.empty      named.loopback

data    named.ca  named.localhost  slaves

注释:

1):slaves         是从服务器的配置文件

2):named.ca      是根域的配置文件

3):named.empty   是所有与配置文件的模板

4):named.localhost 是正向解析域的配置文件---主服务器通常都用它

5):named.loopback 是反向解析域的配置文件---主服务器通常都用它

 

3.2:区域配置文件内容

1):[root@xuegod63 named]# vim named.ca

;; ANSWER SECTION:

.                       518400  IN      NS      M.ROOT-SERVERS.NET.

.                       518400  IN      NS      A.ROOT-SERVERS.NET.

……….

………

.                       518400  IN      NS      K.ROOT-SERVERS.NET.

.                       518400  IN      NS      L.ROOT-SERVERS.NET.

 

2):[root@xuegod63 named]# vim named.localhost

2.1:TTL配置及SOA记录部分

$TTL 1D  #有效解析记录的生存周期

@       IN SOA  xuegod.cn  admin.xuegod.cn. ( # “@”表示解析域的名称,admin.xuegod.cn.:邮箱地址

0       ; serial   # 更新的序列号,服务器更新内容后,要上调需利好

1D      ; refresh  # 刷新时间

1H      ; retry   # 下载失败后的重试时间间隔

1W      ; expire  #失效时间,超过该时间之后则无法重新下载

3H )    ; minimum #无效解析记录的生存周期

2.2:地址解析记录部分

@      NS      ns.xuegod.cn

        MX  10  mail.xuegod.cn

WWW   A      127.0.0.1 

mail     A      192.168.21.2

ftp   CNAME    www

 

注释:

1):NS域名文件服务器(Name Server),记录当前区域的DNS服务器的主机地址

2):MX邮件交换,记录当前邮件服务器的主机地址,数字10(表示当前有多个MX记录)选择邮件服务器的优先级,数字越小优先级越高。

3):A+地址 记录正向解析条目,如:“WWW A 127.0.0.1”表示域名www.xuegod.cn对应的IP地址是 127.0.0.1

4):CNAME别名 ,表示记录正向解析的其他名称,如:“ftp  CNAME  www”表示域名ftp.xuegod.com是www/xuegod.cn的别名。

5):[rot@xuegod63 named]# vim named.loopback

$TTL 1D

@  INSO  xuegod.  cadmin.xuegod.cn. (                                      

  0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      @

        A       127.0.0.1

        AAAA    ::1

2       PTR     www.xuegod.cn 

5       PTR     ftp.xuegod.cn 

其中NS MX记录的首行中的“@”符号是可以省略的(默认继承SOA记录首行的@信息),在方向区域数据文件中,不会用到A地址记录,而是用PTR指针记录。 在使用PTR记录时,第一列中指明对应的IP地址,只需要写部分就可以的了,其中“2 PTR www.xuegod.cn 

”就表示,IP地址为192.168.1.2的主机域名为www.xuegod.cn

 

三:实战案例

1:实验要求

  企业要搭建一台简单的DNS服务器,实现公司的域名解析xuegod.cn及利用主从网关实现负载均衡,并且要进行安全认证。

2:实验环境

  主服务器:xuegod63    IP地址:192.168.1.63

  从服务器:xuegod64    IP地址:192.168.1.64

3:实验拓扑

wKiom1hGwKeDitXWAAFFwLBkeeY362.png

4:实验步骤

4.1DNS主服务器

4.1.1:修改主配置文件

[root@xuegod63 ~]#vim/etc/named.conf

options {

listen-on port 53 { any; };

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     { any; };

recursion yes;

……….

managed-keys-directory "/var/named/dynamic";

};

 

4.1.2:修改区域配置文件

[root@xuegod63 ~]# vim /etc/named.rfc1912.zones

zone "xuegod.cn" IN {

type master;

file "xuegod.cn.zone";

allow-transfer { 192.168.1.0/24; };

};

allow-update { none; }; #删掉

 

4.1.3:创建区域数据配置文件并修改

[root@xuegod63 named]# cp -p named.localhost xuegod.cn.zone #要加-p 把权限也要复制过来

[root@xuegod63 named]# ll -h xuegod.cn.zone

-rw-r----- 1 root named 275 Dec  3 06:10 xuegod.cn.zone

[root@xuegod63 named]# vim xuegod.cn.zone

$TTL 1D

xuegod.cn.IN SOAdns.xuegod.cn. root.xuegod.cn. (

2; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

xuegod.cn.NSdns.xuegod.cn.

dns.xuegod.cn.A192.168.1.63

www.xuegod.cn.A192.168.1.63

ftp.xuegod.cn.   CNAME   www.xuegod.cn.

www.xuegod.cn. 1  A 192.168.1.63

www.xuegod.cn. 1  A 192.168.1.64

www.xuegod.cn. 1  A 192.168.1.1

 

4.1.4:修改DNS地址

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0c:29:12:f3:74

TYPE=Ethernet

UUID=8f64859c-d43d-4247-9d3e-2d0e6bde9451

ONBOOT=yes

NM_CONTROLLED=yes

IPADDR=192.168.1.63

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=192.168.1.63

[root@xuegod63 ~]# service network restart

 

4.1.5:测试

[root@xuegod64 ~]# service named restart

[root@xuegod63 ~]# ping www.xuegod.cn

PING www.xuegod.cn (192.168.1.63) 56(84) bytes of data.

64 bytes from 192.168.1.63: icmp_seq=1 ttl=64 time=0.013 ms

64 bytes from 192.168.1.63: icmp_seq=2 ttl=64 time=0.048 ms

 

 

4.2DNS从服务器

4.2.1:修改主配置文件

[root@xuegod64 ~]# vim /etc/named.conf

options {

        listen-on port 53 { any; };

        listen-on-v6 port 53 { any; };

        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     { any; };

        recursion yes;;

 

        managed-keys-directory "/var/named/dynamic";

};

 

4.2.2:修改区域文件

[root@xuegod64 ~]# vim /etc/named.rfc1912.zones

zone "xuegod.cn." IN {

        type slave;

        file "slaves/xuegod.cn.zone.file";

        masters { 192.168.1.63; };

};

 

4.2.3:修改DNS地址

[root@xuegod64 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0c:29:de:f4:a1

TYPE=Ethernet

UUID=07f953ba-8898-4b94-a68c-1f180bb5030b

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

IPADDR=192.168.1.64

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=192.168.1.63

[root@xuegod64 ~]# service network restart

 

4.2.4:测试DNS负载均衡功能

[root@xuegod64 ~]# service named restart

[root@xuegod64 ~]# ls /var/named/slaves/

xuegod.cn.zone.file

[root@xuegod64 slaves]#vim xuegod.cn.zone.file

$ORIGIN .

$TTL 86400; 1 day

xuegod.cnIN SOAdns.xuegod.cn. root.xuegod.cn. (

4          ; serial

86400      ; refresh (1 day)

3600       ; retry (1 hour)

604800     ; expire (1 week)

10800      ; minimum (3 hours)

)

NSdns.xuegod.cn.

$ORIGIN xuegod.cn.

dnsA192.168.1.63

ftpCNAMEwww

$TTL 1; 1 second

wwwA192.168.1.63

    A192.168.1.64

    A192.168.1.1

wKioL1hGwLaxxQy6AAC29IjG_z4642.png 

 

4.2.5:测试DNS备份功能

[root@xuegod63 ~]# vim /var/named/xuegod.cn.zone #添加以下内容

mail.xuegod.cn. A 192.168.1.63

[root@xuegod63 ~]# service named restart

由于设置了1天的时间更新,所以不能立即备份。删除再重启,即可验证效果。

[root@xuegod64 slaves]# rm -rf xuegod.cn.zone.file

[root@xuegod64 ~]# service named restart

wKioL1hGwMLQ3fxxAABz-nbPqfU666.png 

4.2.6DNS主从密钥认证

 

1): 确保时间主从同步

[root@xuegod63 named]# date

Fri Dec  4 06:00:40 EST 2015

[root@xuegod64 slaves]# date

Fri Dec  4 06:00:53 EST 2015

 

2): DNS服务器生成秘钥,进行主从认证

[root@xuegod63 ~]# rpm -qf `which dnssec-keygen`

bind-9.8.2-0.17.rc1.el6_4.6.x86_64

[root@xuegod63 chroot]# pwd

/var/named/chroot

[root@xuegod63 chroot]# dnssec-keygen -a hmac-md5 -b 128 -n HOST abc  #生成一对 对称钥匙

Kabc.+157+45442

[root@xuegod63 chroot]# ls

dev  etc  Kabc.+157+45442.key  Kabc.+157+45442.private  usr  var

注释:

 -a hmac-md5:采用hmac-md5加密算法。

    -b 128:生成的密钥长度为128位。

-n 密钥类型。我们选择主机类型:HOST 。

-n <nametype>: ZONE | HOST | ENTITY | USER | OTHER

        (DNSKEY generation defaults to ZONE)

   abc #为生成密钥的名字

注意:生成时速度有点慢,因为生成密钥需要一些随机事件,因此我们可以通过移动鼠标或find /”执行来产生一些随机事件,等待大约2分钟,查看生成的密钥对:

 

[root@xuegod63 chroot]# cat Kabc.+157+45442.private

Private-key-format: v1.3

Algorithm: 157 (HMAC_MD5)

Key: rUNplFvWw811PnwifZYGcg== #这是密钥

Bits: AAA=

Created: 20151204112514

Publish: 20151204112514

Activate: 20151204112514

[root@xuegod63 chroot]# cat Kabc.+157+45442.key

abc. IN KEY 512 3 157 rUNplFvWw811PnwifZYGcg== #这是密钥 

 

3): 修改主DNS配置:

[root@xuegod63 ~]# vim /etc/named.rfc1912.zones  #添加并修改

key abckey {          

        algorithm hmac-md5;

        secret "rUNplFvWw811PnwifZYGcg==";

 };

 

zone "xuegod.cn." IN {

type master;

file "xuegod.cn.zone";

allow-transfer { key abckey; };

};

4):从DNS 服务器

[root@xuegod64 slaves]# vim /etc/named.rfc1912.zones  #添加并修改

key abckey {    

        algorithm hmac-md5;

        secret "rUNplFvWw811PnwifZYGcg=="; #主服务器的秘钥

};

 

zone "xuegod.cn." IN {

        type slave;

        file "slaves/xuegod.cn.zone.file";

        masters { 192.168.1.63 key abckey; };

};

 

5):主从重启服务

[root@xuegod64 slaves]# rm -rf xuegod.cn.zone.file

[root@xuegod63 ~]# service named restart

[root@xuegod64 ~]# service named restart

 

6):测试

[root@xuegod64 slaves]# pwd

/var/named/slaves

[root@xuegod64 slaves]# ls

xuegod.cn.zone.file

[root@xuegod64 slaves]# cat xuegod.cn.zone.file

$ORIGIN .

$TTL 86400; 1 day

xuegod.cnIN SOAdns.xuegod.cn. root.xuegod.cn. (

4          ; serial

86400      ; refresh (1 day)

3600       ; retry (1 hour)

604800     ; expire (1 week)

10800      ; minimum (3 hours)

)

NSdns.xuegod.cn.

$ORIGIN xuegod.cn.

dnsA192.168.1.63

ftpCNAMEwww

mailA192.168.1.63

$TTL 1; 1 second

wwwA192.168.1.63

A192.168.1.64

A192.168.1.1

 

wKiom1hGwNLix0bMAADNJeoWUMQ227.png 

 

5:测试工具:nslookup 测试域名解析

 

5.1:非交互式模式

语法: nslookup 域名或IP 地址

[root@xuegod64 ~]# nslookup www.xuegod.cn

Server:192.168.1.63

Address:192.168.1.63#53

Name:www.xuegod.cn

Address: 192.168.1.1

Name:www.xuegod.cn

Address: 192.168.1.63

Name:www.xuegod.cn

Address: 192.168.1.64

 

[root@xuegod64 ~]# nslookup g.cn

Server:192.168.1.63

Address:192.168.1.63#53

Non-authoritative answer:

Name:g.cn

Address: 203.208.40.148

Name:g.cn

Address: 203.208.40.144

Name:g.cn

Address: 203.208.40.147

Name:g.cn

Address: 203.208.40.146

Name:g.cn

Address: 203.208.40.145

 

5.2:交互模式

[root@xuegod64 ~]# nslookup

> www.xuegod.cn

Server:192.168.1.63

Address:192.168.1.63#53

Name:www.xuegod.cn

Address: 192.168.1.63

Name:www.xuegod.cn

Address: 192.168.1.64

Name:www.xuegod.cn

Address: 192.168.1.1

> g.cn

Server:192.168.1.63

Address:192.168.1.63#53

Non-authoritative answer:

Name:g.cn

Address: 203.208.40.144

Name:g.cn

Address: 203.208.40.147

Name:g.cn

Address: 203.208.40.146

Name:g.cn

Address: 203.208.40.145

Name:g.cn

Address: 203.208.40.148









本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1880164,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
服务器
服务器根据静态和动态加载数据,分为 web 服务器和应用服务器两种。
18 0
服务器
我是一名计算机专业的学生,目前一年级。在实训的时候老师推荐我们参加阿里云的飞天加速计划领取免费的服务器,试用时间为两周。领取前我在阿里云上完成了学生认证和新手预备训练营,并且学习使用了阿里云的镜像快照。在实训的时候我应用阿里云的用户和密码实现了远程超控虚拟机,在老师的一步步的教导下,我完成了我的第一个网址,实现了第一个成果。飞天加速计划帮助了许多高校学生接触到了云服务器,免费学到了许多知识。我以后也会随着课程的推进,利用阿里云服务器完成每一项课程作业,学习到更多的知识。我们很难有机会去接触到这方面的内容。但是通过阿里云飞天加速计划 让我了解和使用阿里云服务器,在使用和学习中了解了很 多知识。
25 0
服务器
服务器的使用
54 0
服务器
入门级服务器tomcat 进阶服务器Jboss 高端服务器weblogic、websphere (收费)
571 0
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载