Linux 配置DNS服务

WWNY666 2024-07-07 17:07:02 阅读 74

DNS简介

域名解析:就是域名到IP地址的转换过程。(也可以将IP地址转换为相应的域名地址,叫 做反向解析)⼈们通过注册的域名可以⽅便地访问到⽹站。 IP地址是⽹络上标识站点的数字地址,为了⽅便记忆,采⽤域名来代替IP地址标识站点地址。 域名的解析⼯作由DNS服务器完成。

DNS⼯作原理

1.当在浏览器中输⼊URL时,浏览器会先检查⾃⼰的缓存是否有域名IP的映射关系,有则直接 使⽤IP进⾏通信;

2.如浏览器没有缓存,则操作系统检查本地hosts⽂件是否有域名IP的映射关 系,有则使⽤IP进⾏通信;

3.如果hosts没有这个域名的映射,则查找本地DNS解析器缓存是 否有映射关系,有则直接返回完成域名解析;

4.如果还未找到映射关系,⾸先会找TCP/IP参 数中设置的⾸选DNS服务器,也就是本地DNS服务器,如果服务器已缓存了映射关系,则使 ⽤这个IP地址映射返回完成域名解析,此时解析不具有权威性。

5.如果本地DNS服务器缓存已经失效,进⾏上述的递归查询和迭代查询操作

环境(基础网络环境配置完成)

Redhat 9

192.168.200.133

192.168.200.129

步骤:

服务包bind

服务名named

安装

<code>[root@admin ~]# yum -y install bind

正在更新 Subscription Management 软件仓库。

无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:3:17:28 前,执行于 2024年04月02日 星期二 15时40分19秒。

依赖关系解决。

省略 。。。。。。

已安装:

bind-32:9.16.23-11.el9.x86_64 bind-dnssec-doc-32:9.16.23-11.el9.noarch bind-dnssec-utils-32:9.16.23-11.el9.x86_64 python3-bind-32:9.16.23-11.el9.noarch

python3-ply-3.11-14.el9.noarch

完毕!

[root@admin ~]#

重启服务设置开机自启、关闭防火墙selinux

[root@admin ~]# systemctl restart named

[root@admin ~]# systemctl enable named

Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

[root@admin ~]# systemctl stop firewalld

[root@admin ~]# setenforce 0

[root@admin ~]#

域名解析文件写入两台机器 IP地址

[root@admin ~]# vim /etc/resolv.conf

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

# Generated by NetworkManager

search localdomain

nameserver 192.168.200.133

nameserver 192.168.200.129

[root@admin ~]#

 修改主配置文件

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

