Linux环境下配置DNS服务器


背景要求:
某企业有一个局域网(192.168.1.0/24),网络拓扑如图所示。要求在企业内部构建一台DNS服务器,为局域网中的计算机提供域名分析服务。DNS服务器管理jnrplinux.com域的域名分析,DNS服务器的域名为dns.jnrplinux.com, IP地址为192.168.1.2。辅助DNS服务器的IP地址为192.168.1.3。同时还必需为客户提供Internet上的主机的域名分析。要求分别能分析以下域名:财务部(cw.jnrplinux.com:192.168.1.11),销售部(xs.jnrplinux.com:192.168.1.12),经理部(jl.jnrplinux.com:192.168.1.13),OA系统(oa.jnrplinux.com:192.168.1.13)。

ps:使用装有liunx系统的虚拟机模拟服务机和客户机


开启ip

ifup ens33
ip add // 查看IP地址

配置服务机:
(以下操作均在 root 权限下进行)
1、安装 bind包

yum -y install bind

BIND是DNS协议的一种实现。BIND包含了一个DNS Server(服务名叫named),用来解析主机名到ip地址;一个解析库;一些辅助工具,还有一个安全目录工具,分别属于下面几个包:
bind:包里主要包含:

  • named DNS服务
  • named-chkconfig(named.conf文件检查工具)
  • named-checkzone(zone文件检车工具)
  • rndc(本地和远程dns控制工具)
  • bind-libs:named DNS服务的库
  • bind-utils:包含一系列辅助工具来测试
    host
    dig
    nslookup
    nsupdate
  • bind-chroot:切根程序,用来切换默认目录到另外一个深层的安全的目录/var/named/chroot,类似于前面光盘进入救援模式的那种情况。

出处:大佬的博客:传送门~

2、修改bind主配置文件

为避免配置失误,先备份一个named.conf

cp named.conf named.conf.bak

打开配置文件:

vi /etc/named.conf

修改信息如下:
!!别打错字!!

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
	listen-on port 53 { 192.168.131.128; }; // 👈 需要手动修改,修改为服务机的ip,此处为:ipv4监听端口和ip地址
	directory 	"/var/named";				// 个人建议删掉其他行,就留下这两行
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};
// 需要增加的内容,👇
zone "jnrplinux.com" IN { 	// 这里是定义的根域的文件位置
	type master;
	file "jnrplinux.com.zone"; 
};

3、 创建并配置 jnrplinux.com.zone 文件(区域配置文件)

cd /var/named
# cp 一个格式类似的文件
cp named.localhost jnrplinux.com.zone
# 修改 jnrplinux.com.zone 的权限
chown named:named jnrplinux.com.zone

vi jnrplinux.com.zone

信息如下:

$TTL 1D
			//	这里就写成这样			报错邮箱 👇
@       IN SOA  dns.jnrplinux.com. 7609627055.qq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      A       192.168.131.0 // 服务机ip域 .0结尾
@       IN      NS      dns.jnrplinux.com. // 这行就这样写
dns     IN      A       192.168.131.128 // 服务机ip
cw      IN      A       192.168.131.130 // 客户机ip

两条检查是否有语法错误的命令:

named-checkconf 
named-checkzone jnrplinux.com /var/named/jnrplinux.com.zone 
# 如果有错误信息,根据提示修改即可

4、 修改服务器名称

修改主机名称

vi /etc/hostname
//信息如下:
dns.jnrplinux.com

/etc/resolv.conf 是 DNS 客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。

vi /etc/resolv.conf
//信息如下:
nameserver 192.168.131.128 // 👈(服务机ip、只要这一行)

resolv 文件每次联网都需要更改,这个文件会自己变,记得注意这个

5、修改 named 守护进程配置文件,去除去IPv6的解析,只解析IPv4

vi /etc/sysconfig/named
// 增加一行,其他不动
OPTIONS="-4"

5、修改防火墙设置

将dns服务加入防火墙的允许服务中 并重新加载防火墙

firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload

查看防火墙信息 是否dns服务已经在其中

firewall-cmd --list-all

在这里插入图片描述

6、重启 named 服务,并查看

systemctl restart named
systemctl status named

在这里插入图片描述
应该是这样的,👆

配置客户机

1、配置 resolv.conf 文件

vi /etc/resolv.conf
// 信息如下
nameserver 192.168.131.128 // 👈 服务机ip、只要这一行

2、修改主机名

vi /etc/hostname
// 信息如下
cw.jnrplinux.com // 👈 客户机名称

测试

服务机测试命令:

ping cw.jnrplinux.com
ping dns.jnrplinux.com

结果如下:
在这里插入图片描述
ps:改了一下图,上图是后补的,ip地址和之前的不一样(还原了网关设置),下图是原图,是有问题的
在这里插入图片描述
在这里插入图片描述
客户机测试命令

ping cw.jnrplinux.com
ping dns.jnrplinux.com

结果如下:
在这里插入图片描述
在这里插入图片描述


这里就配置了一个客户机,其他三个操作相同,改个名就行了

完结★,°:.☆( ̄▽ ̄)/$:.°★

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值