获取中...

-

Just a minute...

DNS服务配置

目的

(1)掌握Linux系统中主DNS服务器的配置。

(2)掌握Linux下辅助DNS服务器的配置。

(3)掌握nslookup程序的使用方法。

背景

构建一台DNS服务器,为局域网中的计算机提供域名解析服务。DNS服务器管理baidu.com域的域名解析。

内容

Linux系统下主及辅助DNS服务器的配置方法

DNS网络请求步骤

当以域名请求某服务的时候,比如我们从浏览器里敲入百度网址 www.baidu.com 并按下回车键,浏览器在与百度的服务器建立连接之前,首先需要把 www.baidu.com 转换成为 IP,然后根据这个 IP 与百度的服务器建立连接,继而完成接下来的数据传输。

具体步骤

1.手机(或电脑)首先请求 DNS 服务器获取百度的 IP;

2.DNS 服务器从 www.baidu.com 对应的表里按照一定的算法返回某个

3.手机或电脑拿到ip后就发起与 baidu-server-2 的连接,形成一个连接;

4.连接建立起来后,此时才进行请求数据和响应数据的传输

DNS服务器

DNS server做的主要事情就是简单地把 www.baidu.com 转换成为对应的 IP。那么这个 IP 是如何来的呢?

当我们在某个云平台(比如thriumph.top这个域名是在阿里云买的)购买了一个域名后,我们就可以给这个域名添加相应的解析。把我们服务器的 IP 绑定到这个域名下面后,信息同步到相应的 DNS 服务器上,我们就可以通过域名找到我们的服务器 IP 继而访问我们的服务了。

Ubuntu上搭建DNS服务

大多数情况下,我们的电脑都会自动连接公共的 DNS 服务器,并使用这些公共的 DNS 服务器完成所有域名到 IP 的映射查询。不过,如果我们希望在某个区域(比如在公司)搭建由特定人群访问的服务,这个时候就可以搭建自己的 DNS 服务器,从而自由地配置 DNS 服务器添加个性化解析的记录

设置静态ip

在编辑虚拟机设置里面的网络适配器类型改为NAT模式得到子网掩码和网关(子网掩码:255.255.255.0 网关:192.168.75.2)

使用ifconfig查看网卡名称和ip(网卡名称ens33,ip是192.168.75.131)

修改相关的配置文件(sudo vi /etc/network/interfaces)

安装BIND9和dnsutils软件包(DNS测试工具)

BIND 9 是一个开源的 DNS 服务器,在 Ubuntu-Server 版本里其实是包含这个服务的,可以在安装系统时选择性地安装它,也可以通过下面的命令后期安装

相关命令:

sudo apt-get install bind9
sudo apt-get install dnsutils

备份

配置需要修改的文件有named.conf.local,named.conf.options,在开始修改文件之前先做备份。(需要找到配置文件的存放位置,我的是在/etc/bind中)

相关命令:
cd /etc/bind

sudo cp named.conf.local named.conf.locak.bak

sudo cp named.conf.options named.conf.options.bak

修改/etc/bind/named.conf.options 文件

相关命令:

vi /etc/bind/named.conf.options

named.conf.options 文件中包含一些基本的配置,比如定义 解析 文件的位置(directory)、DNS 上游服务器(forwarders)、以及一些安全性格的参数配置等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
options {
// 这个目录决定了我们域名解析数据配置的目录,记住这个目录,后面会用到
directory "/var/cache/bind";
// 配置 bind9 上游的 DNS 服务器
// 如果 bind9 中找不到某个域名的解析,会把域名解析请求发送到上游 DNS 服务器
// 192.168.75.131 这个是我家里的路由器的 IP,这个路由器提供了 DNS 服务能力
forwarders {
192.168.75.131;
};
allow-query {
0.0.0.0/0;
};
// 因为 192.168.75.131 是本地路由器,安全性不是很高
// 需要关闭下面这几个安全相关参数才可以使用
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;

auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};

修改etc/bind/named.conf.local 文件

相关命令 etc/bind/named.conf.local

可以在 named.conf.local 文件中添加自定义的域名信息(zone)以及相应的解析文件(file)

1
2
3
4
5
6
7
// cat /etc/bind/named.conf.local

// 这里定义在 bind9 中添加 www.baidu.com 解析
zone "baidu.com" {
type master;
file "/etc/bind/zones/db.baidu.com";
};

配置相关解析文件

相关命令

mkdir zones

cp db.local zones/db.baidu.com

vi zones/db.baidu.com

修改zones/db.baidu.com文件

相关命令:

vi zones/db.baidu.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.baidu.com.
baidu.com. IN NS ns.baidu.com.
ns.baidu.com. IN A 192.168.75.131
www.baidu.com. IN A 192.168.75.131

重启DNS服务

相关命令:

重新载入配置

sudo systemctl daemon-reload

重启 bind9

sudo systemctl restart bind9.service

nslookup命令测试DNS服务器

在windows下验证

相关文章
评论
分享
  • 网络设备配置与管理

    Linux网络设备与管理大作业 下图为某企业网络拓扑图,接入层采用二层交换机2960,汇聚和核心层使用了一台三层交换机3560 24PS,局域网边缘采用一台路由器LanRouter用于连接到外部网络的Isp Router两台路由器...

    网络设备配置与管理
  • IPTABLES防火墙配置

    iptables的基本配置方法查看是否安装防火墙which iptables whereis iptables 如上图所示,iptables已经安装,如果没有安装,使用sudo apt-get install iptables安装...

    IPTABLES防火墙配置
  • 搭建email服务器

    安装Ubuntu 18.04附带了systemd-resolve,需要禁用它,因为它绑定到53端口,与Dnsmasq端口冲突。 运行以下命令以禁用已解析的服务: systemctl disable systemd-resolved s...

    搭建email服务器
Please check the parameter of comment in config.yml of hexo-theme-Annie!