RHEL網絡服務器

目錄

1.時間同步的重要性

2.配置時間服務器?

(1)指定所使用的上層時間服務器。 ?

?(2)指定允許訪問的客戶端

?(3)把local stratum 前的注釋符#去掉。

?3.配置chrony客戶端

?(1)修改pool那行,指定要從哪臺時間服務器同步時間。

(2)修改makestep那行,格式如下。?

4.開始時間同步?


1.時間同步的重要性

一些服務對時間要求非常嚴格,例如,圖20-1所示的由三臺服務器搭建的ceph集群

這三臺服務器的時間必須保持一致,如果不一致,就會顯示警告信息。那么。如何能讓這三臺服務器的時間保持一致呢?手動調整時間的方式肯定不行,因為手動調整時間最多只能精確到分,很難精確到秒。而且即使現在時間調整一致了,過一段時間之后,時間可能又不一樣了
所以,需要通過設置讓這些服務器的時間能夠自動同步,如圖20-2所示

這里假設我們有一個時間服務器時間為7:00,設置server1和 server2向此時間服務器進行時間同步。假設serverl 當前時間為6;59,它與時間服務器一對比,“我的時間比時間服務器慢了一分鐘”,然后它主板上的晶體芯片就會跳動得快一些,很快就“追”上了時間服務器的時間
假設server2當前時間是7:01,它與時間服務器一對比,“我竟然比時間服務器快了一分鐘”,然后它主板上的晶體芯片就會跳動得慢一些,“等著”時間服務器。

下面就開始使用chrony來配置時間服務器?

2.配置時間服務器?

?實驗拓撲圖如下圖所示。

在安裝系統時,如果已經選擇了圖形化界面,則默認已經把chrony這個軟件安裝上了。
使用vim編輯器打開/etc/chrony.conf,只修改我們能用的幾行

(1)指定所使用的上層時間服務器。 ?

把pool 2.rhel.pool.ntp.org iburst修改為pool 127.127.1.0 iburst ##如下圖所示

pool后面跟的是時間服務器,因為這里把server作為chrony服務器,沒有上一層的服務器,所以上層服務器設置為本地時鐘的IP:127.127.1.0。
這里iburst的意思是,如果chrony服務器出問題,客戶端會發送一系列的包給chrony服務器,對服務器進行檢測。

?(2)指定允許訪問的客戶端

?修改allow所在行,把注釋符#去掉,并把后面的網段改為192.168.103.0/24。(:修改的網段是你自己的網段)

#allow 192.168.0.0 / 16 修改為 allow 192.168.103.0 / 24,如下圖所示

server 配置成時間服務器之后,只允許192.168.26.0/24網段的客戶端進行時間同步。如果要允許所有客戶端都能向此時間服務器進行時間同步,可以寫成allow 0/0或allow all。

?(3)把local stratum 前的注釋符#去掉。

?#local stratum 10修改為local stratum 10,如下圖所示

這行的意思是,即使服務器本身沒有和時間服務器保持時間同步,也可以對外提供時間服務,這行注釋要取消

保存退出,去除空白行和注釋行之后,最后修改完成的代碼如下,加粗字是修改的內容?

[root@RHEL813 ~]# egrep -v "^#|^$" /etc/chrony.conf

pool 127.127.1.0?iburst

driftfile /var/lib/chrony/drift

makestep 1.0 3

rtcsync

allow 192.168.103.0/24

local stratum 10

keyfile /etc/chrony.keys

leapsectz right/UTC

logdir /var/log/chrony

[root@RHEL813 ~]#

然后重啟chronyd這個服務(注意,這里是chronyd而不是chrony),并設置開機自動啟動,命令如下
[root@RHEL813 ~]# systemctl restart chronyd.service 
[root@RHEL813 ~]# systemctl enable chronyd
[root@RHEL813 ~]# 

查看chrony使用的是什么端口號,命令如下

[root@RHEL813 ~]# netstat -nutlp | grep chronyd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           4075/chronyd        
udp        0      0 127.0.0.1:323           0.0.0.0:*                           4075/chronyd        
udp6       0      0 ::1:323                 :::*                                4075/chronyd        
[root@RHEL813 ~]# 

?可以看到,chrony使用的是123323端口號

在防火墻中把這兩個端口開放,命令如下。 ?

[root@RHEL813 ~]# firewall-cmd --add-port=123/udp --permanent 
success
[root@RHEL813 ~]# firewall-cmd --add-port=323/udp --permanent 
success
[root@RHEL813 ~]# firewall-cmd --reload 
success
[root@RHEL813 ~]# 
這里加上 --permanent選項的目的是讓其永久生效,然后通過reload重新加載防火墻規則,讓其也立即生效。

