Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...

news2024/10/7 2:18:28

eb11762284ed512e24baf294924d3d01.jpeg

各位看友,由于微信公众号推送机制改变,现在需要设置为星标才能收到的本公众号推送消息哟。d91a0973bb50c907d929074d90c25295.gif关注回复【学习交流群】加入【安全开发运维】答疑交流群

请朋友们【多多点击文中的广告】,支持作者更新更多文章


目录:

23946bd9f1b305f9fb7566cac1604e2c.png


本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 [master@weiyigeek.top] 中我将及时回复。

各位看友,由于微信公众号推送机制改变,现在需要设置为星标才能收到【本公众号最新技术文章】的推送消息哟。

本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 [master@weiyigeek.top] 中我将及时回复。

0x00 前言简述

描述: 作者所在公司每年在做等保前,都会由专业的安全服务公司做内部系统主机的安全渗透测试漏洞扫描以及风险评估等, 最近安全服务人员发现企业内部DNS/NTP服务器安装的DNS主从服务(使用了bind9软件)以及NTP服务(使用的ntpd服务)版本过低,会有一定的安全风险因数,其次又因为国产化的操作系统替代的需求,遂作为一名运维打工人不得不将原本的使用Ubuntu 20.04部署的DNS服务以及NTP服务,改成使用国产操作系统银河麒麟KylinOS V10 SP3作为服务器系统,并使用最新的云原生CNCF毕业的CoreDNS 软件高性能可扩展软件工具来替换Bind9 软件作为主从DNS服务器,其次使用chrony 软件作为企业内部的时间同步服务器,此处作者为了总结经验,以及可能有其他企业的小伙伴正在向国产化系统的替换有同样需求的简单的做一个参考,遂有了此篇文章,希望大家多多支持。

温馨提示: 本文是作者原创文章,作者熬夜花费了许多精力进行实践和总结,为了防止恶意爬虫和伸手党直接转发,所以作者将此文设为付费文章(请作者喝一瓶可乐🍺 精神精神),希望大家理解并多多支持,作者后续将持续更新更多secdevops方面的文章,此外各位付费的朋友可以加入我们的【微信交流群】(关注后回复此关键即可)一起进行学习,相关问题讨论。

温馨提示: 此处,先来看看本文章,将实现在国产操作系统银河麒麟V10服务器中部署的企业高性能、可扩展的DNS域名解析服务以及时间同步服务器部署效果,请付费的朋友在文章末尾获取DNS/NTP相关配置文件。

「在Windows/Linux中使用nslookup工具验证使用CoreDNS部署的主从(辅助)DNS服务器解析情况」d6557b453c2283d1d9d86367cd961a2d.png

「在Windows/Linux中让内部无法连接外网的机器,使用内部部署时间同步服务器进行时间同步」a7c14f139cfb55c5e5c400b536e4d4a3.png

什么是时间同步服务器?

描述: 时间同步服务器(Time Synchronization Server)是一台计算机或设备,它通过网络提供精确的时间信号,用于同步其他计算机或设备的系统时间。时间同步服务器通常连接到具有高精度时钟的时间源,如原子钟或GPS卫星,以确保提供准确的时间。

它使用各种协议和技术,如NTP(Network Time Protocol)SNTP(Simple Network Time Protocol)和PTP(Precision Time Protocol)来与其他设备进行通信和时间同步。这些协议允许计算机和设备通过网络与时间同步服务器进行通信,并根据服务器提供的时间信号来调整自己的系统时间。

它在许多领域中都非常重要,特别是在网络和通信领域,以及需要精确时间戳和时间同步的应用程序中,一些常见的应用场景即金融交易、科学实验、电信网络、物联网设备、计算机集群等都有其身影,通过使用时间同步服务器,可以确保这些设备和应用程序之间的时间一致性,从而提高数据的准确性和可靠性。

当前企业内部通常是采用 ChronyNTP(Network Time Protocol) 两种不同的时间同步协议和软件来搭建部署时间同步服务器。


Chrony与NTP时间同步协议和软件区别

描述: Chrony 和 NTP(Network Time Protocol)是两种不同的时间同步协议和软件, 以下是它们之间的一些主要区别:

