我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何理解Fedora DNS服务器客户端

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何理解Fedora DNS服务器客户端

这篇文章将为大家详细讲解有关如何理解Fedora DNS服务器客户端,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

DNS有很多值得学习的地方,这里我们主要介绍DNS服务器,包括介绍DNS服务器启动等方面。Fedora Core Linux计划整合成新的Fedora Project。网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。当某台主机要与其他主机通信时,就可以利用主机名称向DNS服务器查询该主机的IP地址。

整个DNS域名系统由以下4个部分组成
1.DNS服务器域名空间
2.资源记录
3.DNS服务器
4.DNS服务器客户端
Linux下架设DNS服务器通常是使用Bind程序来实现的。Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。Bind原本是美国DARPA资助伯克里大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数的DNS服务器有都是用Bind来架设的

DNS服务器种类:
1.Master Server 主服务器
2.Slave Server 辅助服务器/从服务器
3.Caching only Server 缓存服务器
4.Forwarder Server 转发服务器
5.Stealth Server 秘密服务器

DNS BIND区域类型:
类型       描述
master      主DNS服务器区域
slave       从DNS服务器区域,由主DNS服务器区域控制
stub与从区域类似,但只保存DNS服务器的名字
forward     将任何询问请求转发给其他服务器
hint根DNSInternet服务器集

常见的BIND配置语句和选项:
语句 描述
C语言风格的BIND注释
//注释       C++语法风格的BIND注释
#注释Unix shell和Perl系统风格的BIND注释
Acl     定义IP地址匹配列表
Include 包含一个文件
Key     指明用于识别和授权的密钥信息
Logging 指名服务器日志记录的内容和日志信息的来源
Options 全局服务器的配置选项和其他语句的默认值
Control 声明ndc软件工具使用的控制通道
Server  设置某个服务器的配置参数
trusted-keys    定义预先配置到服务器中,并且信任的DNS SEC密钥
zone    定义一个区域
type    指明一个区域类型
file    指明一个区域文件
directory       指明区域文件目录
forwarders      列出主机请求将要被转发的DNS服务器
masters 列出做为从服务器使用的DNS服务器主机
allow-transfer  指明允许那台主机接受区域传送的请求
allow-query     指明允许那台主机提出询问
motify  当主区域数据允许改变和更新时,允许主服务器通知从服务器

资源记录类型:

类型      描述
A       主机地址,映射主机名字到IP
NS      本域授权名字服务器
CNAME   规范的名字,用来注释主机的别名
SOA     授权开始,在域文件中开始DNS服务器条目,为域和其他特征(像点和序号)指定名字服务器
WKS     已知的服务描述
PTR     指针记录,执行逆向域名访问,映射IP地址到主机名
RP      文本字符串,包含有关主机的接点信息
HINFO   主机信息
MINFO   电子信箱或邮件列表信息
MX      邮件交换器,传送到域邮件服务器的远程站点
TXT     文本字符串,通常是主机信息

安装

