当前位置:首页 » 文件管理 » centos缓存dns服务器

centos缓存dns服务器

发布时间: 2025-07-29 06:19:59

‘壹’ CentOS修改DNS的常用方式

在Linux系统中,修改DNS设置是网络配置中的常见操作。对于基于CentOS的服务器,我们可以采用临时和永久两种方式来修改DNS。下面将详细介绍这两种方法。



### 临时修改DNS



临时修改DNS配置适用于短期需求或测试环境。步骤如下:




  1. 首先,通过SSH工具登录到你的CentOS服务器。

  2. 打开`/etc/resolv.conf`文件,使用命令`sudo vim /etc/resolv.conf`。

  3. 在文件中,添加或修改DNS服务器的地址。例如,可以修改为`nameserver 8.8.8.8`作为主DNS,`nameserver 8.8.4.4`作为备用DNS,同时使用`search localhost`定义域名。

  4. 保存并退出编辑器,配置会立即生效。然而,当服务器重启后,修改的配置会失效。



### 永久修改DNS



对于希望DNS设置在重启后仍然生效的情况,推荐采用永久修改的方法。步骤如下:




  1. 使用`sudo`命令以管理员身份执行操作。

  2. 进入`/etc/resolvconf/resolv.conf.d`目录。

  3. 创建或编辑`base`文件,添加DNS服务器地址。例如,`nameserver 8.8.8.8`和`nameserver 8.8.4.4`。

  4. 保存并退出编辑器。永久修改的DNS设置现在已保存,重启后配置仍然有效。



### DNS端口查询



在配置DNS服务器后,确保相关端口已开启,以确保DNS服务正常运行。可以通过以下命令查询端口状态:




  1. 使用`firewall-cmd --query-port=端口号/tcp`命令查询特定端口是否开启。

  2. 使用`firewall-cmd --list-port`命令查看系统中所有已开启的端口。



以上方法适用于基于CentOS的Linux服务器环境,能够帮助你灵活管理DNS设置,以满足不同场景的需求。

‘贰’ centos53搭建DNS多域名解析服务器的教程

一、域名与域名解析
网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP 地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。不过最终还是必须将域名转换为对应的IP 地址才能访问主机。
DNS 服务,又叫域名解析服务,即提供域名与IP 地址的相互转换。域名的正向解析是将主机名转换成IP 地址的过程,域名的反向解析是将IP 地址转换成主机名的过程。通常我们很少需要将IP 地址转换成主机名,即反向解析。反向解析经常被一些后台程序使用,用户看不到。
二、DNS 架构
域的层次结构如同一棵倒立的树,层次结构非常清晰,如图所示。根域位于顶部,紧接着在根域的下面是几个顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以是再划分的子域,直到最后的主机。在Internet 中的域是由InterNIC负责管理的,域名的服务则由DNS 来实现。

三、DNS 解析流程