「算法和机制」

  • Chrony 是一种使用NTP或NTP-over-UDP协议来同步时间,通过"Clock Discipline Algorithm"的算法来调整系统时钟,以实现更高的精度和稳定性,是目前较新的时间同步工具。

  • NTP 是一种使用UDP协议的网络时间协议,通过"Marzullo's algorithm"的算法来对时钟进行频繁的微调来实现同步。

「精度和稳定性」

  • Chrony 相对于NTP具有更好的精度和稳定性。Chrony使用了更复杂的算法来计算和校准系统时钟,以提供更准确的时间同步。

  • NTP 使用一种分层的时间同步方法,通过在全球范围内建立时间服务器的层次结构来提供时间同步服务。这种分层结构可以提供较高的稳定性和可靠性。

「网络延迟和带宽消耗」

  • Chrony 相对于NTP具有更低的网络延迟和带宽消耗。Chrony使用了更少的网络流量来同步时间,这对于网络带宽有限的环境非常有益。

  • NTP 可能会产生较多的网络流量和带宽消耗。

「配置和管理」

  • Chrony 配置相对简单,它提供了更易于使用和管理的工具。Chrony可以自动选择最佳的时间服务器,并且提供了更灵活的配置选项。

  • NTP 配置相对较为复杂,需要手动配置和管理时间服务器的层次结构。NTP需要手动指定时间服务器和配置文件。

综上所述, Chrony提供了更高的精度和稳定性,对网络延迟和负载的影响较小,并具有简单灵活的配置选项。NTP在广泛的兼容性和可用性方面更为突出。

所以此处作者使用Chrony工具来搭建部署时间服务器,当然具体选择使用哪种时间服务器取决于您的特定需求和环境。


什么是DNS域名服务器?

描述: DNS(Domain Name System,域名系统)域名服务器是一种用于将人类可读的域名解析为计算机可理解的IP地址的服务器。在互联网中,每个设备都有一个唯一的IP地址,用于标识和定位设备。然而人们更习惯于使用易于记忆的域名来访问网站和应用程序,而不是记住一串数字的IP地址, 例如你想使用浏览器访问作者博客,你只需要记住 www.weiyigeek.top 域名地址,而非IP地址 82.156.18.253

「DNS域名服务器的作用」描述: 将用户输入的域名转换为相应的IP地址,使用户能够通过域名来访问所需的网站或应用程序。当用户在浏览器中输入一个域名时,浏览器会向DNS服务器发送查询请求,以获取相应的IP地址。DNS服务器会根据域名的层次结构进行查询,并返回与该域名对应的IP地址给用户的浏览器,然后浏览器就可以向该IP地址发送请求,获取所需的网页内容。

DNS域名服务器通常采用分层和分布式的架构,以提供高效和可靠的域名解析服务。互联网上有多个根域名服务器,它们负责管理顶级域名(如.com.org.net等)的解析。每个顶级域名又有自己的域名服务器,负责管理该顶级域名下的二级域名(如google.com、yahoo.com等)的解析。这种分层的结构使得域名解析可以高效地进行,并且具有冗余和容错能力,确保了互联网上的域名解析服务的稳定性和可用性。

当前企业内部通常是采用BIND来搭建部署时间同步服务器, 不过除此此外你还可以使用CoreDNSdnsmasq来搭建部署。


BIND、CoreDNS和dnsmasq DNS服务器软件区别

描述: BIND、CoreDNS和dnsmasq都是常见的DNS服务器软件,它们在功能和设计上有一些区别。

  1. BIND:

  • BIND(Berkeley Internet Name Domain)是最常见和广泛使用的DNS服务器软件。

  • 它是一个功能强大且可定制的DNS服务器,支持标准的DNS协议和功能,包括区域传输、反向解析、DNSSEC等。

  • BIND是一个较为复杂的软件,需要更多的配置和管理,适用于大型网络环境和企业网络。

