linux 简单dns搭建,搭建一个简易的DNS服务
今天给大家介绍如何搭建一个DNS服务,以下图为例,当一个小区客户端去访问www.jiabing.com时,DNS需要如何去搭建。
搭建前需要先把每台服务器的防火墙和SELINUX关闭。
关闭防火墙:iptables -F
查看SELINUX是否关闭:getenforce没有关闭需要关闭:setenforce 0
除了客户端,别的都需要安装bind包:yum install bind
启动服务:service named start
rpm - -import RPM-GPG-KEY-...导出公钥(新安装的系统需要执行,导出公钥后就可以安装bind包了)
一、先配置web服务器(因为每配置一个服务器都需要去测试一下,容易排错)
在/var/www/html/下创建一个index.html文件
vim index.html内容如下
顺便再把httpd服务启动起来:service httpd start
此时web服务器已经配好
二、配置主DNS服务器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
将53端口绑定到本地地址
linsten-on port 53 { localhost; };
允许所有人通过53端口连接本机
allow-query { any; };
只允许172.17.166.166从本机抓取数据库
allwo-transfer { 172.17.166.166;};
配置/etc/named.rfc1912.zones文件,添加一个域
vim /etc/named.rfc1912.zones内容如下:
在/var/named/下创建一个与/etc/named.rfc1912.zones文件里面配置域名字一样的文件后面加个.zone
vim /var/named/jiabing.com.zone内容如下:
前面是SOA记录,
后面需要配置两个NS记录,对应的两个DNS服务器地址,一个指向自己172.17.177.177,另一个只想从DNS服务器172.17.166.166
最后配置域名地址并设置一个别名,ip地址指向web服务器
此时主DNS已经配置完毕,需要用dig www.jiabing.com @172.17.177.177去测试一下自己。(如果测试不成功的话,需要把DNS指向自己,因为还没有配置根DNS)
三、配置从DNS服务器(当主DNS宕机的时候,从DNS可以工作)
同上需要配置主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
将53端口绑定到本地地址
linsten-on port 53 { localhost; };
允许所有人通过53端口连接本机
allow-query { any; };
不允许任何人截取DNS数据库
allow-transfer { none;};
从服务器配置只需要在/etc/named.rfc1912.zones里面加个条件就行
vim /etc/named.rfc1912.zones内容如下:
指定类型
type slave
指定主DNSip地址
masters { 172.17.177.177;};
文件自动生成路径
file“slaves/jiabing.com.zone”
此时从DNS已经配置成功
rdnc reload同步一下就直接生成/var/named/slaves/jiabing.com.zone文件
同时dig www.jiabing.com @172.17.166.166测试一下看能否访问
四、配置comDNS服务器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
我们也可以把listen-on port 53 { 127.0.0.1; };和allow-query { localhost;};注释掉,那样就所有IP地址都监听53端口。
如果是转发的DNS服务器需要更改dnssec-enable yes和dnssec-validation yes换成dnssec-enable no和dnssec-validation no。
配置/etc/named.rfc1912.zones文件
添加一个com域,类同于上面配置主DNS的magedu域一样
/var/named/下需要配置一个com.zone域文件
vim /var/named/com.zone内容如下:
前面是SOA记录,类同于magedu.zone域。此时需要配置三个NS,一个dns1的IP地址指向自己172.17.254.77,一个dns2的地址指向主DNS服务 器172.17.177.177,另一个dns3的地址指向从DNS服务器172.17.166.166。
此时comDNS已经配置完毕
dig www.jiabing.com @172.17.254.77测试一下是否能访问
五、配置根DNS服务器
配置/etc/named.conf文件
vim /etc/named.conf内容如下:
此时根文件就是自己,所以要配置一个根域,(因为根域直接就在/etc/named.conf中,所以就不用去/etc/named.rfc1912.zones里面更改了)
配置/var/named/下root.zone
vim /var/named/root.zone内容如下:
上面的SOA类同。需要有两个NS记录,一个dns1指向自己172.17.133.133,另一个指向子域com172.17.254.77。
配置/var/named/named.ca文件(因为自己当根,所以只有一个根服务器)
vim /var/named/named.ca内容如下:
并且这个文件需要给comDNS主机DNS从DNS小区DNS,都需要更改/var/named/named.ca和根下的/var/named/named.ca一样。
六、配置小区DNS服务器
只需要编辑/etc/named.conf文件
配置内容同上
七、配置客户端DNS
vim /etc/resolv.conf内容如下:
将DNS指向小区DNS的IP地址
此时客户端就能通过网页访问www.jiabing.com了,到此一个DNS大框架也就配置成功。。
在以上实验中如果哪一步测试失败,失败原因可能是一下几种
1、NXDOMAIN:不存在的域名
查看/var/named/下文件是否写错。
2、REFUSED:拒绝访问
查看网络是否通
3、no servers could be reached:DNS不可到达
查看服务是否开启
4、SERVFAIL:
可能是权限的问题,或者别的问题,需要检查权限
5、检查防火墙和SELINUX
linux 简单dns搭建,搭建一个简易的DNS服务相关推荐
- 【Linux操作系统】--攥写一个简易的shell工具
目录 做一个简易的shell 第一步:打印提示符,在同一行打印出提示符 第二步:获取标准输入,获取命令字符串 第三步:将字符串分割,解析字符串 第四步:替换进程,执行第三方命令 3.5.执行第三方命令 ...
- 快速搭建一个简易的KMS 服务
xu言: 之前,闹的沸沸扬扬的KMS激活工具自身都存在问题的事.让我们对以前的什么小马激活.kms激活.各种激活工具都去打了一个深深的"?",到底哪些能用.哪些不能用.有些还注明的 ...
- 使用一个超简单的类实现一个简易服务器,明白Tomcat的运行机制
代码如下: package bear.网络通讯;import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- Linux系统编程下做一个简易的shell
自主实现一个shell--------minshell shell:命令行解释器-------解释执行用户的输入(完成相对应的功能) 步骤 1. 获取标准输入中的字符串 2. 对字符串进行解析[ls ...
- 搭建一个简易的发布系统
为了解决 博客 写作环境限制的问题,尝试搭建了一个简易的发布系统.Git 仓库只是托管 md 文件,通过 Webhook 通知服务器更新 md 文件,然后执行构建静态文件操作,完成一个发布过程. 需求 ...
- 基于腾讯信鸽设计一个微型推送服务
今日科技快讯 据印度媒体报道,对于旗下短视频应用抖音国际版TikTok在印度遭封杀,母公司字节跳动表现得似乎"非常乐观",并计划未来三年在印度投资10亿美元.在接受采访时,字节跳动 ...
- Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播)
文章目录 Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播) 一.基础环境搭建 二.构建Nginx 下载nginx-rtmp-module 安装Nginx 编译nginx,代理 ...
- linux ftp dns,Ubuntu下FTP与DNS服务器搭建教程PDF
Linux服务器系统是Ubuntu 16.04 LTS,FTP软件选择的当然是vsftpd(very secure FTP daemon), Ubuntu装vsftpd还是很简单,一句命令就行: su ...
- LINUX下dns的搭建(主dns和辅助dns)
首先,看看dns是否安装,这里的包名为bind 这里就说明所有dns需要的包已经安装.如果没有安装,我们直接连接镜像文件,直接界面化安装,也可以用命令来安装(需要注意安装顺序)注:如果已经安装,则下面 ...
最新文章
- leetcode-45 跳跃游戏II
- 复杂个人信息输出程序python_练习题-修改个人信息程序
- 不爱沟通的人可以做产品经理嘛?
- HTML5 Canvas(画布)
- word 目录格式的设置
- 用Python自制一个百度一下,这操作可还行
- 软件著作权申请成功,申请流程攻略
- js数字金额转大写,javaScript数字金额转大写。
- JavaScript数组方法总结
- 区块链 交易和区块数据存在哪儿
- unit怎么发音_unitl是什么意思
- php登陆界面点登陆没有反应,ThinkPHP5实战的登录界面的登陆按钮点击之后没有任何反应怎么解决?...
- 快速扫盲 | 霍尔传感器的工作原理
- jQuery 基础 筛选和遍历 jQuery 对象
- Android小项目--Suzy计算器
- 软件测试基础知识面试题目(25题英文题目)
- 南京市租房网上提取公积金步骤
- 在Unity中使用FFmpeg将视频绿色背景处理为透明背景
- c语言isnan,C# Double.IsNaN()用法及代码示例
- python+pyqt5
热门文章
- 解决:【异常】Caused by: java.lang.IllegalStateException: Zip64 archives are not supported
- FaceShifter:一秒换脸的人脸交换模型
- SSHFD:IBM提出的单阶段人体跌倒检测网络
- 自动驾驶的视觉感知包括哪些内容?
- Hbase原理、基本概念、基本架构
- 超牛EXCEL操作技巧,用的好,会涨工资哦
- BNUOJ34980方(芳)格(哥)取数(好坑)
- 驰骋工作流程引擎案例-水质检测工作流程设计开发实现过程
- php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建
- phpMyAdmin安装图解教程