[root@localhost ~]# rpm -q bind
[root@localhost /]# cd /media/Fedora\ 8\ i386\ DVD/Packages/
[root@localhost Packages]# find . -name "bind*"
bind-9.5.0-16.a6.fc8.i386.rpm
bind-chroot-9.5.0-16.a6.fc8.i386.rpm
bind-libs-9.5.0-16.a6.fc8.i386.rpm
bind-utils-9.5.0-16.a6.fc8.i386.rpm
BIND程序的虚拟目录是/var/named/chroot/
如:/etc/named.conf其实就是 /var/named/chroot/etc/named.conf
如:/var/named/其真正的路径是/var/named/chroot/ var/named/
[root@localhost Packages]# rpm -ivh bind-libs-9.5.0-16.a6.fc8.i386.rpm
warning: bind-libs-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
package bind-libs-9.5.0-16.a6.fc8 is already installed
[root@localhost Packages]# rpm -ivh util-linux-ng-2.13-3.fc8.i386.rpm
warning: util-linux-ng-2.13-3.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
package util-linux-ng-2.13-3.fc8 is already installed
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libmysqlclient.so.15 is needed by bind-9.5.0-16.a6.fc8.i386
libmysqlclient.so.15(libmysqlclient_15) is needed by bind-9.5.0-16.a6.fc8.i386
libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-libs-5.0.45-4.fc8.i386.rpm
warning: mysql-libs-5.0.45-4.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:mysql-libs  [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh unixODBC-2.2.12-5.fc8.i386.rpm
warning: unixODBC-2.2.12-5.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:unixODBC [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-libs-8.2.7-1.fc8.i386.rpm
warning: postgresql-libs-8.2.7-1.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:postgresql-libs [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-8.2.7-1.fc8.i386.rpm
warning: postgresql-8.2.7-1.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:postgresql      [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
mysql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-5.0.45-4.fc8.i386.rpm
warning: mysql-5.0.45-4.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:mysql    [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...  [100%]
1:bind     [100%]
[root@localhost ~]# rpm -q bind
bind-9.5.0-16.a6.fc8

安装完毕后启动DNS服务器并测试回环

[root@localhost etc]# /etc/rc.d/init.d/named start
启动 named:       [确定]
[root@localhost etc]# nslookup
> localhost
Server: 127.0.0.1
Address:127.0.0.1#53
Name:   localhost
Address: 127.0.0.1
> 127.0.0.1
Server: 127.0.0.1
Address:127.0.0.1#53
1.0.0.127.in-addr.arpa  name = localhost.
> exit
[root@localhost etc]# /etc/rc.d/init.d/named stop
停止 named:       [确定]

修改网络配置脚本文件(/etc/sysconfig/network-scripts/ifcfg-eth0):

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
修改后
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:65:21:05
BROADCAST=192.168.1.255
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.1
ONBOOT=yes

修改本机域名服务器IP地址(/etc/resolv.conf):

domain jw.com
nameserver 192.168.1.6
演示文档/usr/share/doc/bind-9.5.0/sample
[root@localhost etc]# cp named.conf named.conf.old
修改named.conf文件(/etc/named.conf):
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
Fedora 8中,默认仅仅在回环地址127.0.0.1和::1(IPV6的回环地址)上打开53端口,如果希望在所有地址上都打开53端口,则应该修改成:
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query     { localhost; };
Fedora 8中的DNS服务器默认只允许127.0.0.1这个客户端(即本机)发起查询,一般我们需要允许所有人查询,则因该修改成:
allow-query     { any; };

设置主区域(/etc/named.conf):

为了配置的方便和减少出错我们从系统(127.0.0.1)回环/etc/named.rfc1912.zones文件复制到named.conf文件并修改,将以下从named.rfc1912.zones文件复制
zone "localhost" IN {
type master; 注:type和file是两个必选项,type项用于指明区域类型(master,slave,stub,forward,hint)
file "named.localhost"; 注:用于指明区域文件的名字
allow-update { none; }; 注:不允许区域复制,
zone "1.0.0.127.in-addr.arpa" IN
type master;
file "named.loopback";
allow-update { none; };
};
修改成
zone "jw.com" IN {
type master;
file "jw.com.zone";
allow-update { none; };      
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.arpa";
allow-update { none; };
};

建立区域文件在(/var/named):

[root@localhost ~]# cd /var/named/
为了配置方便和减少出错我们复制系统(127.0.0.1)回环文件(正向区域文件/var/named/named.localhost拟向区域文件/var/named/named.loopback)
[root@localhost named]# cp named.localhost jw.com.zone
[root@localhost named]# cp named.loopback 1.168.192.arpa
jw.com.zone原文件内容
$TTL 1D
@IN SOA  @ rname.invalid. (   注:授权开始,指定名字服务器
0       ; serial添加修改时相应的序列号
1D      ; refresh是SOA信息的刷新时间间隔
1H      ; retry是与授权服务器联系的频率
1W      ; expire是从服务器保存有关区域信息,而不更新它的时间间隔
3H )    ; minimum是区域中记录存活的时间
NS      @     注:本域授权名字服务器
A       127.0.0.1    注:主机地址,映射主机名字到IP地址
AAAA    ::1
jw.com.zone修改后的文件内容
$TTL 1D
jw.com.  IN SOA dns.jw.com.  admin.jw.com. (
2008041201      ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
jw.com.   IN NS dns.jw.com.
dns.jw.com. IN A 192.168.1.6
www.jw.com. IN A 192.168.1.6
bbs.jw.com. IN A 192.168.1.6
blog.jw.com. IN A 192.168.1.6
mail.jw.com. IN A 192.168.1.6
jw.com. IN MX 10 mail.jw.com.
aaa.jw.com IN CNAME www.jw.com.
1.168.192.arpa原文件内容
$TTL 1D
@IN SOA  @ rname.invalid. (
0; serial添加修改时相应的序列号
1D; refresh是SOA信息的刷新时间间隔
1H; retry是与授权服务器联系的频率
1W; expire是从服务器保存有关区域信息,而不更新它的时间间隔
3H ); minimum是区域中记录存活的时间
NS @
PTR     localhost.   注:指针记录,执行逆向域名访问,映射IP地址到主机名
1.168.192.arpa修改后的文件内容
$TTL 1D
1.168.192.in-addr.arpa. IN SOA  dns.jw.com. admin.jw.com. (
2008041201      ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
1.168.192.in-addr.arpa. IN NS   dns.jw.com.
6 IN PTR dns.jw.com.
6 IN PTR www.jw.com.
6 IN PTR bbs.jw.com.
6 IN PTR blog.jw.com.
6 IN PTR mail.jw.com.

修改文件所属组:
[root@localhost named]# chgrp named jw.com.zone
[root@localhost named]# chgrp named 1.168.192.arpa
[root@localhost ~]# /etc/rc.d/init.d/named start
启动 named:       [确定]

测试

[root@localhost ~]# nslookup
> localhost
Server: 192.168.1.6
Address:192.168.1.6#53
Name:   localhost
Address: 127.0.0.1
> 127.0.0.1
Server: 192.168.1.6
Address:192.168.1.6#53
1.0.0.127.in-addr.arpa  name = localhost.
> www.jw.com 注:测试主机地址A资源记录
Server: 192.168.1.6
Address:192.168.1.6#53
Name:   www.jw.com
Address: 192.168.1.6
> dns.jw.com
Server: 192.168.1.6
Address:192.168.1.6#53
Name:   dns.jw.com
Address: 192.168.1.6
> 192.168.1.6    注:测试反向解析指针PTR资源记录
Server: 192.168.1.6
Address:192.168.1.6#53
6.1.168.192.in-addr.arpaname = www.jw.com.
6.1.168.192.in-addr.arpaname = bbs.jw.com.
6.1.168.192.in-addr.arpaname = blog.jw.com.
6.1.168.192.in-addr.arpaname = dns.jw.com.
> set type=ns   注:测试名称服务器NS资源记录
> jw.com
Server: 192.168.1.6
Address:192.168.1.6#53
jw.com  nameserver = dns.jw.com.
> set type=mx   注:测试邮件交换器MX资源记录
> jw.com
Server: 192.168.1.6
Address:192.168.1.6#53
jw.com  mail exchanger = 10 mail.jw.com.
> set type=soa   注:测试起始授权机构SOA资源记录
> jw.com
Server: 192.168.1.6
Address:192.168.1.6#53
jw.com
origin = dns.jw.com
mail addr = admin.jw.com
serial = 2008041201
refresh = 86400
retry = 3600
expire = 604800
minimum = 10800
> set type=cname   注:测试别名CNAME资源记录
> aaa.jw.com
Server: 192.168.1.6
Address:192.168.1.6#53
aaa.jw.com.jw.com       canonical name = www.jw.com.
> exit

关闭DNS服务器服务

[root@localhost ~]# /etc/rc.d/init.d/named stop 停止 named:

关于如何理解Fedora DNS服务器客户端就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何理解Fedora DNS服务器客户端

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何理解Fedora DNS服务器客户端

这篇文章将为大家详细讲解有关如何理解Fedora DNS服务器客户端,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。DNS有很多值得学习的地方,这里我们主要介绍DNS服务器,包括介绍DNS服务
2023-06-16

如何理解Dns及dns服务器

这期内容当中小编将会给大家带来有关如何理解Dns及dns服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的
2023-06-07

如何理解Fedora HAL服务器

如何理解Fedora HAL服务器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。经过长时间学习Fedora HAL,于是和大家分享一下,你可能会遇到Fedora HAL问题,看
2023-06-17

云服务器如何使用ssr客户端

使用SSR客户端可以很方便地在云服务器上创建和管理数据库。以下是一些示例:创建新的数据库连接:首先,在您的云服务上创建一个新的数据库连接。在连接上添加“openservers”选项,然后将“openserver”设置为您要连接的云服务的主机名。如果您要连接的主机名是“test_server”或“test.sources”,则可以将其替换为您的云服务器的主机名。创建新的数据库:选择您的数据库文件所在的路径和文件名
2023-10-27

Android socket实现原理详解 服务端和客户端如何搭建

本文实例为大家分享了Android socket的实现原理,供大家参考,具体内容如下Socket套接字 是网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。socket实现的原理机制:1、通信的两端都有Sock
2023-05-30

如何理解CoreDNS作为kubernetes后端的DNS服务器

本篇文章给大家分享的是有关如何理解CoreDNS作为kubernetes后端的DNS服务器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。coredns之所以如此名声大噪,就是因
2023-06-05

如何使用Docker客户端管理容器

这篇文章主要介绍了如何使用Docker客户端管理容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。传统上,在管理物理服务器或虚拟机时,我们只需要连接RDP(运行Windows
2023-06-03

如何使用java实现客户端与服务器

小编给大家分享一下如何使用java实现客户端与服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1. web开发;2.
2023-06-14

WinXP如何安装云端服务 icloud pc客户端

MAC系统的icloudjs是一个很好用的云端服务,一些WinXP用户也想在自己的XP电脑上安装icloud。那么该怎么安装呢?现在小编就把安装方法与大家共android享下。安装方法:第一步:去苹果官网下载icloud客户端for Win
2023-06-12

服务器如何知道客户端不再存在?

问题内容我试图了解 TCP 的工作方式,到目前为止我所知道的是,如果“随机”断开连接,一侧无法知道另一侧是否仍然存在。这就是使用一些 PING/PONG 算法或 TCP keep-alive 的原因。我创建了一个简单的客户端-服务器应用程
服务器如何知道客户端不再存在?
2024-02-08

云服务器如何使用ssr客户端登录

在ssr客户端上,你可以使用多种方式登录到云服务器中。以下是其中几种方法:1.使用ssr登录到控制台:使用ssr客户端上的控制台登录功能,在控制台上输入要登录的账号和密码即可登录到云服务器中。在控制台上还可以使用其他的ssr客户端,例如openssl等。2.使用ssr客户端上的ssr.openssl:使用ssr客户端上
云服务器如何使用ssr客户端登录
2023-10-28

如何实现C#服务端与客户端连接

今天就跟大家聊聊有关如何实现C#服务端与客户端连接,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#服务端与客户端连接实现的时间性:当服务器开始对端口侦听之后,便可以创建客户端与它建
2023-06-17

如何处理服务器上客户端断开连接的情况

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《如何处理服务器上客户端断开连接的情况》,聊聊,希望可以帮助到正在努力赚钱的你。问题内
如何处理服务器上客户端断开连接的情况
2024-04-05

联通服务器代理阿里云客户端

作为阿里云的联通服务器代理,我们的目标是帮助用户轻松连接和管理阿里云服务器。通过阿里云客户端,用户可以轻松地将自己的服务器与其他设备连接起来,并实现更加便捷的访问和管理。同时,阿里云客户端也提供了一些便捷的工具,如云盘、云同步、备份等,使用户能够更加高效地存储和管理数据。阿里云客户端的优势不仅仅在于连接和管理服务器,还
2023-10-27

如何使用Go实现TLS服务器和客户端

本篇内容介绍了“如何使用Go实现TLS服务器和客户端”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!传输层安全协议(Transport Lay
2023-06-22

编程热搜

目录