CoreDNS:

  • CoreDNS是一个可扩展的、模块化的DNS服务器软件。

  • 它是为了替代BIND而开发的,旨在提供更现代、高性能和易扩展的DNS解析服务。

  • CoreDNS支持插件机制,可以根据需要加载不同的插件,提供更多功能,如DNSSEC、服务发现、反向代理等。

  • CoreDNS的设计目标是简化配置、易于扩展和高性能。

dnsmasq:

  • dnsmasq是一个轻量级的DNS服务器和DHCP服务器软件。

  • 它主要用于小型网络环境或家庭网络中。

  • dnsmasq的设计目标是简化和易用性,它提供了基本的DNS解析和缓存功能,以及DHCP服务器功能。

  • dnsmasq通常用于家庭路由器、无线接入点和小型办公网络中,因其易配置和占用资源较少而受到广泛使用。

总结:你可能需要按照你企业的转型需求网络规模功能需求技术要求来选择上述三款DNS服务器软件,此处作者选用的是CoreDNS来部署企业的主从DNS服务器。

  • BIND是功能强大的DNS服务器,适用于大型网络环境,提供广泛的功能和定制选项。

  • dnsmasq适用于小型网络环境,提供基本的DNS解析和DHCP服务器功能。

  • CoreDNS是一个可扩展的、模块化的DNS服务器,适用于现代网络环境,可以根据需要加载不同的插件。


知识扩展文章

描述: 在进行部署前,作者建议各位新手朋友简单了解一下关于国产银河麒麟操作系统DNS域名解析服务器以及NTP时间服务器的其他相关基础知识,此处作者已经为大家整理好了,若你大佬请略过此部分,跳到你感兴趣的地方即可。

「国产银河麒麟操作系统相关文章」

  • 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装篇: https://mp.weixin.qq.com/s/yqd1Qtog9wy8L5sgvgcEOQ

  • 企业实践 | 如何在阿里云裸金属服务器上使用UEFI模式实践安装国产银河麒麟V10操作系统入门配置篇:https://mp.weixin.qq.com/s/489ALphpt1nx1pvFcGpD9g


「DNS域名解析服务器相关文章」

  • 基础扫盲 | 运维之DNS域名解析服务基础概念与Bind9安装 : https://mp.weixin.qq.com/s/rEiRkBKEqetYKALAdEq7EQ

  • 基础扫盲 | 运维之DNS服务器Bind9配置解析和基础示例及附带命令: https://mp.weixin.qq.com/s/1IqSHi9Oauhld3rZsKUnvA

  • 企业实践 | 使用bind9搭建企业内部DNS主从服务安全(精选) : https://mp.weixin.qq.com/s/0EOyR4uEVe7T_4HbSxqK9w


「ntp 时间服务器相关文章」

  • 企业实践 | 使用ntp搭建企业内部NTP时间同步服务器: https://mp.weixin.qq.com/s/EML9vQlJvx2iGrznm6JN_g

废话不多,下面开始实践在麒麟操作系统中安装时间服务器DNS域名解析服务器吧!


0x01 环境部署

1.环境说明

描述: 此处实践的银行麒麟国产操作系统都已经进行对应的安全加固,符合等保主机安全规范,若你还未进行KylinOS加固的朋友可以参考作者的此篇付费文章【网安等保|国产Linux操作系统银河麒麟KylinOS-V10SP3常规配置、系统优化与安全加固基线实践文档】https://mp.weixin.qq.com/s/eBF_Q-WkiZHKGdEG1MODNQ,里面包含脚本分类备注解释以及对应的Shell加固脚本

「KylinOS操作系统安全加固视频」

「实践主机及操作系统一览」

# 安装DNS服务器和时间服务器的主机名称及地址
10.20.176.120 dns1 主域名服务器
10.20.176.121 dns2 辅助域名服务器

# KylinOS 发行版本
$ nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)

Kernel:
4.19.90-52.19.v2207.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125

「防火墙配置&禁用默认解析服务」

# 默认安装的KylinOS V10操作系统中 systemd-resolved 服务会自行启用并占用53端口, 从而会导致`CoreDNS`服务无法正常启动, 所以要先禁用掉这个服务。
$ lsof -i:53
  # COMMAND       PID            USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
  # systemd-r 3551539 systemd-resolve   12u  IPv4 1012561705      0t0  UDP 127.0.0.53:domain
  # systemd-r 3551539 systemd-resolve   13u  IPv4 1012561706      0t0  TCP 127.0.0.53:domain (LISTEN)
