DNS服务简介:

DNS(Domain Name System–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。是一个应用层的协议DNS使用TCP和UDP端口53。

DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息.

注:DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符.

以上是在公网中的使用

更详细介绍:DNS服务器搭建与配置 | 曹世宏的博客

DNS内网使用

首先,我们纯内网中,是不能过连接外网的环境的。

但是纯内网也会有许多的IP和服务,我们该怎么来区分,总不能记录所有IP,所以我们需要自建内网的DNS,达到内网域名解析的效果。

DNS使用作用

WHAT:DNS(域名系统)说白了,就是把一个域和IP地址做了一下绑定,如你在里机器里面输入 nslookup www.qq.com,出来的Address是一堆IP,IP是不容易记的,所以DNS让IP和域名做一下绑定,这样你输入域名就可以了

WHY:我们要用ingress,在K8S里要做7层调度,而且无论如何都要用域名(如之前的那个百度页面的域名,那个是host的方式),但是问题是我们怎么给K8S里的容器绑host,所以我们必须做一个DNS,然后容器服从我们的DNS解析调度

我们会在10.4.7.11 安装dns主服务,10.4.7.12作为备用dns服务

也可以走一层keepalive虚拟IP。

可以简单理解成:

11机器:反向代理

12机器:反向代理

21机器:主控+运算节点(即服务群都是跑在21和22上)

22机器:主控+运算节点(生产上我们会把主控和运算分开)

200机器:运维主机(放各种文件资源)

这样控节点有两个,运算节点有两个,就是小型的分布式,现在你可能没办法理解这些内容,我们接着做下去,慢慢的,你就理解了

 

初始化

# 查看enforce是否关闭,确保disabled状态,当然可能没有这个命令
~]# getforce
# 查看内核版本,确保在3.8以上版本
~]# uname -a
# 关闭firewalld
~]# systemctl stop firewalld
# 安装epel源及相关工具
~]# yum install epel-release -y
~]# yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils -y

uname:显示系统信息

  • -a/-all:显示全部

yum:提供了查找、安装、删除某一个、一组甚至全部软件包的命令

  • install:安装

  • -y:当安装过程提示选择全部为"yes"

安装步骤

# 在11机器:
~]# yum install bind -y
~]# rpm -qa bind
# out: bind-9.11.4-9.P2.el7.x86_64
# 配置主配置文件,11机器
~]# vi /etc/named.conf
listen-on port 53 { 10.4.7.11; };  # 原本是127.0.0.1
# listen-on-v6 port 53 { ::1; };  # 需要删掉
allow-query     { any; };  # 原本是locall
forwarders      { 10.4.7.254; };  #另外添加的
dnssec-enable no;  # 原本是yes
dnssec-validation no;  # 原本是yes# 检查修改情况,没有报错即可(即没有信息)
~]# named-checkconf

rpm:软件包管理器

  • -qa:查看已安装的所有软件包

rpm和yum安装的区别:前者不检查相依性问题,后者检查(即相关依赖包)

named.conf文件内容解析:

  • listen-on:监听端口,改为监听在内网,这样其它机器也可以用

  • allow-query:哪些客户端能通过自建的DNS查

  • forwarders:上级DNS是什么

# 11机器,经验:主机域一定得跟业务是一点关系都没有,如host.com,而业务用的是od.com,因为业务随时可能变
# 区域配置文件,加在最下面
~]# vi /etc/named.rfc1912.zones
zone "host.com" IN {type  master;file  "host.com.zone";allow-update { 10.4.7.11; };
};zone "od.com" IN {type  master;file  "od.com.zone";allow-update { 10.4.7.11; };
};

# 11机器:
# 注意serial行的时间,代表今天的时间+第一条记录:20200112+01
7-11 ~]# vi /var/named/host.com.zone
$ORIGIN host.com.
$TTL 600    ; 10 minutes
@       IN SOA dns.host.com. dnsadmin.host.com. (2020011201 ; serial10800      ; refresh (3 hours)900        ; retry (15 minutes)604800     ; expire (1 week)86400      ; minimum (1 day))NS   dns.host.com.
$TTL 60 ; 1 minute
dns                A    10.4.7.11
HDSS7-11           A    10.4.7.11
HDSS7-12           A    10.4.7.12
HDSS7-21           A    10.4.7.21
HDSS7-22           A    10.4.7.22
HDSS7-200          A    10.4.7.2007-11 ~]# vi /var/named/od.com.zone
$ORIGIN od.com.
$TTL 600    ; 10 minutes
@          IN SOA  dns.od.com. dnsadmin.od.com. (2020011201 ; serial10800      ; refresh (3 hours)900        ; retry (15 minutes)604800     ; expire (1 week)86400      ; minimum (1 day))NS   dns.od.com.
$TTL 60 ; 1 minute
dns                A    10.4.7.11# 看一下有没有报错
7-11 ~]# named-checkconf
7-11 ~]# systemctl start named
7-11 ~]# netstat -luntp|grep 53

