作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:
Linux基础软件-软件安装
Linux基础软件-yum(一)
Linux基础软件-yum(二)
Linux基础软件-ntp
Linux基础软件-chrony
Linux基础软件-dns(一)
Linux基础软件-dns(二)(本章节)
Linux基础软件-nfs
Linux基础软件-lvm
Linux基础软件-Selinux&库文件&swap
上一小节介绍了什么是dns,以及dns解析流程和dns的配置文件的一些基本介绍,但是这些dns都是使用别人提供公共dns,并不是自己的,只适合公网环境。但是在真正的生产环境,很多机器是不具备公网的能力。并且也会有很多内部域名需要解析,就需要搭建自己的dns服务器。
本小节先讲解涉及到dns的几个命令,然后搭建一个自己私有dns服务器的情况。
基本命令
ping
最简单的使用方式,也是使用最多的方式。
ping qq.com
#直接输入域名,然后返回ip地址,则说明域名解析正常
#他使用的dns是/etc/resolv.conf
nslookup
比ping有更多的功能。
nslookup qq.com
#如果通过添加参数,可以指定dns服务器解析
nslookup -querytype=A qq.com 223.5.5.5
#当然还有很多功能只是使用比较少
dig
比nslookup更新的支持更广泛的命令。
dig qq.com
#在dns有问题的时候,我们用ping是无法探测出来问题的,
#但是使用dig可以获得更多信息,可以方便我们排错
dig@223.5.5.5 qq.com
dig命令和nslookup命令在最小化安装的系统里面都是默认不自带的,需要安装包bind-utils才有这2个命令
DNS服务器搭建
在内部环境,有些会使用一些自定义的域名,用户指向某些内部服务,在各个公有云基本都有内网dns这个产品,道理其实是一样的。然后如果其他域名,他无法解析,他则可以通过递归的方式去请求上游dns服务器,然后返回给用户。这里就涉及2个配置:一个是递归到上游服务器,另外一个提供内部dns解析服务。
1.安装dns软件
dns软件其实也有很多,我们这里以unbound来举例。
yum -y install unbound
2.配置dns转发
vi /etc/unbound/unbound.conf
server:
interface: 0.0.0.0 # 监听所有网卡接口上的请求
access-control: 0.0.0.0/0 allow # 允许所有IP地址访问
forward-zone:
name: "." #代表所有域名
forward-addr: 61.139.2.69 #可以替换自己的dns
#这里的name可以匹配一个类型的域名,比如.com
#通过这样可以控制内网用户对外请求,或者不同的域名指向不同的dns服务器
3.配置私有域名
#名字可以自己自己定义
vi /etc/unbound/local.d/yunwei.conf
# 私有域名
#iprivate-domain: "yumwei.com"
local-zone: "yumwei.com." static
# 私有域名的A记录
local-data: "server1.yunwei.com. IN A 192.168.1.1"
local-data: "server2.yunwei.com. IN A 192.168.1.2"
[root@localhost ~]# cat /etc/unbound/unbound.conf
server:
interface: 0.0.0.0
port: 53
access-control: 0.0.0.0/0 allow
# 私有域名
#iprivate-domain: "yumwei.com"
local-zone: "yumwei.com." static
# 私有域名的A记录
local-data: "server1.yunwei.com. IN A 192.168.1.1"
local-data: "server2.yunwei.com. IN A 192.168.1.2"
# 配置前向区域
forward-zone:
name: "."
forward-addr: 223.5.5.5
#合并到一起的代码,重启dns生效
systemctl restart unbound
总结
1.这里的配置实现了unbound的两大核心功能,内部域名和递归转发。
2.核心功能还有很多,比如缓存,比如用户请求了qq.cm,dns可以把结果缓存到自己内部,如果有人再次来请求他,就直接返回给他,而不用在向上递归查询。
3.实际运维可以经常更新的内部域名放到/etc/unbound/local.d/目录下,运维起来会更轻松。
关注微信公众号《运维小路》获取更多内容。