linux服务篇-DNS服务

123 篇文章 15 订阅
订阅专栏
37 篇文章 0 订阅
订阅专栏

DNS(Domain Name System,域名系统),在TCP/IP网络中有非常重要的地位,能够提供域名与IP地址的解析服务,简单的说,域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。但是实际上是通过ip去访问的!通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

DNS功能

互联网上(或者局域网)的每一台主机需要互相访问通讯,都必须有一个IP地址,或者IPV4,或者IPV6,而每一个IP都可以有一个主机名(或者域名),主机名可以是一个或多个字符串,方便我们的记忆,字符串可以有小数点隔开。而每一台主机的IP地址相当累赘,那么有了DNS域名解析,我们就可以很方便的只记忆我们的字符串!

拓展:主机到IP的映射有两种:

1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用,也就是我们常说的hosts文件;

2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

HOSTS等相关配置文件

在引入DNS之前,网络中的主机是将容易记忆的域名映射到IP地址并将它保存在一个共享的静态文件/etc/hosts中,再有hosts文件来实现网络中域名的管理。

hosts是一个没有扩展名的系统文件,其作用是将一些常用的网络域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从/etc/hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址解析。

若想要优先选取DNS解析,可以修改/etc/nsswitch.conf文件。

hosts:     files dns myhostname

文件解析优先级高于DNS,把files与dns调换位置,dns的优先级高于hosts文件。

/etc/resolv.conf :是 ISP 的 DNS 服务器 IP 记录处;尽量不要设定超过 3 部以上的 DNS IP 在 /etc/resolv.conf 中,因为如果是你的区网出问题,导致无法联机到 DNS 服务器,那么你的主机还是会向每部 DNS 服务器发出联机要求,每次联机都有timeout 时间的等待

域名空间

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

DNS域名空间中,最大层次不能超过127层,每个节点最长可以存储63个字符!

名空间如下图:

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

它允许对整个数据库的各个部分进行本地控制;同时整个网络也能通过客户-服务器方式访问每个部分的数据,借助备份和缓存机制,DNS将更强壮和足够的性能。

域名又称网域:是由一串用点分隔的名字组成的Internet上某台计算机或者计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)

域名有一个FQDN(Full Qualified Domain Name完全合格域名)标示,实际上指的是主机名的全路径。FQDN能够准确表示出相对DNS域树根的位置,也是就是当前节点到DNS树根的完整表达式。从节点到树根,将每个节点采用.分割,最有一个.代表根域。对于DNS域baidu来说,她的完全合格域名是baidu.com.,通常我们会省略根域.

举例:baidu为com域的子域,表示方法为baidu.com,www是baidu域中的子域。可以使用www.baidu.com

通常我们FQDN有严格的命名限制:长度不能超过256个字节,只允许使用字符0-9,a-z,-号,而我们的点好只能用来隔开域名标志之间或者在FQDN结尾使用,通常省略!

层次域

从根域开始,由上往下,可以分为:根域 ,顶级域,二级域,子域,然后才是主机!

Internet域名空间最高层是根域,记录了Internet上DNS重要信息,有Internet域名注册授权机构管理,该机构把域名空间各部分分配给连接到Internet的各个组织!

根域,全世界13个根域(root)服务器,10台在美国,英国,瑞士,日本各一台 。

Linux 根域存放路径:

       [root@node63 ~]# cat /var/named/named.ca

a.root-servers.net.     3600000 IN      A       198.41.0.4

b.root-servers.net.     3600000 IN      A       192.228.79.201

c.root-servers.net.     3600000 IN      A       192.33.4.12

d.root-servers.net.     3600000 IN      A       199.7.91.13

e.root-servers.net.     3600000 IN      A       192.203.230.10

f.root-servers.net.     3600000 IN      A       192.5.5.241

g.root-servers.net.     3600000 IN      A       192.112.36.4

h.root-servers.net.     3600000 IN      A       198.97.190.53

i.root-servers.net.     3600000 IN      A       192.36.148.17

j.root-servers.net.     3600000 IN      A       192.58.128.30

k.root-servers.net.     3600000 IN      A       193.0.14.129

l.root-servers.net.     3600000 IN      A       199.7.83.42

m.root-servers.net.     3600000 IN      A       202.12.27.33

a.root-servers.net.     3600000 IN      AAAA    2001:503:ba3e::2:30

b.root-servers.net.     3600000 IN      AAAA    2001:500:84::b

c.root-servers.net.     3600000 IN      AAAA    2001:500:2::c

d.root-servers.net.     3600000 IN      AAAA    2001:500:2d::d

e.root-servers.net.     3600000 IN      AAAA    2001:500:a8::e

f.root-servers.net.     3600000 IN      AAAA    2001:500:2f::f

g.root-servers.net.     3600000 IN      AAAA    2001:500:12::d0d

h.root-servers.net.     3600000 IN      AAAA    2001:500:1::53

i.root-servers.net.     3600000 IN      AAAA    2001:7fe::53

j.root-servers.net.     3600000 IN      AAAA    2001:503:c27::2:30

k.root-servers.net.     3600000 IN      AAAA    2001:7fd::1

l.root-servers.net.     3600000 IN      AAAA    2001:500:9f::42

m.root-servers.net.     3600000 IN      AAAA    2001:dc3::35

域名分类

组织域:采用三个字符号,表示DNS域中所包含组织的主要功能或活动,包括 com:商业机构   edu:教育组织   gov:政府组织   mil:军事机构   net:网络机构组织   org:非盈利机构组织   int:国际机构组织