?3.配置chrony客戶端

把server2配置成時間服務器的客戶端,也就是chrony客戶端?

在server2(IP地址為192.168.103.14)上用vim編輯器修改/etc/chrony.conf,修改下面的幾行

?(1)修改pool那行,指定要從哪臺時間服務器同步時間。

由原來的 pool 2. rhel . pool . ntp . org iburst 改為 pool 192.168.103.17? iburst

這里指定時間服務器為192.168.103.17,即向192.168.103.17進行時間同步。?

(2)修改makestep那行,格式如下。?

makestep 閾值 limit

客戶端向服務器同步時間有兩種方式:stepslew?

step:跳躍著更新時間,如時間由1點直接跳到7點。 ?

slew:平滑著移動時間,晶體芯片跳動得快一些,就好比秒針的轉速“快進”了一樣。?

如果客戶端和服務器的時間相差較多,則通過step的方式更新時間;如果客戶端和服務器的時間相差不多,則通過slew的方式更新時間。那么,時間相差多或不多的標準是什么呢?就要看時間差是否超過makestep后面的住值了。
舉一個例子,makestep 10 3的意思是,如果客戶端和服務器的時間相差10秒以上,就認為客戶端和服務器的時間相差較多,則前三次通過step 的方式更新時間。客戶端通過這種方式會更新得很快,有些應用程序因為時間的突然跳動會帶來問題。
如果客戶端和服務器的時間相差10秒以內,就認為二者時間相差不多,則通過slew的方式更新時間。這種方式更新的速度會比較慢,但比較平穩。
把原來的makestep 10 3改成makestep 200 3

如果客戶端和服務器的時間相差200秒以上,就認為二者時間相差較多,則通過step的方式更新時間。

?保存退出并重啟 chronyd服務,命令如下。

[root@RHEL8 ~]# systemctl restart chronyd.service 
[root@RHEL8 ~]# systemctl enable chronyd
[root@RHEL8 ~]# 

4.開始時間同步?

為了更細致地看到兩臺機器的時間差,先配置ssh使得server2可以無密碼登錄到server。先生成密鑰對,命令如下。
[root@RHEL8 ~]# ssh-keygen -N "" -f /root/.ssh/id_rsa
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:sSqHTuVO5MaJ9f0/C25UezAavFLxTSHE1IYL82Z84Z4 root@RHEL8
The key's randomart image is:
+---[RSA 3072]----+
|            ++o..|
|           o.o.+.|
|        .  .=o+o.|
|         o  +*=o.|
|      + S  .o=o+.|
|     X + .. + .E.|
|    = X . .o.  . |
|   o *     o...  |
|    . .    .o.oo |
+----[SHA256]-----+
[root@RHEL8 ~]# 

?配置到server的密鑰登錄,命令如下。

[root@RHEL8 ~]# ssh-copy-id 192.168.103.17
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.103.17 (192.168.103.17)' can't be established.
ECDSA key fingerprint is SHA256:mPeYkYf9kK8DY0zQh3PotyJq1vtAuHrfNvaJHtZQi9M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.103.17's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh '192.168.103.17'"
and check to make sure that only the key(s) you wanted were added.[root@RHEL8 ~]# 

?給server2上通過date命令設置時間,使得server2和server的時間相差200秒,命令如下。

[root@RHEL8 ~]# date -s "2023-11-08 11:12:00" ; hwclock -w
2023年 11月 08日 星期三 11:12:00 CST
[root@RHEL8 ~]# 

?然后同時顯示兩臺機器的時間,命令如下。

[root@RHEL8 ~]# date ; ssh 192.168.103.17 date
2023年 11月 08日 星期三 11:12:29 CST
2023年 12月 07日 星期四 22:15:04 EST
[root@RHEL8 ~]# 

?可以看到,時間相差了約3分鐘,即180秒。

然后重啟server2的chronyd服務,等待幾秒之后再次查看。?

[root@RHEL8 ~]# systemctl restart chronyd.service 
[root@RHEL8 ~]# date ; ssh 192.168.103.17 date
2023年 12月 08日 星期五 11:16:17 CST
2023年 12月 07日 星期四 22:16:17 EST
[root@RHEL8 ~]# 

?可以看到,時間很快就同步了,因為這是通過step的方式同步的。

?再次修改時間,命令如下。