1、客户机请求解析www.exmaple.com.cn的IP 地址,如果本地hosts文件中没有相关解析,则向本地DNS服务器发出解析请求;
2、如果本地DNS服务器有该域名的解析信息,则直接返回给客户机;如果本地DNS 服务器没有该域名的解析信息,则本地DNS 服务器向根DNS服务器询问www.exmaple.com.cn的IP地址;
3、如果根DNS 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果根DNS 服务器没有该域名的解析信息,则返回管辖.cn解析业务的DNS 服务器的IP 地址;
4、本地DNS 服务器向管辖.cn的DNS 服务器询问www.exmaple.com.cn的IP 地址;
5、如果.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS服务器再将解析信息返回给客户机;如果.cn DNS 服务器没有该域名的解析信息,则管辖.cn解析业务的DNS服务器告知.com.cn的DNS 服务器的IP地址;
6、本地DNS 服务器向管辖.com.cn的DNS服务器询问www.exmaple.com.cn的IP 地址;
7、如果.com.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地
DNS 服务器再将解析信息返回给客户机;如果.com.cn DNS 服务器没有该域名的解析信息,则管辖.com.cn解析业务的DNS 服务器告知.example.com.cn的DNS服务器的IP地址;
8、本地DNS服务器向管辖.example.com.cn的DNS 服务器询问www. example.com.cn IP 地址;
9、管辖.example.com.cn的DNS服务器告知www.exmaple.com.cn的DNS服务器的IP地址;
10、本地DNS服务器解析出www.exmaple.com.cn的IP 地址,并传回给客户机。
四、搭建centos5.3下的DNS多域解析服务器
系统平台:centos5.3 内核版本:2.6.18-128.2.1.el5
DNS 服务器IP :192.168.2.210
Web 服务器A:www.chinaunix.net 192.168.2.181
Mail服务器B:mail.chinaunix.net 192.168.2.182
Web 服务器C:www.chinaunix.org 192.168.2.183
Mail服务器D:mail.chinaunix.org 192.168.2.185
1、安装bind相关软件包[root@server ~]# yum -y install bind* caching-nameserver
2、修改主配置文件
[root@server ~]# cd /var/named/chroot/etc/
[root@server etc]# cp –p named.caching-nameserver.conf named.conf
[root@server etc]# cp –p named.rfc1912.zones named.rfc1912.zones.bak
备注:cp 参数-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
这里大多数配置文件的属主是root,组为named,如果只是cp,启动named 服务时会报
错。
[root@server etc]# vi named.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver 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.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
[root@server etc]# vi named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration
files.
//
zone "." IN {
type hint;
file "named.ca";
}; # 根DNS服务器配置文件;
zone " localdomain" IN {
type master;
file " localdomain.zone";
allow-update { none; };
}; # 模板1;
zone "0.0.127.in-addr.arpa" IN {
type master;
file " named.local";
allow-update { none; };
}; # 模板2;
zone "chinaunix.net" IN {
type master;
file "chinaunix.net.zone";
allow-update { none; };
}; # 模板1复制并修改后的;
zone "chinaunix.org" IN {
type master;
file "chinaunix.org.zone";
allow-update { none; };
}; # 模板1复制并修改后的;
zone "2.168.192.in-addr.arpa" IN {
type master;
file "2.168.192.in-addr.local";
allow-update { none; };
}; # 模板2 复制并修改后的;
备注:蓝色字体是添加、修改过的;
3、Zone配置文件
[root@server etc]# cd ../var/named/
[root@server named]# cp –p localdomain.zone chinaunix.net.zone
[root@server named]# cp –p localdomain.zone chinaunix.org.zone
[root@server named]# cp –p named.local 2.168.192.in-addr.local
[root@server named]# vi chinaunix.net.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.net.
IN MX 10 mail.chinaunix.net.
www IN A 192.168.2.181
mail IN A 192.168.2.182
[root@server named]# vi chinaunix.org.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.org.
IN MX 10 mail.chinaunix.org.
www IN A 192.168.2.183
mail IN A 192.168.2.185
[root@server named]# vi 2.168.192.in-addr.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS chinaunix.net.
IN NS chinaunix.org.
181 IN PTR www.chinaunix.net.
182 IN PTR mail.chinaunix.net.
183 IN PTR www.chinaunix.org.
185 IN PTR mail.chinaunix.org.
4、测试
[root@server ~]# nslookup
Ø www.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.net
Address: 192.168.2.181
Ø www.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.org
Address: 192.168.2.182
Ø mail.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.183
Ø mail.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.185
Ø 192.168.2.181
Server: 192.168.2.210
Address: 192.168.2.210#53
181.2.168.192.in-addr.arpa name = www.chinaunix.net.
Ø 192.168.2.182
Server: 192.168.2.210
Address: 192.168.2.210#53
182.2.168.192.in-addr.arpa name = mail.chinaunix.net.
Ø 192.168.2.183
Server: 192.168.2.210
Address: 192.168.2.210#53
183.2.168.192.in-addr.arpa name = www.chinaunix.org.
Ø 192.168.2.185
Server: 192.168.2.210
Address: 192.168.2.210#53
185.2.168.192.in-addr.arpa name = mail.chinaunix.org.
备注:蓝色为键盘输入
五、结束
资料转自互联网,仅供学习交流.

‘叁’ 如何搭建一个公共DNS服务器

一、服务器环境

必须为centos6.x的 环境 centos7.x不能按照本教程 centos5.x未测试

二、安装并启动DNSMASQ

yum install -y dnsmasqservice dnsmasq start

三、dnsmasq配置

1、Dnsmasq的配置文件路径为:/etc/dnsmasq.conf

# ll -d /etc/dnsmasq.conf -rw-r--r-- 1 root root 21237 Feb 23 00:17 /etc/dnsmasq.conf

2、编辑/etc/dnsmasq.conf

