服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|

实例讲解Linux系统的服务器的DNS相关配置

2019-07-11 17:33Evil EastMCsolar Linux

这篇文章主要介绍了Linux系统的服务器的DNS相关配置,包括对一些常用配置文件的说明,需要的朋友可以参考下

运行环境redhat 9.0 ,IP地址172.18.121.35,实现的域名为zzvips.com

1.安装DNS所要的软件包.
查看是否安装bind软件,在终端中输入
 

复制代码
代码如下:
[root@localhost root]# rpm -qa|grep bind

redhat-config-bind-1.9.0-13
bind-9.2.1-16
bind-utils-9.2.1-16
ypbind-1.11-4
  
若出现以上的文字则表示安装成功,若没有出现以上东西插入正确的光盘,进行安装.或者通过下载源代码进行安装。

 

2.设定好IP地址与DNS
在终端中输入netconfig,回车,在第一行中输入IP,172.18.121.35.第二行输入子网掩码255.255.255.0第三行输入网关地址:172.18.121.1,最后一行输入DNS 172.18.121.35.再确定.再在终端中输入下面的命令
 

复制代码
代码如下:

[root@localhost root]#service network reload
[root@localhost root]#service network restart

通过ifconfig查看IP信息

 

3.配置DNS
配置DNS正向搜索,配置文件如下:
 

复制代码
代码如下:

[root@localhost root]#cp /var/named/localhost.zone /var/named/zzvips.com

先复制本机DNS的一个配置模板文件,进行修改

复制代码
代码如下:

[root@localhost root]# vi /var/named/zzvips.com
$TTL 86400
$ORIGIN zzvips.com.
@ 1D IN SOA zzvips.com. root.zzvips.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN MX 5 mail.zzvips.com.
www 1D IN A 172.18.121.35
mail 1D IN A 172.18.121.35
ftp 1D IN A 172.18.121.35
pop3 IN CNAME mail.zzvips.com.
smtp IN CNAME mail.zzvips.com.

保存退出,先按ESC ,再:wq.
配置DNS正向搜索,配置文件如下:

复制代码
代码如下:

[root@localhost root]#cp /var/named/named.local /var/named/172.18.121.rev

先复制本机DNS的一个配置模板文件,进行修改

复制代码
代码如下:

[root@localhost root]# vi /var/named/172.18.121.rev
$TTL 86400
@ IN SOA zzvips.com. root.zzvips.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS zzvips.com.</p> <p>35 IN PTR www.zzvips.com.
35 IN PTR mail.zzvips.com.
35 IN PTR ftp.zzvips.com.

配置本机DNS的一个主文件,安装好后它有一个模板,修改它,修改的部分是粗线表示

复制代码
代码如下:

[root@localhost root]# vi /etc/named.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "zzvips.com"IN{
type master;
file "zzvips.com";
};
zone "121.18.172.in-addr.arpa"IN{
type master;
file "172.18.121.rev";
};
include "/etc/rndc.key";
"/etc/named.conf" [已转换] 45L, 894C

配置本机的域名转换程序的顺序

复制代码
代码如下:

[root@localhost root]# vi /etc/host.conf
order bind,hosts
multi off
trim zzvips.com
[root@localhost root]# vi /etc/resolv.conf
nameserver 172.18.121.35
nameserver 218.196.42.2
namedsever 218.196.42.2
domain zzvips.com
search www.zzvips.com zzvips.com
option nochecknames rotate

 


4.启动named服务.
 

复制代码
代码如下:

[root@localhost root]#service named start

 


5.检查配置是否成功
 

复制代码
代码如下:
[root@localhost root]# nslookup

Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> www.zzvips.com
Server: 172.18.121.35
Address: 172.18.121.35#53

 

Name: www.zzvips.com
Address: 172.18.121.35
> 172.18.121.35
Server: 172.18.121.35
Address: 172.18.121.35#53

35.121.18.172.in-addr.arpa name = ftp.zzvips.com.
35.121.18.172.in-addr.arpa name = www.zzvips.com.
35.121.18.172.in-addr.arpa name = mail.zzvips.com.
>
ctrl +D退出
若出现上面的情况的文字表示已经配置成功.

6.其实在配置的过程中,查看自己是否配置正确可以通过named –g 进行查看你的配置文件到底错在那个地方,再进行修改

PS:DNS相关配置文件说明 
. /etc/host.conf

当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。示例:
order hosts,bind    #名称解释顺序
multi on            #允许主机拥有多个IP地址
nospoof on          #禁止IP地址欺骗
order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。


. /etc/resolv.conf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:
nameserver   #定义DNS服务器的IP地址
domain       #定义本地域名
search       #定义域名的搜索列表
sortlist     #对返回的域名进行排序
/etc/resolv.conf的一个示例:
domain ringkee.com
search www.ringkee.com ringkee.com
nameserver 202.96.128.86
nameserver 202.96.128.166
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。


. /etc/hosts
设置IP地址与主机名对应表,可用该文件来进行主机名称解释。如:
#格式:IP地址     主机名       别名
 

复制代码
代码如下:

127.0.0.1 localhost localhost.localdomain
192.168.1.1 debian debian
192.168.0.2 t02 t02.tiger
192.168.0.4 t04 t04.tiger
./etc/name.conf
// generated by named-bootconf.pl</p> <p>options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};</p> <p>//
// a caching only nameserver config
//</p> <p>zone "." IN {
type hint;
file "named.ca";
};</p> <p>zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

  这一部分是你安装了bind软件后系统自动产生的named.conf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“name.ca”,根的反向查询域的记录文件是“named.local”。这两个记录文件也是系统自带的,不用去改动它。named.conf文件的这一部分内容,我们不必去改动它。

 

  但我们可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。
 

复制代码
代码如下:

zone "zzvips.com" IN {
type master;
file "named.zzvips.com";
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "named.zzvips.com.rev";
allow-update { none; };
};

  这一部分是手工添加的。定义了“zzvips.com”这个域和对应的反向查询域。“type master”说明本机是“zzvips.com”和“0.0.10.in-addr.arpa”这两个域的主dns服务器(primary name server)。“named.zzvips.com”和“named.zzvips.com.rev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。
./var/named/naemd.***.com
资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。
1、named.zzvips.com文件内容如下:

复制代码
代码如下:

@ IN SOA netfinity.zzvips.com. root.netfinity.zzvips.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zzvips.com.
IN MX 10 netfinity.zzvips.com.</p> <p>netfinity IN A 10.0.0.211
lily IN A 10.0.0.139
www IN CNAME netfinity.zzvips.com.
pop3 IN CNAME netfinity.zzvips.com.
smtp IN CNAME netfinity.zzvips.com.

  在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.zzvips.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www.zzvips.com、pop3.zzvips.com其实都是指向同一台主机netfinity.zzvips.com。

 


./var/named/naemd.***.com.rev
 
 named.zzvips.com.rev文件内容:
 

复制代码
代码如下:

@ IN SOA netfinity.zzvips.com. root.netfinity.zzvips.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zzvips.com.
211 IN PTR netfinity.zzvips.com.
139 IN PTR lily.zzvips.com.

  这是“zzvips.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。
到此为止,你已经成功配置了一个dns服务器,它能够解析“zzvips.com”这个域了。

延伸 · 阅读

精彩推荐
  • Linux谈谈Linux运维人员是否需要掌握一门编程语言

    谈谈Linux运维人员是否需要掌握一门编程语言

    最近经常有同行的朋友或者 Linux 初学者问我: 运维 人员是否需要学一门语言,那么该学哪种语言呢? 对于这个问题,我分两个方面回答: 首选,在大数据、云计算发展迅猛的今天,系统运维人员如果不懂一点开发语言的话,确实...

    服务器之家4892019-05-23
  • LinuxLinux lsof 命令使用详细说明

    Linux lsof 命令使用详细说明

    lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件...

    未知652019-05-20
  • Linux在Linux系统下安装Terminator来增强命令行终端

    在Linux系统下安装Terminator来增强命令行终端

    这篇文章主要介绍了在Linux系统下安装Terminator来增强命令行终端的方法,Terminator提供了较自带终端更为强大的图形化用户界面,需要的朋友可以参考下...

    51CTO4612019-07-08
  • Linux怎样在Linux中安装光盘上的DHCP服务

    怎样在Linux中安装光盘上的DHCP服务

    有些刚接触和学习linux的同学在安装好linux后想学习配置dhcp服务器,但是刚装的linux又没有安装dhcp服务器端,dhcpd .conf.sample文件也找不到,开始我也遇到这个问题,而且老师给的课件代码对不上,后来花了时间去摸索,发现是版本...

    百度经验2762019-05-30
  • LinuxLinux下自动清理大量文件的方案探究

    Linux下自动清理大量文件的方案探究

    这篇文章主要介绍了Linux下自动清理大量文件的方案探究,包括队Linux的文件删除机制作了简单的讲解,需要的朋友可以参考下...

    IBMdeveloperWorks1832019-07-02
  • LinuxLinux系统中的screen命令基本使用教程

    Linux系统中的screen命令基本使用教程

    这篇文章主要介绍了Linux系统中的screen命令基本使用教程,screen的多窗口管理功能非常强大,需要的朋友可以参考下...

    jiedushi2712019-07-02
  • LinuxLinux中将执行过的命令记录到日志并发送到服务器的方法

    Linux中将执行过的命令记录到日志并发送到服务器的方法

    这篇文章主要介绍了Linux中将执行过的命令记录到日志并发送到日志服务器的方法,包括对缓存的删除处理等功能的实现,需要的朋友可以参考下 ...

    服务器之家2912019-06-29
  • Linux详解Linux系统中inode索引节点已满问题的解决方法

    详解Linux系统中inode索引节点已满问题的解决方法

    这篇文章主要介绍了详解Linux系统中inode索引节点已满问题的解决方法,inode用来存放档案及目录的基本信息,包含时间和档名和使用者及群组等,需要的朋友可以参考下...

    CSDN Blog4312019-06-20