TTL 600:指定IP包被路由器丢弃之前允许通过的最大网段数量

  • 10 minutes:过期时间10分钟

SOA:一个域权威记录的相关信息,后面有5组参数分别设定了该域相关部分

  • dnsadmin.od.com. 一个假的邮箱

  • serial:记录的时间

$ORIGIN:即下列的域名自动补充od.com,如dns,外面看来是dns.od.com

netstat -luntp:显示 tcp,udp 的端口和进程等相关情况

# 11机器,检查主机域是否解析
7-11 ~]# dig -t A hdss7-21.host.com @10.4.7.11 +short
# 配置linux客户端和win客户端都能使用这个服务,修改
7-11 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=10.4.7.11
7-11 ~]# systemctl restart network
7-11 ~]# ping www.baidu.com
7-11 ~]# ping hdss7-21.host.com

dig -t A:指的是找DNS里标记为A的相关记录,而后面会带上相关的域,如上面的hdss7-21.host.com,为什么外面配了HDSS7-21后面还会自动接上.host.com就是因为$ORIGIN,后面则是对应的IP

  • +short:表示只返回IP

# 在所有机器添加search... ,即可使用短域名(我的是自带的)
~]# vi /etc/resolv.conf
~]# ping hdss7-200

# 在非11机器上,全部改成11
~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=10.4.7.11~]# systemctl restart network
# 试下网络是否正常
~]# ping baidu.com
# 其它机器尝试ping7-11机器
7-12 ~]# ping hdss7-11.host.com

让其它机器的DNS全部改成11机器的好处是,全部的机器访问外网就只有通过11端口,更好控制

 # 修改window网络,并ping

后续域名解析