# 禁用各节点 systemd-resolved 服务
sudo systemctl disable systemd-resolved && sudo systemctl stop systemd-resolved
# 再次验证 53 端口是否被占用
lsof -i:53

# 设置防火墙允许DNS服务53端口网络通行
firewall-cmd --permanent --add-service=dns
# 设置防火墙允许chronyd时间同步服务123端口网络通行
firewall-cmd --permanent --add-port=123/udp --add-port=123/tcp
# 重载主机防火墙配置
firewall-cmd --reload

温馨提示: systemd-resolved 服务主要用于解析域名、IPv4和IPv6地址、DNS记录和服务。


2.Time 时间服务器部署

描述: 此处作者推荐使用 Chrony工具 来部署用于同步计算机系统时间的时间服务器,当然你也可以使用NTP(Network Time Protocol)进行部署, 区别请参考【什么是时间同步服务器?】章节。

chrony官网: https://chrony.tuxfamily.org

1.部署流程

Step 1.在安装KylinOS操作系统时已经默认安装了Chrony工具,若没有此工具请执行如下命令进行安装。

# 查看是否安装 Chrony
$ rpm -qa | grep "chrony"
chrony-help-3.5-3.p01.ky10.noarch
chrony-3.5-3.p01.ky10.x86_64

# 若没有安装请执行如下命令安装
dnf update
dnf -y install chrony
# 或者
yum -y install chrony

Step 2.安装好Chrony工具后,我们快速针对两台主机的chrony配置文件进行配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/963486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++数据结构之 队列

c数据结构 --- 队列 队列的特点队列的相关概念:队列的操作:队列的分类:演示例子简单的例子例子2、循环队列的C实现 队列的特点 队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点&#x…

学习振弦采集模块的开发基本原理

飞讯教学篇:学习振弦采集模块的开发基本原理 振弦采集模块是一种用于测量物体振动、形变、压力等物理量的电子设备。它通过测量物体的振动变化,可以得出物体在不同条件下的动态特性,对于工程设计、科学研究、医学检测等领域都有广泛应用。本…

代码随想录笔记--二叉树篇

1--递归遍历 1-1--前序遍历 前序遍历&#xff1a;根→左→右&#xff1b; #include <iostream> #include <vector>struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), le…

6400万美元:苹果与SpaceX达成合作协议,推进苹果 SOS 卫星服务

根据最新披露的文件&#xff0c;苹果卫星服务提供商Globalstar近期与马斯克旗下的SpaceX达成一项重要合作协议&#xff0c;向SpaceX支付了6400万美元&#xff0c;用于在2023-2025年期间发射卫星&#xff0c;以进一步扩展苹果iPhone系列的SOS卫星服务。 这项卫星服务的主要目的是…

Citespace、vosviewer、R语言的文献计量学 、SCI

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

中国太保首席数据库专家林春:先难后易,核心系统数据库升级复盘

P17 是中国太平洋保险&#xff08;以下简称太保&#xff09;关联关系最为复杂、商业数据库绑定程度最深、业务影响最多的核心系统之一。但就是这样一个对太保业务至关重要的系统却被选为数据库升级的“实验品”。当然&#xff0c;说是“实验品”只是因为这是太保第一次对关键的…

怎样来实现流量削峰方案

削峰从本质上来说就是更多地延缓用户请求&#xff0c;以及层层过滤用户的访问需求&#xff0c;遵从“最后落地到数据库的请求数要尽量少”的原则。 1.消息队列解决削峰 要对流量进行削峰&#xff0c;最容易想到的解决方案就是用消息队列来缓冲瞬时流量&#xff0c;把同步的直…

ArcGIS地块面积分割调整工具插件

地块分割调整工具可以实现将选定的图斑按照面积比例或者指定的面积&#xff0c;分割成多个图斑。 各个图斑的面积用逗号分隔&#xff0c;比例分割设置时&#xff0c;用整数表示。 面积分割时&#xff0c;最后一个图斑的面积可以不写&#xff0c;插件可以自动计算图斑的面积&a…