10 options {

11 listen-on port 53 { any; }; // ipv4监听端口和ip地址,可以写具体的IP地址也可以写any

12 listen-on-v6 port 53 { ::1; }; //ipv6 不需要删除这一行

13 directory "/var/named";

14 dump-file "/var/named/data/cache_dump.db";

15 statistics-file "/var/named/data/named_stats.txt";

16 memstatistics-file "/var/named/data/named_mem_stats.txt";

17 secroots-file "/var/named/data/named.secroots";

18 recursing-file "/var/named/data/named.recursing";

19 allow-query { localhost; };

修改

10 options {

11 listen-on port 53 { any; };

12 directory "/var/named";

13 dump-file "/var/named/data/cache_dump.db";

14 statistics-file "/var/named/data/named_stats.txt";

15 memstatistics-file "/var/named/data/named_mem_stats.txt";

16 secroots-file "/var/named/data/named.secroots";

17 recursing-file "/var/named/data/named.recursing";

18 allow-query { any; }; //查询允许的范围可以是具体IP也可以是any

修改区域配置文件

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

zone "abc.my.com" IN { //域名

type master;

file "abc.my.com.zone";

allow-update { none; };

};

zone "200.168.192.in-addr.arpa" IN { //IP

type master;

file "200.168.192.zone";

allow-update { none; };

};

~

 复制一份正向解析配置文件模板 并修改名称

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

[root@admin named]# ls

data dynamic named.ca named.empty named.localhost named.loopback slaves

[root@admin named]# cp named.localhost abc.my.com.zone

[root@admin named]# vim abc.my.com.zone

[root@admin named]# cat abc.my.com.zone

$TTL 1D

@ IN SOA abc.my.com. rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 192.168.200.133

dns IN A 192.168.200.133 //

www IN A 192.168.200.129

[root@admin named]#

反向解析文件

[root@admin named]# cp named.localhost 200.168.192.zone

[root@admin named]# vim 200.168.192.zone

[root@admin named]# cat 200.168.192.zone

$TTL 1D

@ IN SOA abc.my.com. rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS abc.my.com.

133 IN PTR dns.abc.my.com.

129 IN PTR www.abc.my.com.

[root@admin named]#

 nslookup 命令测试

[root@admin named]# nslookup

> 192.168.200.133

;; Got SERVFAIL reply from 192.168.200.133, trying next server

;; connection timed out; no servers could be reached

> 192.168.200.129

;; Got SERVFAIL reply from 192.168.200.133, trying next server

;; connection timed out; no servers could be reached

无法访问

检查权限、配置文件

[root@admin named]# ll

总用量 24

-rw-r-----. 1 root root 206 4月 3 16:36 200.168.192.zone

-rw-r-----. 1 root root 210 4月 3 16:35 abc.my.com.zone

drwxrwx---. 2 named named 23 4月 2 18:58 data

drwxrwx---. 2 named named 60 4月 3 16:37 dynamic

-rw-r-----. 1 root named 2253 2月 27 2023 named.ca

-rw-r-----. 1 root named 152 2月 27 2023 named.empty

-rw-r-----. 1 root named 152 2月 27 2023 named.localhost

-rw-r-----. 1 root named 168 2月 27 2023 named.loopback

drwxrwx---. 2 named named 6 2月 27 2023 slaves

发现权限不对应(权限)

修改对应的配置文件权限

[root@admin named]# chown -R root:named 200.168.192.zone abc.my.com.zone

[root@admin named]# systemctl restart named

named.service named-setup-rndc.service

[root@admin named]# systemctl restart named

[root@admin named]# ll

总用量 24

-rw-r-----. 1 root named 206 4月 3 16:36 200.168.192.zone

-rw-r-----. 1 root named 210 4月 3 16:35 abc.my.com.zone

drwxrwx---. 2 named named 23 4月 2 18:58 data

drwxrwx---. 2 named named 60 4月 3 16:37 dynamic

-rw-r-----. 1 root named 2253 2月 27 2023 named.ca

-rw-r-----. 1 root named 152 2月 27 2023 named.empty

-rw-r-----. 1 root named 152 2月 27 2023 named.localhost

-rw-r-----. 1 root named 168 2月 27 2023 named.loopback

drwxrwx---. 2 named named 6 2月 27 2023 slaves

再次测试、解析成功

[root@admin named]# nslookup

> 192.168.200.133

133.200.168.192.in-addr.arpa name = dns.abc.my.com.

> 192.168.200.129

129.200.168.192.in-addr.arpa name = www.abc.my.com.

> www.abc.my.com

Server: 192.168.200.133

Address: 192.168.200.133#53

Name: www.abc.my.com

Address: 192.168.200.129

 配置第二台机器DNS地址为第一台IP地址

[root@AI ~]# nmcli connection modify ens160 ipv4.dns 192.168.200.133

[root@AI ~]# nmcli connection up ens160

连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)

 测试成功

[root@AI ~]# nslookup

> 192.168.200.133

133.200.168.192.in-addr.arpa name = dns.abc.my.com.

> 192.168.200.129

129.200.168.192.in-addr.arpa name = www.abc.my.com.

>



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。