Linux学习笔记14

  • Linux学习笔记14

    • DNS服务搭建

      • 基本介绍
      • 使用bind搭建dns服务
      • 增加一个域名zone
      • 配置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相关推荐

  1. Linux学习笔记14 ——execl

    1,原型 前面我们提到,可以用fork创建一个子进程.但是,这个子进程与原先的父进程共享程序段.也就是说两个进程执行的是同一段代码.这好像并没有太大的用处.正常来说,我们希望的不是创建的新进程可以执行 ...

  2. Linux学习笔记--导航(CentOS 7)

    Linux学习笔记1 Linux学习笔记2 Linux学习笔记3 Linux学习笔记4 Linux学习笔记5 Linux学习笔记6 Linux学习笔记7 Linux学习笔记8 Linux学习笔记9 L ...

  3. linux给数据库重命名,Linux学习笔记:mv移动或文件重命名

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 语法:mv 源文件 目标文件 视mv命令中 ...

  4. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  5. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

  6. Linux学习笔记10

    Linux学习笔记10 Linux学习笔记10 正则表达式 源码包约定目录 Shell脚本约定目录 Shell脚本的创建与执行 date命令 同步时间 Shell脚本预设变量 与用户交互 数学计算 S ...

  7. Linux学习笔记9

    Linux学习笔记9 Linux学习笔记9 history命令 管道符的使用 错误重定向错误追加重定向 变量 系统环境变量与个人环境变量的配置文件 Linux Shell中的特殊符号 cut命令 so ...

  8. Linux学习笔记8

    Linux学习笔记8 Linux学习笔记8 DHCP分配IP地址 打印或控制内核环缓冲区 查看某个分区格式化时指定的块大小 获取命令的安装包 文本编辑工具vim 上一条命令的最后一个参数 gzip压缩 ...

  9. Linux学习笔记4

    Linux学习笔记4 Linux学习笔记4 绝对路径与相对路径 查看当前目录 查看家目录 进入家目录 当前目录和上一级目录 创建目录 删除目录 创建一个文件 打印文字 重定向和追加重定向 删除文件 给 ...

最新文章

  1. 在AWS Lambda上运行脚本语言:PHP、Ruby和Go(外文翻译)
  2. distinct 只针对一个字段
  3. python list循环语句的使用方法
  4. linux使用grep数字个数,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  5. [Bzoj4196] [NOI2015] 软件包管理器 [树链剖分,线段树]
  6. 监控系统简介(二):使用 App Metrics 在 ASP.NET Web API 中记录指标
  7. Shell第二篇:正则表达式和文本处理工具
  8. mysql有状态无状态_有状态和无状态的对象区别
  9. 【网络协议】IP协议、ARP协议、RARP协议
  10. tomcat设置编码问题
  11. 在实现视频播放器的步骤client(三)风行网络电影列表
  12. 常大宿舍路由器安装教程
  13. 【深度学习】U-Net简介
  14. oracle user_source表
  15. 《算法导论3rd第十二章》二叉查找树
  16. Android FFMPEG音视频开发(一)
  17. ReactJS几款UI框架
  18. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:UNO/Mega + MQ2烟雾传感器 + MQ3酒精传感器 + MQ7一氧化碳传感器 + OLED
  19. 外卖联盟高级接口 - 美团联盟接口 美团外卖CPS+CPA推广活动推广API接口
  20. 程序员副业之如何利用空余时间从博客中赚钱?

热门文章

  1. C语言,利用const常量解决圆的体积和面积。
  2. jQuery 源码解析(三十一) 动画模块 便捷动画详解
  3. 【大学物理】磁场的高斯定理
  4. HTTPS-思君如满月,日日减清辉
  5. shell中单引号双引号反引号的区别
  6. svg矩形参数_SVG矩形和其他SVG形状
  7. mysql语句中变量 c#_C#基础知识-您的第一个C#程序,类型和变量以及流控制语句...
  8. react转跳_您跳过的这些React基础知识可能会杀死您
  9. ubuntu16.04安装java环境
  10. 交互(python 版)