[root@hdss7-11 ~]# cat /var/named/od.com.zone
$ORIGIN od.com.
$TTL 600    ; 10 minutes
@          IN SOA  dns.od.com. dnsadmin.od.com. (2020011523 ; serial  #这个需要每次增加110800      ; refresh (3 hours)900        ; retry (15 minutes)604800     ; expire (1 week)86400      ; minimum (1 day))NS   dns.od.com.
$TTL 60 ; 1 minute
dns                A    10.4.7.11
harbor             A    10.4.7.200
k8s-yaml           A    10.4.7.200
traefik            A    10.4.7.10
dashboard          A    10.4.7.10
zk1                A   10.4.7.11
zk2                A   10.4.7.12
zk3                A   10.4.7.21
jenkins            A   10.4.7.10
gitlab             A    10.4.7.200
dubbo-monitor      A    10.4.7.10
demo               A    10.4.7.10
config             A    10.4.7.10
mysql              A    10.4.7.11
portal             A    10.4.7.10
zk-test            A    10.4.7.11
zk-prod            A    10.4.7.12
config-test        A    10.4.7.10
config-prod        A    10.4.7.10
demo-test          A    10.4.7.10
demo-prod          A    10.4.7.10
blackbox           A    10.4.7.10
prometheus         A    10.4.7.10
grafana            A    10.4.7.10
km                 A    10.4.7.10
kibana             A    10.4.7.10

内网DNS重要使用作用相关推荐

  1. 爱奇艺混合云内网DNS实践

    爱奇艺早期业务多数以私有云方式部署,随时间推移,私有云模式在成本.弹性及区域覆盖等方面开始显现不足,而公有云在近年的发展中成熟度不断提高,逐步满足爱奇艺业务需求,爱奇艺开始有计划的使用公有云资源,逐渐 ...

  2. ubuntu 局域网dns服务器_如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务

    DNS 1. 简介 本文使用 BIND9,用尽量少的步骤,搭建出一个可用的内网 DNS 服务.另外要说明的一点是,本文不仅适用于 Ubuntu 16.04,也使用其后的 Ubuntu 系统(截止到目前 ...

  3. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  4. 搭建内网DNS服务器教程

    内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等 而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器,也是Kube ...

  5. 内网DNS报错:** server can‘t find ns1.aaa.com: SERVFAIL

    内网DNS解析错误 1. 起因 DNS主域控在境外,想将内网DNS解析由本地DNS解析.网络环境为内网,无法访问INTERNET.搭建完毕后发现无法解析需要forward那些zone. bind版本: ...

  6. 网络安全-内网DNS劫持-ettercap

    网络安全-内网DNS劫持-ettercap 前言 一,我也是初学者记录的笔记 二,可能有错误的地方,请谨慎 三,欢迎各路大神指教 四,任何文章仅作为学习使用 五,学习网络安全知识请勿适用于违法行为 学 ...

  7. 配置内网DNS实现内部域名解析

    服务器 实战目的: ü 配置内网的DNS服务器实现内网服务器的域名解析. ü 配置内网的DNS服务器减少到Internet的域名解析流量. ü 配置内网的DNS服务器实现Internet上服务器的域名 ...

  8. centos搭建内网DNS配合nginx反向代理

    需求:在内网已部署一个苹果CMS,但每次访问都要通过IP很不方便,需要转变为用域名访问 方法一: 给每个需要访问该网站的人添加一条hosts记录:如果只是几个人这方法的确很快,但是如果上百人甚至上千人 ...

  9. DNS服务——搭建企业内网DNS服务器的作用

    前言 DNS服务--服务端 和 客户端 配置 介绍了如何在DNS安装DNS服务,更改一下配置文件就可以依据根提示解析全球域名.既然使用互联网上的DNS服务器就可以解析全球域名,为何还要自掏腰包搭建DN ...

  10. DNS:快速搭建公司内网DNS解析服务器

    背景 是这样的,公司办公室有小机房,研发测试开发环境在这,但是CTO吧,觉得测试环境通过ip访问太复杂,难记,通过黄页打开觉得太low,虽然办公室出口也有公网ip,直接可以解析进来,但是又觉得公网访问 ...

最新文章

  1. cxgrid实现分组统计和添加Footer
  2. Bash shell脚本练习(一)
  3. 需求分析——使用类图建模
  4. 微信聊天可以带话题了 网友:朋友分享安利更方便了
  5. “摔杯一怒为俞渝” 当当创始人李国庆:蓄谋已久的阴谋 不吐不快
  6. python实验三答案_20192116 实验三《Python程序设计》实验报告
  7. word加水印铺满java,Word 2010文档中让水印铺满整个页面的设置方法
  8. 如何打造高可伸缩的移动电商架构?
  9. Java基本类型与类型转换咋就这么烦?
  10. faster rcnn源码阅读笔记2
  11. 数据采集与数据挖掘是什么?有什么区别?
  12. 32G内存服务器如何设置虚拟内存,大内存服务器设置虚拟内存
  13. 架构师害怕程序员知道的十项技能
  14. Redis——修改redis配置文件,并使配置生效
  15. 闹中取静:寻觅电商蓝海
  16. CVPR2019资源汇总
  17. Java OCR 图像智能字符识别技术,可识别中文
  18. WPS文档究竟有多好,不服一起跑个分?
  19. Vue2.0 饿了么报错: Unexpected side effect in lis tShow computed property
  20. mysql商城热销榜怎么实现_Redis实现商品热卖榜

热门文章

  1. android 仿旅游日历控件_仿携程日历控件
  2. handler机制详解
  3. 专业PLC数据采集软件PLC-Recorder通过ADS通讯进行倍福TwinCAT2和TwubCAT3数据采集的介绍
  4. linux自动挂载ipsan,RedhatLinux挂载IPSAN(iScsi协议)
  5. php微信聊天机器人_使用图灵机器人api搭建微信聊天机器人php实现
  6. matlab模拟厄米高斯光束,拉盖尔高斯光束_厄米高斯光束MATLAB仿真.pdf
  7. TortoiseSvn和Subclipse对应关系
  8. c语言考试中操作题文件,计算机二级考试C语言操作题题库(21页)-原创力文档...
  9. ROS配置ipv6方法
  10. LayUI树形表格treetable使用详解