地址域:cn 中国,kr 韩国,us 美国,jp 日本,hk 香港,一般使用两个字符代表国家或者地区的代号

反向域:名字为in-addr.arpa,用于将IP地址映射到名字,反向查询,ip映射到域名

区(zone),资源记录

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

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

资源记录参数说明

SOA:起始授权记录,Start of Authority Record; 每个区的开始处都包含起始授权记录,SOA定义了域的全局参数,进行整个域的管理,一个区有且仅有一个SOA记录。

NS:Name Server 域名服务记录;指定该域名由那个DNS服务器来解析,每个区在区根处至少包含一条NS记录。

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

PTR:指向 (PoinTeR) 的缩写,后面记录的数据就是反解到主机名,反A记录,指针PRT记录把IP映射到FQDN,用于反向查询,通过IP地址,找到域名。

CNAME:别名记录,记录创建特定FQDN的别名,用户可以使用CNAME记录来隐藏网络用户的实现细节,使连接的客户机无法知道真正的域名。例:ping百度时,解析到了百度的别名服务器。百度有个cname=www.a.shifen.com.的别名

MX:邮件交换记录,为DNS指定邮件交换服务器

主域名服务器与辅助域名服务器(主从)

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

每个区必须有主服务器,每个区至少应有一台辅助服务器,否则主服务器崩溃,就服务解析该区名称。

辅助服务器的优点:

1)容错

在主服务器崩溃的情况下,辅助服务器可以继续解析该名称,一般把区的主服务器和区的辅助服务器安装载不同的子网上,如果一个子网连接中断,DNS客户机还能直接查询另外一个子网上的名称服务器

2)减少广域网链路的通信量

某个区域有大量客户机,用户就可以远程添加该区的辅助服务器,并把远程的客户机配置成优选查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS解析。

3)减轻主服务器的负载

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

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

DNS缓存:DNS服务器在解析客户机的请求时,如果本地没有DNS信息,就会问其他DNS服务器,当其他域名服务器返回查询结果的时候,该DNS服务器会将结果记录在本地缓存中,成为DNS缓存。下一次客户机提交相同请求时,DNS服务器能够直接使用缓存里面的数据进行解析。记忆在 cache 当中的数据,其实是有时间性的,当过了 DNS 设定记忆的时间 (通常可能是 24 小时),那么该记录就会被释放喔!

DNS工作原理

DNS的查询过程包括递归查询和迭代查询:

递归查询:

客户机向DNS服务器发送请求,DNS服务器会使用一个准备的查询结果回复给客户端,如果DNS服务器本地没有储存查询的DNS信息,那么他会查询其他的DNS服务器,并将查询结果提交给客户机。对于客户机来讲只发出一次请求。

迭代查询:

客户端向DNS服务器发送请求,如果该服务器本地没有储存查询的DNS信息,那么他会告诉客户端另一台DNS服务器的地址,客户机在向这台DNS服务器查询DNS信息,依次查询直到返回结果。

PC-本地DNS是递归,DNS服务器之间的是迭代查询

正反向解析

1)正向解析

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

域名----IP

nslookup  域名

dig  域名

2)反向解析

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

IP----域名

nslookup IP地址

dig -x IP地址

工作模式和端口

       端口:TCP/53,UDP/53   //用户客户端查询,递归查询

                TCP/953,UDP/953     //DNS主从同步

       工作模式:C/S模式

安装软件包

bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm                      //DNS服务主程序包,Berkeley Internet Name Domain 伯克利英特网名称域系统,有BIND4.8.9三个版本BIND8融合了许多提高效率和安全性的技术,BIND9支持IPv6,密钥加密,多处理器支持,线程安全操作,增量区传送等。

bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm            //使bind运行时的/目录不是系统真正的/,而是系统的一个子目录而已,这样提高了系统的安全性。Bind访问的范围仅限于这个子目录的范围内,无法进一步提成,进入系统其它目录中。该包在3.x以上的内核版本,默认不安装。

bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm               //包含客户端工具。默认安装,用于搜索域名指令。

bind-dyndb-ldap-2.3-5.el6.x86_64.rpm                      //LDAP的插件,提供主机名IP动态更新(非必装)。

bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm                //一些库文件。

[root@node63 ~]# yum install -y bind bind-chroot bind-utils bind-libs  //软件包安装

DNS服务启动及配置文件

DNS的核心配置文件位置:/etc/named.conf,这里只有最基本的配置,不包括区域数据和记录这个/var/named/目录是DNS的工作目录,但是对于由于安全性,启动DNS服务器之后,这个目录会挂载到我们的/:下面,然后用这个对外服务,而却这个目录是囚牢的,在对外的同时会认为这就是一个根目录(/var/named/chroot),保证了DNSServer的安全性!

[root@node63 ~]# systemctl restart named              //启动服务

[root@node63 ~]# systemctl enable named

核心配置文件

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

