centos 流量控制 centos远程桌面软件
今天给各位分享centos 流量控制的知识,其中也会对centos远程桌面软件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
centos优点
概述一下,centos与redhat的区别和优缺点?
CentOS是一种基于RedHat企业级操作系统代码(RHEL)构建的操作系统,因此它与RedHat具有许多共同之处。但是,它们之间有一些主要区别:
1.支持:RedHat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。
2.更新:RedHat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。
3.品质保证:RedHat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。
4.应用场景:RedHat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。
5.社区:CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。RedHat则更多的是企业驱动,用户只能使用其已发布的产品。
以下是他们各自的优缺点:
RedHat的优点:
-专业的技术支持和服务
-更长的支持周期
-一流的安全性和稳定性
-适合企业关键任务使用
RedHat缺点:
-需要购买订阅才能获得支持和更新
-软件更新速度可能较慢
-价格相对较高
CentOS的优点:
-免费使用和更新
-非常稳定和可靠
-社区活跃,有更多的社区支持和帮助
-拥有与RHEL相似的功能和性能
CentOS的缺点:
-不提供商业支持
-更新可能比RHEL版本稍慢
-对于一些生产环境来说,不如RedHat稳定
centos最小化安装优点
(1)Linux系统的第一个进程(pid=1)为init:
Linux操作系统的启动首先从BIOS开始,接下来进入bootloader,由bootloader载入内核,进行内核初始化。内核初始化的最后一步就是启动pid为1的init进程。这个进程是系统的第一个进程。它负责产生其他所有用户进程。
(2)init进程是所有进程的祖先,不可以kill(也kill不掉)
init以守护进程方式存在,是所有其他进程的祖先。init进程非常独特,能够完成其他进程无法完成的任务。Init系统能够定义、管理和控制init进程的行为。它负责组织和运行许多独立的或相关的始化工作(因此被称为init系统),从而让计算机系统进入某种用户预订的运行模式。
(3)大多数linux发行版的init系统是和systemV相兼容的,被称为sysvinit
sysvinit就是systemV风格的init系统,顾名思义,它源于SystemV系列UNIX。它提供了比BSD风格init系统更高的灵活性。是已经风行了几十年的UNIXinit系统,一直被各类Linux发行版所采用。
(1)CentOS5
(2)CentOS6
(1)优点
sysVinit运行非常良好,概念简单清晰,它主要依赖于shell脚本。
(2)缺点
按照一定的顺序执行--启动太慢、很容易夯(hang)住,fstab与nfs挂载问题
说明:CentOS6采用了Upstart技术代替sysvinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间,但是CentOS6为了简便管理员的操作,Upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来的sysv的形式提供的,
(1)CentOS6
(2)Ubuntu14
说明:systemd技术的设计目标是克服sysvinit固有的缺点,提高系统的启动速度,和sysvinit兼容,降低迁移成本,
做主要的优点:并行启动
(1)RedHat7/CentOS7
(2)Ubuntu15
方法1(在装系统时修改):
在安装系统的时候配置,修改内核选项:net.ifnames=0biosdevname=0
方法2(装系统时忘记修改,装系统后修改):
(1)编辑网卡
#cd/etc/sysconfig/network-scripts/#mvifcfg-ens160ifcfg-eth0#mvifcfg-ens192ifcfg-eth1#vimifcfg-eth0TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0#网卡名称改为eth0DEVICE=eth0#设备名称改为eth0ONBOOT=yesIPADDR=xxx.xxx.x.xxPREFIX=24GATEWAY=xxx.xxx.x.xDNS1=xxx.xxx.x.xIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_PRIVACY=no注:删掉网卡内的UUID=176582f7-d198-4e4f-aab0-34ab10d17247通用唯一识别码和HWADDR=00:0c:29:a5:3f:39MAC地址这两行。所有网卡都需要修改
(2)编辑grub文件
[root@localhostnetwork-scripts]#cp-a/etc/sysconfig/grub/etc/sysconfig/grub.bak#备份文件[root@localhostnetwork-scripts]#vim/etc/sysconfig/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="crashkernel=autonet.ifnames=0biosdevname=0rhgbquiet"#这行添加net.ifnames=0biosdevname=0GRUB_DISABLE_RECOVERY="true"
(3)生成启动菜单
[root@localhostnetwork-scripts]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-3.10.0-514.el7.x86_64Foundinitrdimage:/boot/initramfs-3.10.0-514.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-7d9a96ac2162427d937e06ede5350e9eFoundinitrdimage:/boot/initramfs-0-rescue-7d9a96ac2162427d937e06ede5350e9e.imgdone
然后重启服务器:reboot,重启服务器后查看网卡信息,
再安装操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{vim、wget、tree...等},下面就安装命令,可以根据需求自行调整。
yum-yinstallwgetnet-toolsscreenlsoftcpdumpncmtropenssl-develvimbash-completionlrzsznmaptelnettreentpdateiptables-services
rpm-ivh
需要开机自启动的脚本或者配置,可以放在/etc/rc.local里,但是发现并没有执行,下面我们看一下原因。
#ll/etc/rc.locallrwxrwxrwx1rootroot13Jan523:31/etc/rc.local-rc.d/rc.local#发现是个软连接文件#ls-l/etc/rc.d/rc.local-rw-r--r--1rootroot473Oct2011:07/etc/rc.d/rc.local#问题在这里,没有执行权限#chmod+x/etc/rc.d/rc.local#添加执行权限#ls-l/etc/rc.d/rc.local-rwxr-xr-x1rootroot473Oct2011:07/etc/rc.d/rc.local注:这样添加在rc.local里的开机自启动配置就可以执行了。
linux系统下都有一个默认的超级管理员root,ssh服务的默认端口是22,圈内都知道,那么接下来我们可以修改一下我们的默认端口和禁止root用户远程登录,初步提高一下服务器的安全
1、首先修改ssh的默认端口#sed-i"s#\#Port22#Port53226#g"/etc/ssh/sshd_config#端口可以改成1-65535之间任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)2、禁止root用户远程登陆a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)#useraddxxx#添加xxx用户#echo"pass"|passwd--stdinxxx#给xxx用户设置密码为passb):修改ssh服务配置文件并撑起服务#sed-i's/#PermitRootLoginyes/PermitRootLoginno/'/etc/ssh/sshd_config#systemctlrestartsshd
此时断开当前连接或者新开一个连接就会发现使用root用户连接不上服务器了,莫慌,使用xxx用户连接然后切换到root用户即可
SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)对于强制访问控制的实现,说白了就是安全机制,当然如果会配置的话建议配置更好,这里就介绍一下如何关闭吧,哈哈哈。
#sed-i.bak's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config#修改配置文件需要重启服务器配置才会生效,如何立即生效那?#setenforce0#关闭SELinux立即生效,重启服务器后配置失效。
防火墙,不解释,内网服务建议关掉,对外开放的服务器需要配置规则,这里先关掉,关于防火墙配置规则等待后续更新。
#systemctlstopfirewalld#临时关闭#systemctldisablefirewalld#永久关闭
装机后主机名默认为localhost,这里个人想更改自己的主机名,在不搭建内网DNS的情况,能通过主机名找到本机的IP地址。
#hostnamectlset-hostnameweb01#设置主机名为web01,这样设置连配置文件里都修改了
#echo"192.168.6.6web01"/etc/hosts#192.168.6.6为本机IP
如果是云服务器,这步优化基本都被作了,如果是物理机需要执行此步
#sed-i.bak's@#UseDNSyes@UseDNSno@g;s@^GSSAPIAuthenticationyes@GSSAPIAuthenticationno@g'/etc/ssh/sshd_config#systemctlrestartsshd
说明:GSSAPIAuthentication参数是用于Kerberos验证的,而对于绝大多数人来说,不可能使用这种验证机制的,所以要注意把他们停掉。然后重启服务会发现远程连接速度有明显提升
设置服务器字符集,国际通用utf-8,根据自身业务来定
#localectlstatus#查看当前字符集SystemLocale:LANG=en_US.UTF-8VCKeymap:usX11Layout:us#localectlset-localeLANG=zh_CN.UTF-8#修改字符集为zh_CN.UTF-8,命令行和配置文件都生效#cat/etc/locale.conf#查看配置文件LANG=zh_CN.UTF-8
CentOS7.2系统默认最大打开文件限制为1024,每建立一个TCP连接既浪费一个限制(这里不细讲,后续会更新详细说明),为了提升服务器性能,所以我们要增加打开文件的最大限制
#ulimit-n#默认大小1024#echo"*softnofile65536"/etc/security/limits.conf#xi修改最大限制为65535#echo"*hardnofile65536"/etc/security/limits.conf
时间同步,这里不多说了,向OpenStack的所有节点的时间不一致会导致创建不了虚拟机,也会有其他的问题,不多说,我们生产上所有服务器时间都是同步的。
#yuninstall-yntpdate#前面已经装过了#ntpdatentp1.aliyun.com#这里同步的是aliyun的时间,公司内部建议自己搭建时间服务器(减少流量、广播等),然后加入crontab即可,内网时间服务器等待后续更新。
TCP断开连接时会有一个等待时间为2msl(60秒)对应的状态为TIME_WAIT,如果业务并发较大的话会有很多的TIME_WAIT状态(详细等待后续更新),如何来解决那?
#cat/proc/sys/net/ipv4/tcp_timestamps#时间戳,默认是开启的#cat/proc/sys/net/ipv4/tcp_tw_reuse#连接复用,tcp_timestamps是开启的状态下是可以开启的,1为开启,默认是关闭的状态。#cat/proc/sys/net/ipv4/tcp_tw_recycle#socket快速回收,net网络状态下不可以开启,负载均衡上不可以打开,读者根据自身情况开启或关闭,默认为关闭状态。
好了,服务器优化就介绍到这里,以上优化不分先后顺序!!
Centos7系统有什么特点?
CentOS7是一款基于RedHatEnterpriseLinux(RHEL)开发的免费开源操作系统。它具有以下特点:
兼容性高:CentOS7兼容大多数硬件,可以运行在多种计算机硬件平台上,包括x86、x64和ARM等处理器体系结构。
稳定性好:CentOS7采用了RHEL的源代码,在稳定性方面有很大优势。
安全性高:CentOS7安装时会自动开启防火墙和SELinux,可以有效保护系统安全。
支持软件包管理:CentOS7采用了YUM包管理器,可以方便地安装、升级和卸载软件包。
网络功能强大:CentOS7提供了丰富的网络功能,包括虚拟网络、Bonding、VLAN等,可以满足各种网络需求。
免费开源:CentOS7是一款免费开源的操作系统,可以免费下载使用。
如何在Ubuntu CentOS和Cisco系统中配置SNMPv3
简单网络管理协议(SNMP)是一种广泛使用的协议,用于收集设备内部正在进行中的信息。比如说,CPU和RAM的使用率,服务器的负载率,网络接口的流量状态,和的设备的很多其他性能都可以用SNMP来查询。
当前,SNMP有3个版本:v1, v2c and v3。SNMP
v1和v2c,可方便地进行配置,这在以前的文章中讨论过。SNMPv3增加了一些额外的功能,包括身份验证和加密方案(例如,MD5,SHA,AES和
DES)。这使得我们在Internet上运行SNMP查询时,SNMPv3的更安全,更可取的。
同SNMP v1或v2c相比,SNMPv3的配置有一点不同。下面详细解释了配置是如何进行的。
在Ubuntu和Debian配置SNMPv3
使用net-snmp-config tool工具进行配置。下面的例子中创建了一个只读权限的SNMPv3账户,用户名为“snmpv3user”密码为“snmpv3pass”。默认身份验证方法是MD5加密,默认DES使用。这些设定也可根据需要改变。
root@server:~# apt-get install snmp snmpd
root@server:~# service snmpd stop
root@server:~# net-snmp-config--create-snmpv3-user-ro-A snmpv3pass snmpv3user
## OUTPUT##
adding the following line to/var/lib/snmp/snmpd.conf:
createUser snmpv3user MD5"snmpv3pass" DES
adding the following line to/usr/share/snmp/snmpd.conf:
rouser snmpv3user
root@server:~# service snmpd start
SNMPv3测试
使用snmpwalk测试SNMP的配置。成功的测试结果应当有大量的输出数据。下面的例子使用上文建立的V3账户演示了snmpwalk的使用。Ubuntu和Debian的本地服务器IP地址192.168.1.1。
### SAMPLE OUTPUT###
iso.3.6.1.2.1.1.1.0= STRING:"Linux server 3.5.0-23-generic#35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"
iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0= Timeticks:(68028) 0:11:20.28
iso.3.6.1.2.1.1.7.0= INTEGER: 72
iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.2.1= OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2= OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3= OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4= OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5= OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6= OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7= OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8= OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1= STRING:"The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.2= STRING:"The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.3= STRING:"The management information definitions for the SNMP User-based Security Model."
iso.3.6.1.2.1.1.9.1.3.4= STRING:"The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5= STRING:"The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.6= STRING:"The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.7= STRING:"The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.8= STRING:"View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.4.1= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.2= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.3= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.4= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.5= Timeticks:(0) 0:00:00.00
### And the walk goes on and on###
删除SNMPv3账户
当net-snmp-config tool运行过程中,该账户的有关信息会存储在var/lib/snmp/snmpd.conf和/usr/share/snmp/snmpd.conf.两个文件之中。删除账户即删除这个文件中的信息即可。
root@server:~# service snmpd stop
root@server:~# vim/var/lib/snmp/snmpd.conf
## there should be a similar encrypted line that contains information on the user##
## this line is removed##
usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""
root@server:~# vim/usr/share/snmp/snmpd.conf
## The following line is removed##
rouser snmpv3user
之后不要忘记重启snmpd
root@server:~# service snmpd start
在CentOS或者RHEL中配置SNMPv3
相比Ubuntu,在 CentOS和 RHEL中配置SNMP v3用户的过程有点不同,但基本是相同的。
首先,使用yum安装必要的软件
[root@server~]# yum install net-snmp-utils net-snmp-devel
安装完成之后,先停止snmpd,再创建具有只读属性的SNMP账户。.
[root@server~]# service snmpd stop
[root@server~]# net-snmp-create-v3-user-ro-A snmpv3pass-a MD5-x DES snmpv3user
## OUTPUT##
adding the following line to/var/lib/net-snmp/snmpd.conf:
createUser snmpv3user MD5"snmpv3pass" DES
adding the following line to/etc/snmp/snmpd.conf:
rouser snmpv3user
[root@server~]# service snmpd start
SNMPv3测试
snmpwalk是测试SNMP配置和输出出色的工具。成功的测试结果应当有大量的输出数据。
[root@server~]# snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.2-v3
### OUTPUT###
SNMPv2-MIB::sysDescr.0= STRING: Linux server.example.tst 2.6.32-71.el6.i686#1 SMP Fri Nov 12 04:17:17 GMT 2010 i686
SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks:(28963) 0:04:49.63
SNMPv2-MIB::sysORLastChange.0= Timeticks:(1) 0:00:00.01
SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6= OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1= STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2= STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3= STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4= STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementation
## and the output continues##
删除SNMPv3账户
SNMPv3账户信息被包含在两个文件之中。删除账户即删除这个文件中的信息即可。
root@server:~# service snmpd stop
root@server:~# vim/var/lib/net-snmp/snmpd.conf
## there should be a similar encrypted line that contains information on the user##
## this line is removed##
usmUser 1 3 0x80001f8880056e06573a1e895100000000
0x736e6d7076337573657200 0x736e6d7076337573657200 NULL
.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513
.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""
root@server:~# vim/etc/snmp/snmpd.conf
## The following line is removed##
rouser snmpv3user
root@server:~# service snmpd start
防火墙调节(可选)
下面的例子中的防火墙规则可以被用于限制被允许进行SNMP查询的源IP地址。两个IP地址(例如,192.168.1.100/101)被置于白名单中。
root@server:~# iptables-A INPUT-s 192.168.1.100/32-p udp–dport 161-j ACCEPT
root@server:~# iptables-A INPUT-s 192.168.1.101/32-p udp–dport 161-j ACCEPT
root@server:~# iptables-A INPUT-p udp–dport 161-j DROP
思科交换机和路由器配置SNMPv3
思科交换机和路由器同样支持SNMPv3。下面的例子将创建一个访问控制列表(ACL)限制允许做SNMP查询的源IP地址。但是,这步被跳过了。
设置访问控制列表(ACL)(可选)
## global config mode##
ip access-list standard SNMP_ACL
permit 192.168.1.100
permit 192.168.1.100
SNMPv3配置
下面的配置创建一个名为v3Group与认证AuthNoPriv安全级别v3的组。前面定义的可选访问列表也支持设定。
## global config mode##
## With ACL##
snmp-server group v3Group v3 auth access SNMP_ACL
## Without ACL##
snmp-server group v3Group v3 auth
用户v3user被创建并添加在v3Group下。 MD5的密码和AES加密密钥也被定义。
snmp-server user v3user v3Group v3 auth md5 snmpv3pass priv aes 128 snmpv3pass
SNMPv3测试
SNMP用户和相关组可以在Cisco设备中查看。
### privileged EXEC mode##
show snmp user
User name: v3user
Engine ID:************************
storage-type: nonvolatile active
Authentication Protocol: MD5
Privacy Protocol: AES128
Group-name: v3Group
任何Linux设备中的snmpwalk的都可以用来验证配置和检查输出。
snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.3-v3
iso.3.6.1.2.1.1.1.0= STRING:"Cisco IOS Software”
Technical Support:
Copyright(c) 1986-2012 by Cisco Systems, Inc.
iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.9.1.1166
iso.3.6.1.2.1.1.7.0= INTEGER: 78
iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00
iso.3.6.1.2.1.2.1.0= INTEGER: 54
iso.3.6.1.2.1.2.2.1.1.1= INTEGER: 1
iso.3.6.1.2.1.2.2.1.1.2= INTEGER: 2
iso.3.6.1.2.1.2.2.1.1.3= INTEGER: 3
## output truncated##
如何在 CentOS 中搭建 NTP 服务器
备 CentOS服务器
现在让我们来开始在 CentOS上设置 NTP服务器。
首先,我们需要保证正确设置了服务器的时区。在 CentOS 7中,我们可以使用 timedatectl命令查看和更改服务器的时区(比如,"Australia/Adelaide",LCTT译注:中国可设置为 Asia/Shanghai)
# timedatectl list-timezones| grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
继续并使用 yum安装需要的软件
# yum install ntp
然后我们会添加全球 NTP服务器用于同步时间。
# vim/etc/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默认情况下,NTP服务器的日志保存在/var/log/messages。如果你希望使用自定义的日志文件,那也可以指定。
logfile/var/log/ntpd.log
如果你选择自定义日志文件,确保更改了它的属主和 SELinux环境。
# chown ntp:ntp/var/log/ntpd.log
# chcon-t ntpd_log_t/var/log/ntpd.log
现在初始化 NTP服务并确保把它添加到了开机启动。
# systemctl restart ntp
# systemctl enable ntp
验证 NTP Server时钟
我们可以使用 ntpq命令来检查本地服务器的时钟如何通过 NTP同步。
控制到 NTP服务器的访问
默认情况下,NTP服务器允许来自所有主机的查询。如果你想过滤进来的 NTP同步连接,你可以在你的防火墙中添加规则过滤流量。
# iptables-A INPUT-s 192.168.1.0/24-p udp--dport 123-j ACCEPT
# iptables-A INPUT-p udp--dport 123-j DROP
该规则允许从 192.168.1.0/24来的 NTP流量(端口 UDP/123),任何其它网络的流量会被丢弃。你可以根据需要更改规则。
配置 NTP客户端
1. Linux
NTP客户端主机需要 ntpupdate软件包来和服务器同步时间。可以轻松地使用 yum或 apt-get安装这个软件包。安装完软件包之后,用服务器的 IP地址运行下面的命令。
# ntpdate<server-IP-address>
基于 RHEL和 Debian的系统命令都相同。
2. Windows
如果你正在使用 Windows,在日期和时间设置(Date and Time settings)下查找网络时间(Internet Time)。
3. Cisco设备
如果你想要同步 Cisco设备的时间,你可以在全局配置模式下使用下面的命令。
# ntp server<server-IP-address>
来自其它厂家的支持 NTP的设备有自己的用于网络时间的参数。如果你想将设备和 NTP服务器同步时间,请查看设备的说明文档。
结论
总而言之,NTP是在你的所有主机上同步时钟的一个协议。我们已经介绍了如何设置 NTP服务器并使支持 NTP的设备和服务器同步时间。