Linux学习笔记14
Linux学习笔记14
- Linux学习笔记14
- DNS服务搭建
- 基本介绍
- 使用bind搭建dns服务
- 增加一个域名zone
- 配置DNS转发
- 配置主从
- 测试主从同步
- 后续课程
- DNS服务搭建
DNS服务搭建
基本介绍
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。
DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器
DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器
使用bind搭建dns服务
yum install -y bind
cp /etc/named.conf /etc/named.conf.bak
> /etc/named.conf
vim /etc/named.conf
加入如下配置:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone
加入如下配置:
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1
vim named.local
加入如下配置:
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost检测配置是否有问题:
named-checkconf
,如果无输出,则代表没问题。检测正解析:
named-checkzone "localhost" /var/named/localhost.zone
,如果输出有ok
字样,则无问题。检测反解析:
named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
,如果输出有ok
字样,则无问题。
rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
启动服务:
service named start
netstat -lnp | grep named
查看一下named进程是否监听了53端口首先测试正向解析:
dig @127.0.0.1 localhost.
接着测试反解析:
dig @127.0.0.1 -x 127.0.0.1
增加一个域名(zone)
vim /etc/named.conf
增加如下代码:
zone "abc.com" IN {
type master;
file "abc.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};编辑zone正向解析文件:
vim /var/named/abc.com.zone
增加如下代码:
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns.abc.com.
IN MX 10 mail.abc.com.
ns IN A 192.168.0.11
www IN A 192.168.137.73
mail IN A 192.168.137.10
bbs IN CNAME www.abc.com.编辑反解析文件:
vim /var/named/192.168.zone
增加如下代码:
$TTL 600
@ IN SOA ns.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns.abc.com.
10 IN PTR ns.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone
重启named服务,
service named restart
测试:
dig @127.0.0.1 www.abc.com
dig @127.0.0.1 -x 192.168.137.11
配置DNS转发
配置的DNS是只能解析定义的zone的,没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim /etc/named.conf
在options{} 里面增加:
forward first;
forwarders { 114.114.114.114; };这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到114.114.114.114这个DNS服务器上去解析。
配置主从
在从服务器上
yum install -y bind
拷贝主上的配置文件到从上,其中有
/etc/named.conf
,/var/named/localhost.zone
,/var/named/named.local
拷贝过来后,修改一下从的
/etc/named.conf
内容参考:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; };
};
zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; };
};从上生成rndc.key:
rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
从上启动named:
service named start
启动成功后会在
/var/named/
下生成一个slaves
目录,这个目录下会有192.168.zone
,abc.com.zone
这两个文件,内容是和主上的一样的在从上测试:
dig @127.0.0.1 www.abc.com
测试主从同步
在主dns上更改文件
/var/named/abc.com.zone
在最后增加一行:
123 IN A 1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务:
service named restart
在主上的
/etc/named.conf
中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };
后续课程
之后的课程没做笔记,可以在这些课件里查看:
Linux学习未做笔记部分
参考《跟阿铭学Linux》
Linux学习笔记14相关推荐
- Linux学习笔记14 ——execl
1,原型 前面我们提到,可以用fork创建一个子进程.但是,这个子进程与原先的父进程共享程序段.也就是说两个进程执行的是同一段代码.这好像并没有太大的用处.正常来说,我们希望的不是创建的新进程可以执行 ...
- Linux学习笔记--导航(CentOS 7)
Linux学习笔记1 Linux学习笔记2 Linux学习笔记3 Linux学习笔记4 Linux学习笔记5 Linux学习笔记6 Linux学习笔记7 Linux学习笔记8 Linux学习笔记9 L ...
- linux给数据库重命名,Linux学习笔记:mv移动或文件重命名
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 语法:mv 源文件 目标文件 视mv命令中 ...
- (零)我为什么要写Linux学习笔记?
我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...
- LINUX学习笔记共五部分
LINUX学习笔记1--LINUX系统命令 1. 界面切换: a) 进入字符界面:按住ctrl+alt+F1: 1. 首先需要进入用户登入,输入用户名和 ...
- Linux学习笔记10
Linux学习笔记10 Linux学习笔记10 正则表达式 源码包约定目录 Shell脚本约定目录 Shell脚本的创建与执行 date命令 同步时间 Shell脚本预设变量 与用户交互 数学计算 S ...
- Linux学习笔记9
Linux学习笔记9 Linux学习笔记9 history命令 管道符的使用 错误重定向错误追加重定向 变量 系统环境变量与个人环境变量的配置文件 Linux Shell中的特殊符号 cut命令 so ...
- Linux学习笔记8
Linux学习笔记8 Linux学习笔记8 DHCP分配IP地址 打印或控制内核环缓冲区 查看某个分区格式化时指定的块大小 获取命令的安装包 文本编辑工具vim 上一条命令的最后一个参数 gzip压缩 ...
- Linux学习笔记4
Linux学习笔记4 Linux学习笔记4 绝对路径与相对路径 查看当前目录 查看家目录 进入家目录 当前目录和上一级目录 创建目录 删除目录 创建一个文件 打印文字 重定向和追加重定向 删除文件 给 ...
最新文章
- 在AWS Lambda上运行脚本语言:PHP、Ruby和Go(外文翻译)
- distinct 只针对一个字段
- python list循环语句的使用方法
- linux使用grep数字个数,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- [Bzoj4196] [NOI2015] 软件包管理器 [树链剖分,线段树]
- 监控系统简介(二):使用 App Metrics 在 ASP.NET Web API 中记录指标
- Shell第二篇:正则表达式和文本处理工具
- mysql有状态无状态_有状态和无状态的对象区别
- 【网络协议】IP协议、ARP协议、RARP协议
- tomcat设置编码问题
- 在实现视频播放器的步骤client(三)风行网络电影列表
- 常大宿舍路由器安装教程
- 【深度学习】U-Net简介
- oracle user_source表
- 《算法导论3rd第十二章》二叉查找树
- Android FFMPEG音视频开发(一)
- ReactJS几款UI框架
- 【ESP 保姆级教程】疯狂传感器篇 —— 案例:UNO/Mega + MQ2烟雾传感器 + MQ3酒精传感器 + MQ7一氧化碳传感器 + OLED
- 外卖联盟高级接口 - 美团联盟接口 美团外卖CPS+CPA推广活动推广API接口
- 程序员副业之如何利用空余时间从博客中赚钱?