options {                                            #全局设置,整体有效

        listen-on port 53 { any; };                 #侦听端口和IP,这里所有使用any

        listen-on-v6 port 53 { ::1; };                         #IPv6的端口和地址

        directory       "/var/named";                         #dns工作的目录

        dump-file       "/var/named/data/cache_dump.db"; #cache,缓存信息保存地址

        statistics-file "/var/named/data/named_stats.txt";         #服务器的数据信息

        memstatistics-file "/var/named/data/named_mem_stats.txt";    #以记录日志相关

        allow-query     { any; };                                  #允许谁来查

        recursion yes;                             #允许递归查询,如果构建授权的DNS服务器,请不要开启递归,如果构建递归(缓存)的DNS服务器,请开启递归。

        dnssec-enable yes;                                 #dnssec都是安全相关,如果没有做秘钥认证,需要将这两行注释。

        dnssec-validation yes;

             

/* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";                          #key文件

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

        pid-file "/run/named/named.pid";

        session-keyfile "/run/named/session.key";

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "." IN {                                    #13个根服务器地址

        type hint;                               #type类型,hint为根

        file "named.ca";

};

include "/etc/named.rfc1912.zones";                #include中的文件也是主配置文件

include "/etc/named.root.key";

DNS服务类型分为:hint(根)、master(主)、forward(转发)、slave(从);Slave 必须要与 Master 相互搭配。

include配置文件

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

通过添加一个实例,来说明每个字段的含义(几乎这个文件的字段含义都是如此)

zone "example.cn" IN {                           #域名

        type master;                            #type类型,master

        file "example.cn.zone";             #区域文件保存位置.zone文件位置,用实例来说明买个字段的意思

        allow-update { none; };           #是否允许动态更新(DNS和DHCP结合是使用)

};

最后一个zone的{}后没有分号。

#这一部分当然也可以集成到/var/named/chroot/etc/named.conf里面去,没有问题

配置正反向解析

正向解析文件格式:

zone "DNS域名" IN {

       type hint;

       file "解析文件名";

       allow-update { none; };

};

反向解析文件格式:

zone "IP地址网段反写.in-addr.arpa" IN {

       type master;

       file "解析文件名";

       allow-update { none; };

};

核心配置文件的修改

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

options {

        listen-on port 53 { any; };                 #这里修改

        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     { any; };                       #允许谁来查询,修改

        recursion yes;

……

正向解析配置zone文件指定

              [root@node63 ~]# vim /etc/named.rfc1912.zones     //介绍的时候已经建立了,我们利用起来

zone "example.cn" IN {                           #域名

        type master;                            #type类型,master

        file "example.cn.zone";             #区域文件保存位置.zone文件位置,用实例来说明买个字段的意思

        allow-update { none; };       #是否允许动态更新(DNS和DHCP结合是使用)

};

建立zone文件记录文件

       [root@node63 ~]# cd /var/named/            //这个是区域记录文件位置

       [root@node63 named]# vim example.cn.zone

$TTL 1D #设置有效地址解析记录的默认缓存时间,最大生存时间,1D就是1天,缓存声明周期 time to live

#@代表区域名,引用主配置文件定义的域,这里就是代表example.cn.,可以改写为example.cn

#IN Internet Name

#SOA 权威结构,起始授权记录。后面的dns.就是其实授权记录,有且仅有一条SOA

#主机名,DNS名称

#代表DNS管理员的邮箱地址,有什么问题通知谁,@用.代替@有其他含义

@       IN SOA  dns.example.cn.  root.example.cn. (

                        0                  ; serial    #序列号,手工改,同步用

                        1D             ; refresh    #1天更新,多长时间请求更新

                        1H             ; retry      #一天联系上,过一个小时再试

                        1W     ; expire     #1周时间过期,一直联系不上时

                        3H )    ; minimum    #最短的有效期,3小时,不需要更新

#下面这里没有写@符号,代表继承了上层     

        NS   dns.example.cn. #最好和上面同步,如果要写完整,可以写dns.example.cn.后面的.一定要带上

#主机头,这里填写主机头,注意要对我们上面的NS记录做一条主机记录

dns    A       192.168.1.63

ftp    A       192.168.122.122

www1    CNAME   ftp.example.cn.

#没有启用IPV6,就把最后一行删除,否则在CNAME或者其他的情况会出现错误

[root@node63 named]# chown root:named example.cn.zone

[root@node63 named]# named-checkzone  "example.cn" /var/named/example.cn.zone //测试配置文件是否有问题

zone example.cn/IN: loaded serial 0

OK

       [root@node63 named]# systemctl restart named

[root@node63 named]# named-checkconf

测试

       [root@node63 named]# cd

[root@node63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0            //修改DNS地址为本机自己

DNS1=192.168.1.63

[root@node63 ~]# systemctl restart network

[root@node63 ~]# cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.1.63

       [root@node63 ~]# ping dns.example.cn                   //测试ping命令

PING dns.example.cn (192.168.1.63) 56(84) bytes of data.

64 bytes from example63 (192.168.1.63): icmp_seq=1 ttl=64 time=0.042 ms

64 bytes from example63 (192.168.1.63): icmp_seq=2 ttl=64 time=0.053 ms

……

       [root@node63 ~]# dig ftp.example.cn @localhost                   //使用dig命令测试DNS解析

dig是linux中的域名解析工具,功能比nslookup强很多,使用也很方便,不用象nslookup总是set不停。

由于一些原因,希望从指定的 DNS 服务器上进行查询(从默认的 DNS 服务器上获得的结果可能不准确)。指定 DNS 服务器的方式为使用 @ 符号:

dig是domain information groper的缩写,域名信息查询

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> ftp.example.cn @localhost

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20983

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;ftp.example.cn.         IN  A

;; ANSWER SECTION:

ftp.example.cn.      86400   IN  A   192.168.122.122

;; AUTHORITY SECTION:

example.cn.      86400   IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: ::1#53(::1)

;; WHEN: Thu Oct 15 14:35:48 2015

;; MSG SIZE  rcvd: 81

在这个范例当中,我们可以看到整个显示出的讯息包括有几个部分:

  QUESTION(问题):显示所要查询的内容,因为我们是查询ftp.example.cn.的 IP,所以这里显示 A (Address);

ANSWER(回答):依据刚刚的 QUESTION 去查询所得到的结果,答案就是回答IP 啊!

AUTHORITY(验证):由这里我们可以知道ftp.example.cn. 是由哪部 DNS服务器所提供的答案! 结果是dns.example.cn.主机管理的。另外,那个 86400 是啥?是允许查询者能够保留这笔记录多久的意思 ,在dns.example.cn.的设定中,预设可以保留 600 秒。

      

[root@node63 ~]# dig www1.example.cn @localhost                     //查询别名相关信息

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www1.example.cn @localhost

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65198

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www1.example.cn.            IN  A

;; ANSWER SECTION:

www1.example.cn.     86400   IN  CNAME   ftp.example.cn.

ftp.example.cn.      86400   IN  A   192.168.122.122

;; AUTHORITY SECTION:

example.cn.      86400   IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: ::1#53(::1)

;; WHEN: Thu Oct 15 14:37:40 2015

;; MSG SIZE  rcvd: 100

正向解析的步骤: 

1、修改named.conf  

2、修改include  named.rfc1912.zones  添加资源记录

3、修改区域记录example.cn.zone

4、检测文件错误  named-checkconf   、named-checkzone

5、重启服务

6、dig解析测试

反向解析

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

zone "111.168.192.in-addr.arpa" IN {

        type master;

        file "example.cn.rev";

        allow-update { none; };

};

       [root@node63 ~]# cd /var/named/

[root@node63 named]# cp -p example.cn.zone example.cn.rev        //记录文件创建

[root@node63 named]# vim example.cn.rev

$TTL 1D

@       IN SOA  dns.example.cn. root.example.cn. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      dns.example.cn.

123     IN PTR  abc.example.cn.

122     IN PTR  bcd.example.cn.          #PTR指针,反向解析记录

[root@node63 named]# named-checkzone "111.168.192.in-addr,arpa" /var/named/example.cn.rev

111.168.192.in-addr,arpa/IN: loaded serial 0

OK

      

       重启服务

       [root@node63 named]# systemctl restart named

[root@node63 named]# dig -x 192.168.111.123 @localhost        //-x后面应该直接跟IP即可

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -x 192.168.111.123 @localhost

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31102

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;123.111.168.192.in-addr.arpa.  IN  PTR

;; ANSWER SECTION:

123.111.168.192.in-addr.arpa. 86400 IN  PTR abc.example.cn.

;; AUTHORITY SECTION:

111.168.192.in-addr.arpa. 86400 IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: ::1#53(::1)

;; WHEN: Thu Oct 15 14:47:25 2015

;; MSG SIZE  rcvd: 107

配置递归查询

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

……  

   recursion yes;                   #默认就是支持递归查询,但是我们需要把下面关于三条加密的内容注销,实验环境客户端才能进行DNS递归查询,其他内容不用管,同时,关闭了加密通讯功能,才可以和根服务器进行迭代查询

#       dnssec-enable yes;

#       dnssec-validation yes;

#       dnssec-lookaside auto;

……

       [root@node63 ~]# systemctl  reload named                   //重新读取配置文件

测试:

       DNS修改为本机的DNS,如果没有配置DNS,我们是没有办法解析外面的服务器,那么现在测试

       [root@node63 ~]# ping www.baidu.com

PING www.a.shifen.com (180.97.33.108) 56(84) bytes of data.

64 bytes from 180.97.33.108: icmp_seq=1 ttl=52 time=31.4 ms

64 bytes from 180.97.33.108: icmp_seq=2 ttl=52 time=31.5 ms

64 bytes from 180.97.33.108: icmp_seq=3 ttl=52 time=30.6 ms

配置DNS转发

典型应用场景:家用路由器

       我们再配置一台DNS服务器node64

       [root@node64 ~]# yum install -y bind bind-chroot bind-utils

       [root@node64 ~]# systemctl restart named

       [root@node64 ~]# 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;

        #idnssec-enable yes;                #三行注释

        #dnssec-validation yes;

        #dnssec-lookaside auto;

        forward only;       #only,仅仅转发,first,先查找再转发,实验效果,仅仅转发

        forwarders { 192.168.1.63; };   #指定转发查询请求的DNS服务器列表

……

测试

       [root@node64 ~]# dig @localhost ftp.example.cn

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> @localhost ftp.example.cn

; (2 servers found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58841

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;ftp.example.cn.         IN  A

;; ANSWER SECTION:

ftp.example.cn.      86400   IN  A   192.168.122.122

;; Query time: 950 msec

;; SERVER: ::1#53(::1)

;; WHEN: Thu Oct 15 15:10:02 2015

;; MSG SIZE  rcvd: 47

主从服务器配置

主服务器配置文件

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

zone "example.com" IN {

        type master;

        file "example.com.zone";

        allow-transfer { 10.10.0.0/24; };  #将allow-update { none; };修改为allow-transfer { IP网段; };,允许10.10.0.0/24网段的从服务器同步example.com区域的配置。

# 允许那个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认所有。

从服务器配置文件

Slave 必须要与 Master 相互搭配。

Master / Slave 的查询优先权?

另外,既然我的所有 DNS 服务器是需要同时提供 internet 上面的领域名解析的服务, 所以不论是 Master 还是 Slave 服务器,他都必须要可以同时提供 DNS 的服务才好! 因为在 DNS 系统当中,领域名的查询是『先抢先赢』的状态,我们不会晓得哪一部主机的数据会先被查询到的! 为了提供良好的 DNS 服务,每部 DNS 主机都要能正常工作才好啊!而且,每一部 DNS 服务器的数据库内容需要完全一致,否则就会造成客户端找到的 IP 是错误的!

       [root@node64 ~]# vim /var/named/chroot/etc/named.conf

options {

        listen-on port 53 { any; };         #修改监控地址

        listen-on-v6 port 53 { any; };      #修改监控地址

        ● ● ● ● ● ●

        allow-query     { any; };           #允许所有来查询

        recursion yes;

        masterfile-format text;    #麒麟OS需要加上该参数,否则,从服务器上的同步文件显示乱码

        ● ● ● ● ● ●

        #dnssec-enable yes;                 #注释这三行

        #dnssec-validation yes;

        #dnssec-lookaside auto;

        ● ● ● ● ● ●

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

zone "example.cn" IN {

        type slave;                             #更改类型为从服务器

        file "slaves/example.cn.zone.slave";     #从主服务器上获取的zone文件存放位置

        masters { 192.168.1.63; };             #主服务器地址,可能是很多台,所以用masters

};

#通过这一段配置,从DNS服务器就可以从主服务器上获取解析记录文件,这里需要注意的是slave和slaves以及masters的单词,有的有s,有的没有。配置好之后,重启服务就会在指定的//var/named/chroot/var/named/slaves/example.cn.zone.slavec创建该文件,这个文而建是从DNS主服务器上获取的数据

       [root@node64 ~]# systemctl restart named

       [root@node64 ~]# ll /var/named/slaves/example.cn.zone.slave//查看文件产生与否

-rw-r--r-- 1 named named 352 Oct 15 15:59 /var/named/slaves/example.cn.zone.slave

       [root@node64 ~]# vim /var/named/chroot/var/named/slaves/example.cn.zone.slave

$ORIGIN .

$TTL 86400      ; 1 day

example.cn               IN SOA  dns.example.cn. root.example.cn. (

                                0          ; serial

                                86400      ; refresh (1 day)

                                3600       ; retry (1 hour)

                                604800     ; expire (1 week)

                                10800      ; minimum (3 hours)

                                )

                        NS      dns.example.cn.

$ORIGIN example.cn.

dns                     A       192.168.1.63

ftp                     A       192.168.111.111

www

主从秘钥认证

       配置主从秘钥认证,保证主从同步的时候数据的安全性

时间同步

主从都做

       [root@node63 ~]# ntpdate 0.rhel.pool.ntp.org

       [root@node64 ~]# ntpdate 0.rhel.pool.ntp.org

准备秘钥

主服务器上准备秘钥。

       [root@node63 ~]# cd /var/named/chroot/

[root@node63 chroot]# dnssec-keygen -a hmac-md5 -b 128 -n HOST densec

-a,algorithm 算法的意思,这里采用Hmac-MD5的加散发

                            -b,keysize 生成密钥的长度  128位

                            -n,nametype 密钥类型,主机类型 HOST,常用的:ZONE,HOST,ENTITY,USER,OTHER  默认认证是ZONE类型

                            dnssec,生成密钥的名字

[root@node63 chroot]# ll Kdensec.+157+13812.*                    //查看密钥对

-rw------- 1 root root  50 Oct 15 16:19 Kdensec.+157+13812.key

-rw------- 1 root root 165 Oct 15 16:19 Kdensec.+157+13812.private

[root@node63 chroot]# cat Kdensec.+157+13812.key                    //查看密钥

densec. IN KEY 512 3 157 uWmHZ/J20tcZSLsXDiBHtw==

修改主DNS支持秘钥认证

       [root@node63 chroot]# cd ; vim /var/named/chroot/etc/named.conf

       options {

        listen-on port 53 { any; };

        listen-on-v6 port 53 { ::1; };

……

        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;                  #这三项注释取消

        dnssec-validation yes;

        dnssec-lookaside auto;

……

key dnsseckey {                #先定义我们传输过程使用的秘钥名字,这几行要添加

        algorithm  hmac-md5;            #加密算法

        secret "uWmHZ/J20tcZSLsXDiBHtw==";      #密钥

}

配置zone使用秘钥传输

       [root@node63 ~]# vim /var/named/chroot/etc/named.rfc1912.zones

zone "example.cn" IN {

        type master;

        file "example.cn.zone";

        allow-transfer { key dnsseckey; };          #修改这儿允许使用秘钥传输,采用密钥同步,将网段修改为key dnsseckey

};

example.cn.zone记录文件就用以前的

修改从DNS支持秘钥认证

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

       options {

        listen-on port 53 { any; };

        listen-on-v6 port 53 { ::1; };

……

        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;                  #这三项注释取消

        dnssec-validation yes;

        dnssec-lookaside auto;

……

key dnsseckey {                             #先定义我们传输过程使用的秘钥名字,这几行要添加

        algorithm  hmac-md5;            #加密算法

        secret "uWmHZ/J20tcZSLsXDiBHtw==";      #密钥

}

[root@node64 ~]# vim /var/named/chroot/etc/named.rfc1912.zones

zone "example.cn" IN {

        type slave;

        file "slaves/example.cn.zone.sec";               #修改存储文件,换一个

        masters { 192.168.1.63 key dnsseckey; };    #制定Master,使用的密钥

};

测试

       [root@node63 ~]# systemctl restart named

[root@node64 ~]# systemctl restart named

[root@node64 ~]# ll /var/named/slaves/example.cn.zone.sec

-rw-r--r-- 1 named named 412 Oct 15 16:48 /var/named/slaves/example.cn.zone.sec

[root@node64 ~]# dig @localhost ftp.example.cn

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> @localhost ftp.example.cn

; (2 servers found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46123

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;ftp.example.cn.         IN  A

;; ANSWER SECTION:

ftp.example.cn.      86400   IN  A   192.168.111.111

;; AUTHORITY SECTION:

example.cn.      86400   IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: ::1#53(::1)

;; WHEN: Thu Oct 15 16:49:26 2015

;; MSG SIZE  rcvd: 81

配置DNS负载均衡

       在主上的配置:

       [root@node63 ~]# vim /var/named/example.cn.zone

TTL 1D

@       IN SOA  dns.example.cn. root.example.cn. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      dns.example.cn.

dns     A       192.168.1.63

www.example.cn. 1        A       192.168.122.122   #1 :表示此记录保存1秒

www.example.cn. 1        A       192.168.122.127

www.example.cn. 1        A       192.168.122.129

example.cn.     MX   10   mail.example.cn.   #添加邮件记录

mail.example.cn.    A            192.168.1.63

ftp     A       192.168.111.111

[root@node63 ~]# systemctl restart named

测试:

       [root@node63 ~]# ping www.example.cn -c 1             #每ping一次,都会发现IP地址不一样

PING www.example.cn (192.168.122.127) 56(84) bytes of data.

[root@node63 ~]# ping www.example.cn -c 1

PING www.example.cn (192.168.122.129) 56(84) bytes of data.

[root@node63 ~]# ping www.example.cn -c 1

PING www.example.cn (192.168.122.122) 56(84) bytes of data.

智能DNS

       根据不同的区域,解析出不同的IP地址

核心配置文件view控制

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

acl local { 127/8; };                                      #最前面添加

acl network { 192.168.1/24; };

……

#zone "." IN {              #这一段要注销,写到我们的include的zone文件中

#       type hint;

 #      file "named.ca";

#};

view local {                                    #对于上面定义的acl进行区定义,名字可以不一样

        match-clients {local;};                 #正式定义,名字要和acl中的相同

        recursion yes;

        include "/etc/named.local";       #这里定义我们的配置文件的另外块儿

};

view network {

        match-clients {network;};

        recursion yes;

        include "/etc/named.network";

};

#include "/etc/named.rfc1912.zones";         #上面按已经包含了,那么我们就把这行include去掉

include文件创建 

[root@node63 ~]# cd /var/named/chroot/etc/

       [root@node63 etc]# cp -a named.rfc1912.zones named.local

[root@node63 etc]# cp -a named.rfc1912.zones named.network

[root@node63 etc]# vim named.local

zone "." IN {

      type hint;

      file "named.ca";

};

zone "example.cn" IN {

        type master;

        file "example.cn.local";

        allow-update { none; };

};

[root@node63 etc]# vim named.network

zone "." IN {

       type hint;

      file "named.ca";

};

zone "example.cn" IN {

        type master;

        file "example.cn.network";

        allow-update { none; };

};

Zone记录文件创建

       [root@node63 named]# cp -a example.cn.zone example.cn.local                    //注意权限

[root@node63 named]# cp -a example.cn.zone example.cn.network

[root@node63 named]# vim /var/named/chroot/var/named/example.cn.local

$TTL 1D

@       IN SOA  dns.example.cn. root.example.cn. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      dns.example.cn.

dns     A       192.168.1.63

www     A       192.168.111.111

       [root@node63 named]# vim /var/named/chroot/var/named/example.cn.network

$TTL 1D

@       IN SOA  dns.example.cn. root.example.cn. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      dns.example.cn.

dns     A       192.168.1.63

www     A       192.168.111.222

[root@node63 etc]# service named restart

测试

       [root@node63 named]# dig @127.0.0.1 www.example.cn

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @127.0.0.1 www.example.cn

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33315

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www.example.cn.         IN  A

;; ANSWER SECTION:

www.example.cn.      86400   IN  A   192.168.111.111

;; AUTHORITY SECTION:

example.cn.      86400   IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Oct 15 17:18:23 2015

;; MSG SIZE  rcvd: 81

[root@node63 named]# dig @192.168.1.63 www.example.cn

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @192.168.1.63 www.example.cn

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36607

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;www.example.cn.         IN  A

;; ANSWER SECTION:

www.example.cn.      86400   IN  A   192.168.111.222

;; AUTHORITY SECTION:

example.cn.      86400   IN  NS  dns.example.cn.

;; ADDITIONAL SECTION:

dns.example.cn.      86400   IN  A   192.168.1.63

;; Query time: 0 msec

;; SERVER: 192.168.1.63#53(192.168.1.63)

;; WHEN: Thu Oct 15 17:19:09 2015

;; MSG SIZE  rcvd: 81

DNS泛解析

在解析文件中使用关键词$GENERATE

1、正向解析的泛解析

$GENERATE 10-20 www$ IN A 192.168.0.$

把www10-www20的主机解析为192.168.0.10-20

2、反向解析的泛解析

$GENERATE 10-20 $ PTR www$.example.com

把所有网段下的10-20的地址解析为www(10-20).example.com

$引用$GENERATE定义的范围。

 

linux dns递归功能,DNS服务之递归
weixin_39729784的博客
05-13 962
1.主从DNS:主DNS:进行数据修改并在修改后主动向从DNS发送数据已经更新的信息;从DNS:主动请主DNS进行数据同步;2.从DNS区域数据文件中:type slave;master {主DNS服务器IP地址;}; #从哪一台主DNS服务器中同步数据3.DNS服务器建立后不应该给所有的用户进行递归,如果用户把他的DNS指向我们的DNS服务器并且要求递归时,用户若是发起恶意查...
Linux系统里DNS服务
weixin_51220765的博客
11-06 442
DNS服务DNS:用于域名解析服务,默认使用53号端口,是UDP协议。 一.解析方式: ①正向解析:已知域名去解析为IP 扩展知识: 域名:主机名.二级域名/一级.顶级域名. [最后的“.”是根域,可省略不写] ②反向解析:已知IP查找域名 二.DNS服务器类型: 主服务器:master服务器,用于维护所有的解析文件,其它服务器可以从主服务器下载解析文件 从服务器:slave服务器,作为master服务器的备份,本身无法修改解析文件。 缓存服务器:cache服务器,提高用户的查询速度。 三.DN
LinuxDNS服务设置详解
最新发布
2301_82084396的博客
06-13 351
DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,实现了方便用户使用域名访问网站的目的。在Linux操作系统中,DNS服务也是一个重要的组成部分,我们可以使用bind9软件来实现DNS服务。本文将介绍如何在Linux环境下安装并配置bind9,实现主从DNS服务器的搭建。
DNS概念与正向解析
weixin_53496421的博客
02-24 421
这里写目录标题DNS定义域名结构DNS系统的作用DNS服务器类型正向解析配置 DNS定义 DNS是“域名系统”的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 NDS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。 每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。 域名结构 http://www.sina.com.cn./ 结构:http://主机名.子域.二级域.顶级域.根域/ 树状结构最
DNS递归查询IP
pq258280920的专栏
01-22 2077
1.DIG工具。dig +trace 域名    进行递归DNS查询,从根到权威DNS一次性查出。 2.nslookup,手动指定服务器来解析域名。 进行>界面后,1.set type=a,设置查询的类型为主机地址。然后输入域名,nslookup 会显示当前DNS 服务器的名称和IP 地址,然后返回完全规范域名对应的IP 地址。备注:若在域名后输入指定DNS地址,则用指
合理使用DNS中的递归查询和迭代查询
weixin_33694172的博客
05-22 177
前言 本章主要介绍递归查询与迭代查询的差别,以及他们混合工作时的方式。并且简单的介绍了如何根据实际情况进行部署。 目录 递归查询的工作方式 迭代查询的工作方式 如何配置递归查询及迭代查询 调整最佳性能的查询方式 递归查询的工作方式 递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名...
linux dns 漏洞,DNS区域传送漏洞
weixin_29063979的博客
05-13 319
区域传送操作指的是一台后备服务器使用来自主服务器的数据刷新自己的zone数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主域名服务器因意外故障变得不可用时影响到全局。一般来说,DNS区域传送操作只在网络里真的有后备域名DNS服务器时才有必要执行,但许多DNS服务器却被错误地配置成只要有人发出请求,就会向对方提供一个zone数据库的拷贝。如果所提供的信息只是与连到因特网上且具备有效...
LINUX--DNS服务详细配置
02-21
主要介绍如何在Linux上进行DNS服务的详细配置。 1. **DNS服务器软件安装** 在大多数Linux发行版中,常用的DNS服务器软件是BIND(Berkeley Internet Name Domain)。你可以通过包管理器来安装,例如在Debian或...
鸟哥linux服务
08-13
《鸟哥Linux服务》是一本专注于讲解Linux服务器配置与管理的专业资料,旨在帮助读者深入理解和熟练掌握在Linux环境中搭建和维护各种服务的核心技术。这本书的内容涵盖了从基础的系统管理到高级的服务配置,是Linux...
dns服务器配置.docx
09-02
DNS服务器配置详解 ...通过这文章,我们学习了如何配置 DNS服务器,以便提供域名解析服务。配置 DNS服务器需要完成多个步骤,但是一旦配置完成,DNS服务器将能够提供快速和可靠的域名解析服务
构建Linux DNS服务器.pdf
09-07
文档将重点介绍如何在Red Hat Linux 9.0环境下建立稳定且安全的DNS服务器,主要使用BIND(Berkley Internet Name Domain)软件,这是大多数Linux、BSD和Unix操作系统的DNS服务提供商。 首先,确保你已经获取到...
LINUX下的DNS服务器设置.rar_dns _dns linux_linux_linux DNS_linux 服务
09-23
教程将深入讲解如何在Linux环境下设置DNS服务器,包括基本概念、配置文件解析以及实际操作步骤。 一、DNS服务器基础 DNS是一个分布式数据库系统,其主要功能是解析域名到IP地址的映射。在Linux中,常用的DNS...
LinuxDNS服务
时间的博客
05-22 200
DNS服务概念 domain name server,域名服务作用 简化用户访问互联网的成本,使用户不必使用复杂的ip进行访问域名 FQDN,完全合格域名 www.jx.com 主机名+域名world wide web解析方式 正向解析 域名-->IP反向解析 IP-->域名工作方式递归本地DNS服务器无法解析时,替客户端向根服务器发起访问特点:一次查询,返回成功或失败迭代本地DNS服务器无法解析时,由客户端向其他DNS服务器发起访问。
漏洞解决方案-远程DNS服务允许递归查询
热门推荐
smart的博客
09-08 1万+
解决方案-远程DNS服务允许递归查询前置知识修复方案 前置知识        默认情况下,DNS 服务器会代表其 DNS 客户端以及已将 DNS 客户端查询转发给它的 DNS 服务器执行递归查询。递归是一项名称解析技术,借助此技术,DNS 服务器可以代表进行申请的客户端来查询其他的 DNS 服务器以完全解析名称,然后将应答发回客户端。        攻击者可以使用递归来
Linux 私房菜————Linux系统基本操作命令(十六)|DNS域名 | 正向解析 | 反向解析 | 主从服务器 | 分离解析|详细内容
ZJY
05-04 1096
DNS域名服务一、DNS—域名系统DNS的概述DNS使用端口DNS域名长度限制DNS作用二、DNS的域名结构根域顶级域二级域子域主机三、DNS服务器类型主域名服务器从域名服务器缓存域名服务器转发域名服务器四、配置DNS域名解析服务器步骤1.Bind安装2.查看配置文件查看需要修改的配置文件所在路径3.修改主配置文件五、正向解析1.修改区域配置文件,添加正向区域配置2.配置正向区域数据文件3.启动服务,关闭防火墙4.配置正向区域数据文件5.进行测试,同局域网Win7虚拟机访问打开cmd命令提示符进行域名访问六
[Linux系列|DNS]DNS详解②
qq_43714097的博客
09-20 1647
DNS LINUX 运维
DNS 迭代查询与递归查询
JoJo-追求卓越~
09-20 4454
DNS 查询以各种不同的方式进行解析。有时,客户端也可使用从先前的查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询。DNS 服务器也可代表请求客户端查询或联系其他 DNS 服务器,以便完全解析该名称,并随后将应答返回至客户端。这个过程称为递归。 另外,客户端自己也可尝试联系其他的 DNS 服务器来解析名称。当客户端这么做的时候,它会根据来自服务器的参考答
Linux系统中的DNS域名解析服务
shanjun12的博客
12-17 939
DNSY域名解析
Ubuntu Linux DNS服务器 BIND9配置文件命令介绍
Fllowone的博客
12-11 746
BIND9配置方法 转载▼     配置语法 named.conf acl 定义访问控制列表 controls 定义rndc命令使用的控制通道,若省略,则只允许经过rndc.key认证的127.0.0.1的rndc控制 include 包含其他文件到配置文件 key 定义用于TSIG的授权密钥 logging 日志记录 lwres...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 48 个 Linux 面试问题和答案 38017
  • apt update和apt upgrade命令 - 有什么区别? 33124
  • Btrfs 与 Ext4 - 功能、优势和劣势 29634
  • Ext4 vs XFS——你应该使用哪个文件系统 25396
  • 70 个 Shell 脚本面试问题和答案 14506

分类专栏

  • linux系统管理工具 付费 66篇
  • linux 123篇
  • linux性能优化实战 2篇
  • Ansible 11篇
  • 镜像制作 1篇
  • KylinOS 37篇
  • Debain 7篇
  • 虚拟化 6篇
  • 软考 1篇
  • 其他 1篇
  • Linux Commands 13篇
  • 高可用 4篇

最新评论

  • failed to connect to bus: 没有那个文件或目录

    Zero Zealaw: 可是我在尝试您说的这些操作的时候就返回 failed to connect bus:没有那个文件或目录

  • failed to connect to bus: 没有那个文件或目录

    CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • ubuntu右上角的网络连接图标消失解决办法

    Chenkun23: 确实有用,谢谢楼主

  • apt update和apt upgrade命令 - 有什么区别?

    贪吃要加酱: 表情包表情包表情包表情包表情包

  • ubuntu右上角的网络连接图标消失解决办法

    月酌君: 这个是真的有用!!!输完图标就弹出来了表情包表情包表情包表情包

大家在看

  • JS进阶-性能优化
  • C语言 | Leetcode C语言题解之第263题丑数
  • 从零手写实现 nginx-32-load balance 负载均衡算法 java 实现 778
  • FPGA-计数器 302
  • 【Linux线程】线程的认识 109

最新文章

  • kylinos解压RAR文件
  • 麒麟服务器操作系统漏洞补丁包怎么快速下载
  • 麒麟操作系统开机显示initramfs问题解决方案
2024年18篇
2023年62篇
2022年128篇
2021年13篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太极淘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码木棉湾网站推广工具吉祥外贸网站建设沙井网站改版荷坳百度爱采购坪山seo优化坑梓网站改版木棉湾建网站深圳网站推广工具大浪模板制作大浪优化永湖百搜标王吉祥模板网站建设龙岗百搜词包沙井百姓网标王推广惠州网络推广南澳网站定制深圳网站优化推广福田网站制作广州百搜标王丹竹头品牌网站设计双龙seo优化南澳关键词排名包年推广双龙百度网站优化排名坑梓SEO按天收费龙华SEO按效果付费布吉网站排名优化罗湖百姓网标王木棉湾网站改版观澜优化大鹏企业网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化