[root@RHEL8 ~]# date -s "2023-11-08 11:19:30" ; hwclock -w 
2023年 11月 08日 星期三 11:19:30 CST
[root@RHEL8 ~]# date ; ssh 192.168.103.17 date
2023年 11月 08日 星期三 11:19:32 CST
2023年 12月 07日 星期四 22:20:28 EST
[root@RHEL8 ~]# 
兩臺機器的時間相差26秒,這個值低于200秒,即在makestep的闕值范圍之內,此時客戶端向服務器進行時間同步時只能通過slew的方式同步。

此時重啟 chronyd服務,也不會保持時間同步,命令如下。?

[root@RHEL8 ~]# systemctl restart chronyd.service 
[root@RHEL8 ~]# date ; ssh 192.168.103.17 date
2023年 11月 08日 星期三 11:21:20 CST
2023年 12月 07日 星期四 22:22:16 EST
[root@RHEL8 ~]# 

?可以看到,并沒有同步,因為slew同步的速度比較慢。

此時如果通過執行chronyc makestep命令手動step同步,則會立即同步時間,命令如
下。
[root@RHEL8 ~]# chronyc makestep 
200 OK
[root@RHEL8 ~]# date ; ssh 192.168.103.17 date
2023年 12月 08日 星期五 11:23:15 CST
2023年 12月 07日 星期四 22:23:15 EST
[root@RHEL8 ~]# 
這樣就可以看到立即同步成功了。通過chronye -n sources -v查看現在的同步狀況,如下圖所示。

至此,chrony時間同步已經配置完成了?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215370.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215370.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215370.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python常見面試知識總結(一):迭代器、拷貝、線程及底層結構

前言: Hello大家好,我是Dream。 今天來總結一下Python和C語言中常見的面試知識,歡迎大家一起前來探討學習~ 【一】Python中迭代器的概念? 可迭代對象是迭代器、生成器和裝飾器的基礎。簡單來說,可以使用for來循環遍歷…

[古劍山2023] pwn

最近這個打stdout的題真多。這個比賽沒打。拿到附件作了一天。 choice 32位,libc-2.23-i386,nbytes初始值為0x14,讀入0x804A04C 0x14字節后會覆蓋到nbytes 1個字節。當再次向v1讀入nbytes字節時會造成溢出。 先寫0x14p8(0xff)覆蓋到nbytes然后溢出寫傳…

初次參加軟考就想報高級,哪個相對容易考?

如果你想第一次參加軟考時就報考高級科目,但是卻不知道該報考高級中的哪個科目好、 ? ?那么今天的這篇文章你一定不要錯過!首先,我們一起來了解一下,軟考高級中的5個科目。 ? ?軟考高級科目 ? 信息系統項目管理師 ? …

記錄一次postgresql臨時表丟失問題

項目相關技術棧 springboot hikari連接池pgbouncerpostgresql數據庫 背景 為了優化一個任務執行的速度,我將任務的sql中部分語句抽出生成臨時表(create temp table tempqw as xxxxxxxxx),再和其他表關聯,提高查詢速…

三翼鳥2023輝煌收官, 定盤2024高質量棋局

最近在不同平臺上接連看到這樣的熱搜話題:用時間膠囊記錄2023的自己、2023年度問答、2023十大網絡流行語公布… 顯然, 2023年進入最后一個月,時間匆匆,這也意味著又到了總結過去和規劃未來的時候。拿到結果、取得成績當然是對202…

算法通關村第十五關 | 白銀 | 海量數據場景下的熱門算法題

1.從 40 個億中產生一個不存在的整數 可以采用位圖存儲數據,申請一個 bit 類型的數組 bitArr ,每個位置只表示 0 或者 1 狀態,可以將占用內存縮小為使用哈希表的 1/32 。 遍歷給定的 40 億個數,遇到數時就將 bitArr 相應位置設置…

短視頻引流獲客系統:引領未來營銷的新潮流

在這個信息爆炸的時代,短視頻已經成為了人們獲取信息的主要渠道之一。而隨著短視頻的火爆,引流獲客系統也逐漸成為了營銷領域的新寵。本文將詳細介紹短視頻引流獲客系統的開發流程以及涉及到的技術,讓我們一起來看看這個引領未來營銷的新潮流…

華清遠見作業第二十四天

使用消息隊列完成兩個進程之間相互通信 代碼 #include<stdio.h> #include<string.h> #include<stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ipc.h> #include <sys/msg.h> #in…

k8s一鍵部署uniswap

1、拉取uniswap源碼 github地址 2、編寫Dockerfile并打鏡像 # Set the base image FROM node:18.10.0# WORKDIR /usr/src/app/ WORKDIR /home/gateway# Copy files COPY ./ /home/gateway/# Dockerfile author / maintainer LABEL maintainer"Michael Feng <mikehummi…

