目录
软件介绍
软件安装
准备工作
设置当前时区
修改chronyd配置文件
设置允许哪个客户端可以访问该服务器
设置本地服务器时间为第10层级
时钟层:
实例:配置时间服务器客户端服务端
Serves
Client
配置环境:
systemctl命令
lsof 命令
语法
选项
lsof输出各列信息的意义
文件描述符列表
文件类型
netstat ss 命令
语法
选项
NTP 是网络时间协议(Network Time Protocol)的简称,通过 udp 123 端口进行网络时钟同步。
软件介绍
Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。
Chrony由两个程序组成,分别是chronyd和chronyc。chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
软件安装
[root@Server ~]# yum install chronyd
准备工作
设置当前时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
[root@localhost ~]# yum install -y chrony
[root@localhost ~]# systemctl enable --now chronyd
[root@server1 ~]# cat /etc/chrony.conf
设置时间服务器的服务端名字
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
# Allow NTP client access from local network.
修改chronyd配置文件
vim /etc/chrony.conf
设置允许哪个客户端可以访问该服务器
#allow 192.168.0.0/16
设置本地服务器时间为第10层级
local stratum 10
时钟层:
NTP使用一个分层、半分层的时间源系统。该层次的每个级别被称为“stratum”,顶层分配为数字0。一个通过阶层n同步的服务器将运行在阶层n + 1。数字表示与参考时钟的距离,用于防止层次结构中的循环依赖性。阶层并不总是指示质量或可靠性;在阶层3的时间源得到比阶层2时间源更高的时间质量也很常见。电信系统对时钟层使用不同的定义。以下提供了阶层0、1、2、3的简要描述。
阶层0
这些是高精度计时设备,例如原子钟(如铯、铷)、GPS时钟或其他无线电时钟。它们生成非常精确的脉冲秒信号,触发所连接计算机上的中断和时间戳。阶层0设备也称为参考(基准)时钟。
阶层1
这些与阶层0设备相连、在几微秒误差内同步系统时钟的计算机。阶层1服务器可能与其他阶层1服务器对等相连,以进行完整性检查和备份。[10]它们也被称为主要(primary)时间服务器。
阶层2
这些计算机通过网络与阶层1服务器同步。提供阶层2的计算机将查询多个阶层1服务器。阶层2计算机也可能与其他阶层2计算机对等相连,为对等组中的所有设备提供更健全稳定的时间。
阶层3
这些计算机与阶层2的服务器同步。它们使用与阶层2相同的算法进行对等和数据采样,并可以自己作为服务器担任阶层4计算机,以此类推。
阶层的上限为15;
阶层16
被用于标识设备未同步。每台计算机上的NTP算法相互构造一个贝尔曼-福特算法最短路径生成树,以最小化所有客户端到阶层1服务器的累积往返延迟。
来自 <NTP - 知乎>
实例:配置时间服务器客户端服务端
Serves
1.查找是否安装软件
chrony rpm -qa | grep chronyd
yum list installed charonyd
2.修改服务配置文件
/etc/chrony.conf
(1) 注释pool 这一行 --是否要考虑加入红帽地址池并同步红帽官方的时间
(2)取消allow这一行的注释 --将允许客户端通过的网段
(3) 取消local 的注释 --设置ntp的层级为10
3.重新运行软件
systemctl restart chronyd
4.关闭防火墙
systemctl stop firewalld (在linux上除了ssh其他协议都是默认拒绝的)
5.关闭selinux
setenforce 0 (相当于360等杀毒软件)
Client
1.更改时间
2.安装时间同步软件
chrony
3.修改服务配置文件
/etc/chony.conf
将pool 指定的服务器定义为自定义服务器
4.重新运行软件
systemctl restart chronyd
5.关闭防火墙
systemctl stop firewalld
6.重新运行软件
systemctl restart chronyd
7.date
chronyc sources --查看源
配置环境:
s-c 网络互通 NAT 桥接 仅主机 (需要相同)
同一时区 :[root@client ~]# timedatectl set-timezone Asia/Shanghai
systemctl命令
1、启动服务 systemctl start 服务名
2、停止服务 systemctl stop 服务名
3、重启服务 systemctl restart 服务名
4、查看服务是否已启动 systemctl is-active 服务名
5、查看服务的状态 systemctl status 服务名
6、启用开机自启动服务 systemctl enable 服务名
7、停用开机自启动服务 systemctl disable 服务名
8、查看服务是否为开机自启动 systemctl is-enabled 服务名
9、只重启正在运行中的服务 systemctl try-restart 服务名
10、显示所有的服务状态---空格翻页 q推出 systemctl list-units --type service --all
11、查看启动成功的服务列表 systemctl list-unit-files|grep enabled
12、查看启动失败的服务列表 systemctl --failed
13、查看所有服务的状态---空格翻页 q推出 systemctl list-unit-files --type service
lsof 命令
查看协议端口状态,22表示ssh服务端口
语法
lsof(选项)
选项
-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程(协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息
lsof输出各列信息的意义
- COMMAND:进程的名称
- PID:进程标识符
- PPID:父进程标识符(需要指定-R参数)
- USER:进程所有者
- PGID:进程所属组
- FD:文件描述符,应用程序通过文件描述符识别该文件。
文件描述符列表
- cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
- txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
- lnn:library references (AIX);
- er:FD information error (see NAME column);
- jld:jail directory (FreeBSD);
- ltx:shared library text (code and data);
- mxx :hex memory-mapped type number xx.
- m86:DOS Merge mapped file;
- mem:memory-mapped file;
- mmap:memory-mapped device;
- pd:parent directory;
- rtd:root directory;
- tr:kernel trace file (OpenBSD);
- v86 VP/ix mapped file;
- 0:表示标准输出
- 1:表示标准输入
- 2:表示标准错误
一般在标准输出、标准错误、标准输入后还跟着文件状态模式:
- u:表示该文件被打开并处于读取/写入模式。
- r:表示该文件被打开并处于只读模式。
- w:表示该文件被打开并处于写入模式。
- 空格:表示该文件的状态模式为unknow,且没有锁定。
- -:表示该文件的状态模式为unknow,且被锁定。
同时在文件状态模式后面,还跟着相关的锁:
- N:for a Solaris NFS lock of unknown type;
- r:for read lock on part of the file;
- R:for a read lock on the entire file;
- w:for a write lock on part of the file;(文件的部分写锁)
- W:for a write lock on the entire file;(整个文件的写锁)
- u:for a read and write lock of any length;
- U:for a lock of unknown type;
- x:for an SCO OpenServer Xenix lock on part of the file;
- X:for an SCO OpenServer Xenix lock on the entire file;
- space:if there is no lock.
文件类型
- DIR:表示目录。
- CHR:表示字符类型。
- BLK:块设备类型。
- UNIX: UNIX 域套接字。
- FIFO:先进先出 (FIFO) 队列。
- IPv4:网际协议 (IP) 套接字。
- DEVICE:指定磁盘的名称
- SIZE:文件的大小
- NODE:索引节点(文件在磁盘上的标识)
- NAME:打开文件的确切名称
- REG:常规文件
netstat ss 命令
natstart -tunlp(网络监听的状态信息)
ss -tunlp(网络监听的状态信息)
语法
netstat [选项]
选项
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
chronyd软件使用的端口是323,此处的是软件本身的监听端口并不是使用此端口来发送信息,而是使用这个端口来接收NTP协议(123端口发过来的请求),NTP协议是网络协议端口123