resolv-file=/etc/resolv.dnsmasq.conf //dnsmasq 会从这个文件中寻找上游dns服务器strict-order //去掉前面的#addn-hosts=/etc/dnsmasq.hosts //在这个目里面添加记录listen-address=127.0.0.1,192.168.1.123//监听地址 如果想对所有计算机服务,则为0.0.0.0

3、修改/etc/resolv.conf

echo 'nameserver 127.0.0.1' > /etc/resolv.conf

4、创建resolv.dnsmasq.conf文件并添加上游dns服务器的地址

touch /etc/resolv.dnsmasq.confecho 'nameserver 119.29.29.29' > /etc/resolv.dnsmasq.conf

5、创建dnsmasq.hosts文件

cp /etc/hosts /etc/dnsmasq.hostsecho 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf

提示:resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用电信、联通等公共的DNS。

三、DNSmasq启动

1、设置Dnsmasq开机启动并启动Dnsmasq服务:

chkconfig dnsmasq on/etc/init.d/dnsmasq restart

2、netstat -tunlp|grep 53 查看Dnsmasq是否正常启动:

# netstat -tlunp|grep 53tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2491/dnsmasq tcp 0 0 :::53 :::* LISTEN 2491/dnsmasq udp 0 0 0.0.0.0:53 0.0.0.0:* 2491/dnsmasq udp 0 0 :::53 :::* 2491/dnsmasq

3、dig smallxu.me,第一次是没有缓存,所以时间是400多

4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了2.

为了防止故意进行DNS劫持,这里不贴出

四、DNSMASQ的配置

1、本地DNS使用

这里我们本地DNS可以使用服务器中配置的IP,这样我们本机就使用到自己的DNS,备用DNS可以用一个第三方公用DNS。

2、屏蔽网站/广告

vi /etc/dnsmasq.conf

如果我们需要屏蔽某个网站或者广告,可以修改上面的文件

address=/itbulu.com/127.0.0.1address=/smallxu.me/127.0.0.1

比如我希望无法打开这两个网站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我们打开某个网站被指定到其他的服务器或者网站中,就这样被劫持的。同样的,我们也可以将广告目录屏蔽。

添加后 smallxu.me和itbulu.com将会被解析到127.0.0.1

第五、Dnsmasq配置和使用总结

Dnsmasq实际功能不仅仅局限在上面的搭建我们本地需要的DNS服务器功能,如果真就这么简单的用法,那我们也没有必要用一台服务器配置。使用点第三方公共DNS还是没有问题的,有点广告也无妨。

‘肆’ 在CentOS上搭建Chroot的BindDNS服务器的方法

BIND(Berkeley internet Name Daemon)也叫做NAMED,是现今互联网上使用最为广泛的DNS 服务器程序。这篇文章将要讲述如何在 chroot 监牢中运行 BIND,这样它就无法访问文件系统中除“监牢”以外的其它部分。

例如,在这篇文章中,我会将BIND的运行根目录改为 /var/named/chroot/。当然,对于BIND来说,这个目录就是 /(根目录)。 “jail”(监牢,下同)是一个软件机制,其功能是使得某个程序无法访问规定区域之外的资源,同样也为了增强安全性(LCTT 译注:chroot “监牢”,所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件进行操作,从而保证整个服务器的安全)。Bind Chroot DNS 服务器的默认“监牢”为 /var/named/chroot。

你可以按照下列步骤,在CentOS 7.0 上部署 Bind Chroot DNS 服务器。
1、安装Bind Chroot DNS 服务器

复制代码代码如下:[root@centos7 ~]# yum install bind-chroot bind -y

2、拷贝bind相关文件,准备bind chroot 环境

复制代码代码如下:[root@centos7 ~]# cp -R /usr/share/doc/bind-*/sample/var/named/* /var/named/chroot/var/named/

3、在bind chroot 的目录中创建相关文件

复制代码代码如下:[root@centos7 ~]# touch /var/named/chroot/var/named/data/cache_mp.db
[root@centos7 ~]# touch /var/named/chroot/var/named/data/named_stats.txt
[root@centos7 ~]# touch /var/named/chroot/var/named/data/named_mem_stats.txt
[root@centos7 ~]# touch /var/named/chroot/var/named/data/named.run
[root@centos7 ~]# mkdir /var/named/chroot/var/named/dynamic
[root@centos7 ~]# touch /var/named/chroot/var/named/dynamic/managed-keys.bind