Java最全面試題專題---2、Java集合容器(2)

Map接口 說一下 HashMap 的實現原理&#xff1f; HashMap概述&#xff1a; HashMap是基于哈希表的Map接口的非同步實現。此實現提供所有可選的映射操作&#xff0c;并允許使用null值和null鍵。此類不保證映射的順序&#xff0c;特別是它不保證該順序恒久不變。 HashMap的數據…

C語言-枚舉

常量符號化 用符號而不是具體的數字來表示程序中的數字 枚舉 用枚舉而不是定義獨立的const int變量 枚舉是一種用戶定義的數據類型&#xff0c;他用關鍵詞enum以如下語法來聲明&#xff1a; enum枚舉類型名字{名字0&#xff0c;…&#xff0c;名字n}&#xff1b; 枚舉類型名…

外包干了3年,技術退步太明顯了。。。。。

先說一下自己的情況&#xff0c;本科生生&#xff0c;18年通過校招進入武漢某軟件公司&#xff0c;干了差不多3年的功能測試&#xff0c;今年國慶&#xff0c;感覺自己不能夠在這樣下去了&#xff0c;長時間呆在一個舒適的環境會讓一個人墮落!而我已經在一個企業干了四年的功能…

6_CSS布局之浮動的應用

day06_CSS布局之浮動的應用 本課目標&#xff08;Objective&#xff09; 理解什么是浮動掌握浮動的三種機制掌握浮動的案例應用 1 CSS 布局的三種機制 CSS 提供了 3 種機制來設置盒子的擺放位置&#xff0c;分別是普通流&#xff08;標準流&#xff09;、浮動和定位。 普通流…

HarmonyOS開發:回調實現網絡的攔截

前言 基于http封裝的一個網絡庫&#xff0c;里面有一個知識點&#xff0c;在初始化的時候&#xff0c;可以設置請求頭攔截和請求錯誤后的信息的攔截&#xff0c;具體案例如下&#xff1a; et.getInstance().init({netErrorInterceptor: new MyNetErrorInterceptor(), //設置全…

web網絡安全

web安全 一&#xff0c;xss 跨站腳本攻擊(全稱Cross Site Scripting,為和CSS&#xff08;層疊樣式表&#xff09;區分&#xff0c;簡稱為XSS)是指惡意攻擊者在Web頁面中插入惡意javascript代碼&#xff08;也可能包含html代碼&#xff09;&#xff0c;當用戶瀏覽網頁之時&…

關于北京醫學sci論文翻譯

在醫學領域&#xff0c;翻譯論文是一項非常重要的工作。醫學論文的翻譯需要準確、專業、嚴謹&#xff0c;同時也需要考慮到醫學領域的特殊性和復雜性。那么&#xff0c;如何翻譯醫學論文呢&#xff1f;北京醫學SCI論文翻譯哪家好呢&#xff1f; 首先&#xff0c;需要具備專業的…

多目標跟蹤數據集

目錄 DanceTrack數據集 自己改進的可視化代碼: DanceTrack數據集 DanceTrack 是一個大規模的多對象跟蹤數據集。用于在遮擋、頻繁交叉、同樣服裝和多樣化身體姿態條件下對人進行跟蹤。強調運動分析在多對象跟蹤中的重要性。 GitHub地址:https://github.com/DanceTrack/Dan…

python自動化測試實戰 —— 單元測試框架

軟件測試專欄 感興趣可看&#xff1a;軟件測試專欄 自動化測試學習部分源碼 python自動化測試相關知識&#xff1a; 【如何學習Python自動化測試】—— 自動化測試環境搭建 【如何學習python自動化測試】—— 瀏覽器驅動的安裝 以及 如何更…

swing快速入門(五)

注釋很詳細&#xff0c;直接上代碼 上一篇 本篇新增內容&#xff1a; 1.布局管理器BorderLayout 2.自適應尺寸方法pack() import java.awt.*; public class swing_test_3 {public static void main(String[] args) {Frame framenew Frame("演示BorderLayout");//…

第十六屆山東省職業院校技能大賽高職組“應用軟件系統開發”賽項樣題

第十六屆山東省職業院校技能大賽 高職組“應用軟件系統開發”賽項樣題 目錄 一&#xff0e;競賽須知 二&#xff0e;競賽任務標題二 模塊一&#xff1a;系統需求分析&#xff08;25分&#xff09; 模塊二&#xff1a;軟件系統開發&#xff08;55分&#xff09; 模塊三&am…