1448. 统计二叉树中好节点的数目(javascript)1448. Count Good Nodes in Binary Tree

给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,3,null,1,5] 输出&#xff1a;4 解释…

unity面试题(性能优化篇)

CPU 预处理、缓存数据 注释空的unity函数 运算cpu->gpu 减少昂贵计算(开方) 限制帧数 加载(预加载、分帧加载、异步加载、对象池) 慎用可空类型比较 避免频繁计算(分帧、隔帧) 算法优化 变体收集预热 使用clear操作代替容器的new操作 unity spine使用二进制格式…

mac有些软件卸载不了怎么办?正确的Mac软件卸载方法

很多用户Mac用户在整理磁盘空间时发现有很多不常用的软件想要卸载&#xff0c;一顿卸载操作之后发现有些第三方软件是无法完成卸载或成功卸载之后桌面仍保留该软件的图标&#xff0c;在使用Mac过程中遇到有些软件卸载不了怎么办&#xff1f;别着急&#xff0c;小编这就给你支招…

基于指数分布算法优化的BP神经网络(预测应用) - 附代码

基于指数分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于指数分布算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.指数分布优化BP神经网络2.1 BP神经网络参数设置2.2 指数分布算法应用 4.测试结果&#xff1a;5…

2023年淘宝商家成长层级与利好规则

淘宝店铺成长层级越高&#xff0c;对店铺的经营会越好&#xff0c;但有些小伙伴对成长层级和商家利好规则内容的更新变化不太清楚&#xff0c;下面我们就来一起了解一下吧。 一、店铺成长层级 1、入口&#xff1a;店铺层级与权益 2、晋升路径 V1-V2&#xff1a;基础运营&#…

flutter plugins插件【二】【FlutterAssetsGenerator】

2、FlutterAssetsGenerator 介绍地址&#xff1a;https://juejin.cn/post/6898542896274735117 配置assets目录 ​ 插件会从pubspec.yaml文件下读取assets目录&#xff0c;因此要使用本插件&#xff0c;你需要在pubspec.yaml下配置资源目录 flutter:# The following line ens…

A. Increasing and Decreasing

题目&#xff1a;样例&#xff1a; 输入 3 1 4 3 1 3 3 100 200 4输出 1 3 4 -1 100 150 180 200 思路&#xff1a; 思维题&#xff0c;这里我们看一下规律&#xff0c;我们已知a(1)&#xff0c;a(n) &#xff0c;又因为 数列b 应该是递减的&#xff0c;而观察规律可知 &#x…

【云计算•云原生】5.云原生之初识DevOps

文章目录 1.DevOps背景2.DevOps概念3.DevOps工具链 1.DevOps背景 软件开发必须包含两个团队&#xff1a;开发团队和运维团队 开发团队负责开发项目&#xff0c;系统迭代更新运维团队负责项目测试以及部署上线&#xff0c;维持系统稳定运行 一个软件周期中是由这两个团队相互…

【python】—— 函数详解

前言&#xff1a; 本期&#xff0c;我们将要讲解的是有关python中函数的相关知识&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;函数是什么 &#xff08;二&#xff09;语法格式 &#xff08;三&#xff09;函数参数 &#xff08;四&#xff09;函…

Python项目编译与部署(1):模块与包的概念与关系

当实际构建1个 Python 项目时&#xff0c;模块与包是我们面临的基础概念。 1、模块、包的概念 Python中的模块(Module), 就是一个单独的.py文件&#xff0c;其中包含变量定义&#xff0c;函数定义、类定义、以及其它可执行语句。模块是一个独立的代码单元&#xff0c;可以用解…

安装Tensorboard

打开Pycharm打开Terminal 窗口&#xff0c;输入pip install tensorboard pip install tensorboard

【高阶产品策略】如何从0到1搭建策略产品

文章目录 1、策略概述2、如何从0到1搭建推荐策略产品3、策略产品实施案例4、策略产品经理结构化思考方法 1、策略概述 2、如何从0到1搭建推荐策略产品 3、策略产品实施案例 4、策略产品经理结构化思考方法