4、 将 Bind 锁定文件设置为可写

复制代码代码如下:[root@centos7 ~]# chmod -R 777 /var/named/chroot/var/named/data
[root@centos7 ~]# chmod -R 777 /var/named/chroot/var/named/dynamic

5、 将 /etc/named.conf 拷贝到 bind chroot目录

复制代码代码如下:[root@centos7 ~]# cp -p /etc/named.conf /var/named/chroot/etc/named.conf

6、 在/etc/named.conf中对 bind 进行配置。

在 named.conf 文件尾添加 example.local 域信息, 创建转发域(Forward Zone)与反向域(Reverse Zone)(LCTT 译注:这里example.local 并非一个真实有效的互联网域名,而是通常用于本地测试的一个域名;如果你需要做权威 DNS 解析,你可以将你拥有的域名如这里所示配置解析。):

复制代码代码如下:[root@centos7 ~]# vi /var/named/chroot/etc/named.conf

-

..
..
zone "example.local" {
type master;
file "example.local.zone";
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
};
..
..

named.conf 完全配置如下:

//
// named.conf
//
// 由Red Hat提供,将 ISC BIND named(8) DNS服务器
// 配置为暂存域名服务器 (用来做本地DNS解析).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };

/*
- 如果你要建立一个 授权域名服务器 服务器, 那么不要开启 recursion(递归) 功能。
- 如果你要建立一个 递归 DNS 服务器, 那么需要开启recursion 功能。
- 如果你的递归DNS服务器有公网IP地址, 你必须开启访问控制功能,
只有那些合法用户才可以发询问. 如果不这么做的话,那么你的服
服务就会受到DNS 放大攻击。实现BCP38将有效抵御这类攻击。
*/
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

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

zone "." IN {
type hint;
file "named.ca";
};

zone "example.local" {
type master;
file "example.local.zone";
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

7、 为 example.local 域名创建转发域与反向域文件
a)创建转发域

复制代码代码如下:[root@centos7 ~]# vi /var/named/chroot/var/named/example.local.zone

添加如下内容并保存:

复制代码代码如下:;
; Addresses and other host information.
;
$TTL 86400
@ IN SOA example.local. hostmaster.example.local. (
2014101901 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum

; Define the nameservers and the mail servers

IN NS ns1.example.local.
IN NS ns2.example.local.
IN A 192.168.0.70
IN MX 10 mx.example.local.

centos7 IN A 192.168.0.70
mx IN A 192.168.0.50
ns1 IN A 192.168.0.70
ns2 IN A 192.168.0.80

b)创建反向域

复制代码代码如下:[root@centos7 ~]# vi /var/named/chroot/var/named/192.168.0.zone

-

;
; Addresses and other host information.
;
$TTL 86400
@ IN SOA example.local. hostmaster.example.local. (
2014101901 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum

0.168.192.in-addr.arpa. IN NS centos7.example.local.

70.0.168.192.in-addr.arpa. IN PTR mx.example.local.
70.0.168.192.in-addr.arpa. IN PTR ns1.example.local.
80.0.168.192.in-addr.arpa. IN PTR ns2.example.local.。

8、开机自启动 bind-chroot 服务

复制代码代码如下:[root@centos7 ~]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
[root@centos7 ~]# systemctl stop named
[root@centos7 ~]# systemctl disable named
[root@centos7 ~]# systemctl start named-chroot
[root@centos7 ~]# systemctl enable named-chroot
ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'

热点内容
php大会 发布:2025-07-29 15:08:00 浏览:693
电信光猫上传 发布:2025-07-29 14:38:02 浏览:207
安卓uk助手下载完在哪里安装 发布:2025-07-29 14:32:03 浏览:247
海量数据如何存储的 发布:2025-07-29 13:49:56 浏览:34
linux安装依赖包 发布:2025-07-29 13:49:46 浏览:294
怎样卖脚本 发布:2025-07-29 13:34:31 浏览:312
安卓视频助手哪个软件好 发布:2025-07-29 13:25:23 浏览:125
家用宽带搭建服务器有用吗 发布:2025-07-29 13:16:12 浏览:806
微爱安卓聊天记录在哪里 发布:2025-07-29 13:16:06 浏览:585
ins特效安卓手机哪里有 发布:2025-07-29 13:10:28 浏览:494