centos7 部署dns服务器
===============================================
2017/12/6_第2次修改 ccb_warlock
2017/12/6:补全部署内容
===============================================
有些时候作为内部调试或测试,需要指定某些域名不是指向网上的环境,而是指向我们需要指定的ip(举例,就像我们可能需要www.baidu.com不是指向115.239.210.27,而是指向内网的192.168.1.1)。
作为个人的电脑,可以考虑修改host文件(C:\Windows\System32\drivers\etc),但是一旦类似域名映射的需求多了、使用人数多了之后,搭建一个DNS服务相对来说更加省事,因为大家只需要修改网络连接的首选DNS服务器ip即可。
我最初学习搭建DNS服务器是因为项目的前端跳转根据域名而来,如果不修改域名的映射很多跳转会从测试环境跳转到正式环境,导致一些功能使用出现问题。由于每次修改host文件费时费力,,所以决定搭建DNS服务器来解决测试时页面跳转的这个问题。
由于我们仅仅预要DNS的功能,所以首选还是使用linux来搭建DNS服务更好(因为可以减小公司服务器的硬件开销),我更熟悉centos故还是学习整理centos搭建DNS的方法。
下面记录如何搭建一个能将test.com解析为192.168.5.1的DNS服务器。
一、环境准备
操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1708.iso)
CPU:1核
内存:512M
1.1 更换阿里yum(个人习惯)
1)安装wget
yum install -y wget
2)备份默认的yum
mv /etc/yum.repos.d /etc/yum.repos.d.backup
3)创建新的yum目录
mkdir /etc/yum.repos.d
4)下载阿里yum到该目录下
wget -O /etc/yum.repos.d/CentOS-Base.repo
5)重建缓存
yum clean all
yum makecache
6)升级所有包(改变软件设置和系统设置,系统版本内核都升级,故需要几分钟耐心等待)
yum update -y
1.2 安装vim(个人习惯)
yum install -y vim
二、部署bind
2.1 安装bind
yum -y install bind
2.2 备份named.conf
cp /etc/named.conf /etc/named.conf.backup
2.3 修改named.conf
vim /etc/named.conf
根据下面的内容修改,wq保存。
options {
# 监听在主机的53端口上。any代表监听所有的主机
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
# 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
directory "/var/named";
# 下面三项是服务的相关统计信息
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
# 谁可以对我的DNS服务器提出查询请求。any代表任何人
allow-query { any; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
forwarders {
# 指定上层DNS服务器(网关)
192.168.1.1;
};
/* 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";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2.4 增加zone信息
vim /etc/named.rfc1912.zones
由于本次需要添加test.com域名的解析,故需要添加下面的内容,wq保存。
zone "test.com" IN {
# 定义要解析主域名
type master;
file "test.com.zone";
# 具体相关解析的配置文件保存在 /var/named/test.com.zone 文件中
};
2.5 创建test.com.zone
vim /var/named/test.com.zone
由于本次需要解析test.com、www.test.com、abc.test.com,添加下面的内容,wq保存。
$TTL 1D
@ IN SOA test.com. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum IN NS test.com
IN A 192.168.5.1
www IN A 192.168.5.1
print IN A 192.168.5.1
2.6 修改该文件权限
chown root:named test.com.zone
2.7 重启
systemctl restart named
2.8 设置开机启动
systemctl enable named
2.9 防火墙开放53、953端口
firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --add-port=953/tcp --permanent
firewall-cmd --reload
2.10 关闭selinux
修改SELNUX的值,wq保存。
SELINUX=disabled
重启OS
shutdown -r now
接着将电脑网络适配器的首选DNS配成192.168.1.1,通过cmd来ping test.com、www.test.com、abc.test.com这些域名,可以发现返回的已经是我们配置的192.168.5.1。
参考资料:
1. http://blog.csdn.net/pzlsun/article/details/52497839
2. http://blog.csdn.net/southi/article/details/51674033
centos7 部署dns服务器的更多相关文章
- Linux 自动化部署DNS服务器
Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...
- CentOS7设置DNS服务器
CentOS7设置DNS服务器 在CentOS7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.CentOS7和CentOS6下的设置DNS方法不一 ...
- Centos7 搭建DNS服务器与原理配置详解
在搭建我们自己DNS服务器之前,先必须了解下DNS服务器的作用和原理. DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP ...
- CentOS7搭建DNS服务器
DNS是域名系统(Domain Name System)的缩写,它的作用是将主机名解析成IP(正向解析),从IP地址查询其主机名(反向解析). DNS的工作原理(1)客户机发出查询请求当被询问到有关本 ...
- Centos7 设置DNS 服务器
在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...
- centOS7配置DNS服务器
世上无难事只怕有心人,遇事千万千万不要抵触,消极的情绪是失败之母,一点一滴,踏踏实实是通往幸福的捷径. 历经激动,受挫,抵触和鼓励以及征服,终于配好了让我欢喜让我忧的dns.在这里记录下来,希望能够给 ...
- 如何将centos7作为DNS服务器
简单来说,dns服务器是起到缓存的作用.比如说我们第一次dig www.baidu.com的时候,dns服务器因为没有解析过百度地址,所以它需要向上一级dns服务器进行查询,然后查询结果会缓存在这台d ...
- 云服务器Centos7部署Tomcat服务器
目录 部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 参考文章 部署Tomcat服务器 1.安装JDK1.8 JDK下载地址:https://ww ...
- Centos7部署ntp服务器同步时间以及直接将本地时间同步为北京时间
一.查看配置 查看时区列表: timedatectl list-timezones|grep Asia 查看当前时间: date 查看当前设置: [root@localhost ~]# timedat ...
随机推荐
- JAVA基础-JDBC二(常用的开源工具)
一.连接池 在实际的开发应用中,我们常常会对数据库进行大量的高并发的访问,而最原始的连接和操作方式并不能满足这种大量的访问,程序员为了追求更方便.更快捷.更科学安全的开发.第三方的工具类和Dao层的框 ...
- MySql基础入门-mysql体系结构
mysql体系结构: 由:连接池组件.管理服务和工具组件.sql接口组件.查询分析器组件.优化器组件. 缓冲组件.插件式存储引擎.物理文件组成. mysq ...
- 32位linux(centos)下mongoDB的安装
下载mongoDB wget http://downloads.mongodb.org/linux/mongodb-linux-i686-2.4.9.tgz 如果上面地址不对可以去官网自己下载http ...
- python项目依赖管理分享迁移后重建开发环境(一)virtualenv 和 pip
作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/rebuild-development-environment-with-virtualenv-an ...
- layui使用心得
表单控件样式没生效, 因为没引入form. layui.use('form', function(){ var form = layui.form; }); radio改变事件没生效, 需要手动fil ...
- Solr中Field常用属性
FieldType 实例:<fieldType name="text_ik" class="solr.TextField"></fieldTy ...
- Scala入门系列(十三):类型参数
引言 Scala中类型参数是什么呢?其实就类似于Java中的泛型.定义一种类型参数,比如在集合.类.函数中定义类型参数,然后就可以保证使用到该类型参数的地方就只能是这种类型,从而实现程序更好的健壮性. ...
- 側滑回退的layout(相似IOS側滑回退到上一个activity)
用过apple的同学应该都知道,大多数IOS应用都支持側滑回退,就不具体说明了,直接上图: 作为使用ios的android开发人员来说,我是特别喜欢这个功能的.既然这样,那就在android上也实现这 ...
- 独立安装WAMP
安装apache 获得apache安装软件: 建议去官网下载: www.apache.org 双击执行: 进入欢迎界面 点击"next"进入到协议界面 接收协议点击"ne ...
- ITM事件直接接收并解析
之前在实施一个监控项目时.客户由于买了IBM的小机.当前就赠送了TIVOLI的系统监控软件一套,客户也在他们的生产环境中部署了ITM的监控.由于没有购买IBM的netcool,无法集中管理告警事件,请 ...