CentOS停服遭替代,这些操作差异,你了解了吗?

news2024/12/28 3:48:09

背景

随着 CentOS停服,各个行业的运维都在寻找各自的替代方案,考虑的出发点有:

  • 新操作系统是否兼容CentOS,避免太大的操作差异;

  • 新操作系统是否为信创,其具体收费情况如何;

  • 新操作系统是否支持基础工具、中间件、数据库等整套开源方案;

除了以上几点,现在的CentOS7.9 由于不再维护,很多组件新特性已经不再支持,如cgroupsv2、rootless container,因此我们要提前去适应新操作系统,为接下来的操作系统替换做好储备。

在此,我将Ubuntu22.04 、Anolis8.6 和 CenOS7.9 差异较大的配置习惯进行整理总结。

Ubuntu22.04

DNS设置

https://learnubuntu.com/change-dns-server/

1.查看当前DNS配置

DNS 全局配合和网卡局部配置 systemd 239中 systemd-resolve 已被重命名为 resolvectl

$ resolvectl statusGlobal(全局配置) Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupportedresolv.conf mode: stub
Link 2 (enp1s0)(某网卡局部配置) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupportedCurrent DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 8.4.4.8

2.临时设置DNS​​​​​​​

# vim /etc/resolv.confnameserver 1.1.1.2nameserver 1.0.0.2

3.永久设置DNS

1、最简单的方法

使用resolvconf命令设置,通过此命令永久设置dns

# 1.安装resolvconf# apt install resolvconf
# 2. 修改head文件(此文件由resolvconf生成)# vim /etc/resolvconf/resolv.conf.d/headnameserver 1.1.1.2nameserver 1.0.0.2
# 4.配置shengxiao # resolvconf -u
# 3.开机启动服务systemctl enable --now resolvconf.service

注意:

  • 修改完成后,必须通过 resolvconf -u 生效,此时会在 /etc/resolv.conf 中添加 dns 配置并生效。

  • 生效后,通过 resolvectl status 查询不到此配置生效情况,但是通过 netplan apply 生效可在全局配置中找到。

最终以 /etc/resolv.conf 中的 dns 配置生效为准。

2、非简单方法

修改 /etc/netplan/ 目录下的 yml 文件​​​​​​​

# 1.修改相关配置文件# vim /etc/netplan/xxx.ymlnetwork: ethernets: enp1s0: dhcp4: true nameservers: addresses: [8.8.8.8, 8.4.4.8] version: 2
# 2.配置生效# netplay apply

注意:由于此配置是针对 enp1s0 网卡,因此 dns 只针对网卡局部生效。另外通过 netplay apply 生效后,dns 配置不会加载到 /etc/resolv.conf中。

3、配置生效总结

netplay apply应用后,resolvconf 和 netplan 的配置通过 resolvectl status 查到,但是只有 resolvconf 的配置会写入 /etc/resolv.conf

$ resolvectl statusGlobal(全局配置) Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupportedresolv.conf mode: foreignCurrent DNS Server: 1.1.1.2 DNS Server: 1.0.0.2
Link 2 (enp1s0)(某网卡局部配置) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupportedCurrent DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 8.4.4.8
$ cat /etc/resolv.confnameserver 1.1.1.2nameserver 1.0.0.2

时间同步

Ubuntu22.04 :

  • timedatectl 替代了老旧的 ntpdate。默认情况下,timedatectl 在系统启动的时候会立刻同步时间,并在稍后网络连接激活后通过 socket 再次检查一次。

  • timesyncd 替代了 ntpd 的客户端的部分。默认情况下 timesyncd 会定期检测并同步时间。它还会在本地存储更新的时间,以便在系统重启时做时间单步调整。

timesyncd  和 ntpd 区别:

  • ntpd是步进式平滑的逐渐调整时间

  • timesyncd是断点式更新时间,也就是时间不同会立即更新

注意:断点式更新会对某些服务产生影响,所以在生产环境要慎用!​​​​​​​

# 1. 配置时间同步# vi /etc/systemd/timesyncd.conf[Time]# 一个空格分隔的NTP服务器列表# NTP= # 一个空格分隔的NTP服务器列表,用作备用NTP服务器# FallbackNTP=ntp.ubuntu.com# 最大可接受的"root distance"秒数(最大误差),默认值为 5 秒# RootDistanceMaxSec=5# NTP消息的 最小/最大轮询间隔秒数# PollIntervalMinSec=32# PollIntervalMaxSec=2048
# 2.查看时间同步# timedatectl

安全基线

1、设置过期时间​​​​​​​

# vim /etc/login.defsPASS_MAX_DAYS 90PASS_MIN_DAYS 0PASS_WARN_AGE 10

密码长度已不在此处,而是在相关pam中进一步设置。

2、设置密码复杂度、长度、过期时间、密码尝试次数

通过 pwquality 控制,Ubuntu22.04默认没有此模块,需要提前安装。​​​​​​​

# 安装libpam-pwqualityapt install libpam-pwquality
# 设置密码复杂度vim /etc/security/pwquality.confminlen = 8dcredit = -1lcredit = -1ocredit = -1ucredit = -1
# 设置密码尝试3次vim /etc/pam.d/common-passwordpassword requisite pam_pwquality.so try_first_pass retry=3
# 禁止重复使用旧密码vim /etc/pam.d/common-passwordpassword [success=1 default=ignore] pam_unix.so obsecure use_authtok try_first_passs yescrypt remember=5

3、防暴力破解

Ubuntu22.04中,pam_tally2 已被移除,可以使用 pam_faillock 代替。​​​​​​​

# faillock 包含在libpam-modules中,无需安装
# faillock参数配置# grep -v '#' /etc/security/faillock.confdir = /var/run/faillockauditsilentdeny = 3fail_interval = 900unlock_time = 120

关于 faillock 的配置,涉及以下两个 pam 文件

  • /etc/pam.d/common-auth

  • /etc/pam.d/common-account​​​​​​​

# 用户账户锁定时连续身份验证失败必须达到的间隔长度默认为 900 秒# 用户账户锁定时间默认为 600 秒, root用户不受管控
# vim /etc/pam.d/common-authauth required pam_faillock.so preauth audit silent deny=5 unlock_time=900auth [success=1 default=ignore] pam_unix.so nullokauth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=900auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=900auth requisite pam_deny.soauth required pam_permit.soauth optional pam_cap.so
# vim /etc/pam.d/common-accountaccount [success=1 new_authtok_reqd=done default=ignore] pam_unix.soaccount requisite pam_deny.soaccount required pam_permit.soaccount required pam_faillock.so

Selinux

Ubuntu22.04 默认没有安装 Selinux,进一步操作:​​​​​​​

# 1.安装selinuxapt updateapt install policycoreutils selinux-utils selinux-basics
# 2.启动selinuxselinux-activate
# 3.enforce selinux,需重启生效selinux-config-enforcing
# 4.查看selinux 状态setstatusSELinux status: disabled
# 5.关闭selinux,需重启生效vim /etc/selinux/configSELINUX=enforcingSELINUX=disabled
# 6.临时设置selinuxsetenforce 0setenforce 1

防火墙

Ubuntu22.04 默认使用 ufw 管理防火墙,默认处于禁用状态。​​​​​​​

# 1.安装ufwapt install ufw
# 2.防火墙状态ufw status verbose

内核

在做内核参数优化时,提示报错:

sysctl: cannot stat /proc/sys/net/ipv4/tcp_tw_recycle: No such file or directory。

Ubuntu22.04 使用 5.15.0-60-generic,经过进一步了解到从 4.10 内核开始,官方修改了时间戳的生成机制,在此我们参考小米技术的总结的建议:

  • tcp_tw_recycle 选项在4.10内核之前还只是不适用于NAT/LB的情况(其他情况下,我们也非常不推荐开启该选项),但4.10内核后彻底没有了用武之地,并且在4.12内核中被移除.

  • tcp_tw_reuse 选项仍然可用。

    在服务器上面,启用该选项对于连入的TCP连接来说不起作用,但是对于客户端(比如服务器上面某个服务以客户端形式运行,比如nginx反向代理)等是一个可以考虑的方案。

  • 修改 TCP_TIMEWAIT_LEN 是非常不建议的行为。

Anolis8.6

由于Anolis8.6 虽兼容Centos7.9,但在时间同步方面有点差异。

时间同步

Anolis8.6默认不再支持ntp软件包,时间同步将由chrony来实现。​​​​​​​

# 通过配置文件实现时间同步vim /etc/chrony.confserver 192.168.20.17 iburst# 重启服务systemctl restart chronyd.service
# 检查chrony是否同步,其中"Update interval"参数, 说明最后两次更新的时间间隔chronyc tracking
# 显示所有 NTP 源服务器的信息chronyc sources -v
# 查看 NTP 服务器的在线和离线状态chronyc activity
# 手动添加一台新的 NTP 服务器chronyc add server XXXX
# 强制同步系统时间chronyc -a makestep

总结

Ubuntu22.04 和 Anolis8.6 只是众多替代方案中的两种,大家有兴趣的话还可以考虑其他方案:

  • Oracle  Linux

  • OpenEuler

  • 统信UOS

  • 中标麒麟

  • 银河麒麟

  • Rocky Linux

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

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

相关文章

亚马逊电子产品日本站PSE认证,TELEC认证如何办理?

日本市场准入认证——PSE认证,TELEC认证 日本作为第三大经济体国家,是中国商品对外出口的最多的国家之一,无论是在日本亚马逊销售还是在日本当地销售,都需要符合日本市场准入许可。需要注意的是日本的电气安全标准都是自主特色的…

2023最新站长必备在线工具箱系统源码优化修复版

2023最新站长必备在线工具箱系统源码 含上百款工具 带后台版本 自适应模板 优化修复版 搭建看了一下,系统一切正常可用,就是后台登录方式使用的是QQ扫码登录的,建议有能力的可以改一改 此工具箱系统源码还是比较成熟的,虽然没有那么花里胡哨,但贵在简洁大…

软件项目管理【第一章:软件项目管理概述/项目启动】

目录 一、软件项目管理概述 1.项目 2.项目管理 3.项目管理框架 3.整个软件项目管理概述 二、项目启动 1.项目类型 2.初始化项目分析 3.生存期模型(常用) 4.项目立项 一、软件项目管理概述 1.项目 项目的定义: 是为了创造一个唯一的产品或提供一个唯一的…

N9030B是德科技信号分析仪

181/2461/8938它能够实现对复杂信号的实时捕获、分析和处理。Keysight N9030B采用了最先进的技术和设计,为工程师和科学家们提供了一系列强大的功能,帮助他们更好地进行信号分析,以满足不断变化的应用需求。 Keysight N9030B采用了全新的硬件…

TensorFlow入门(十二、分布式训练)

1、按照并行方式来分 ①模型并行 假设我们有n张GPU,不同的GPU被输入相同的数据,运行同一个模型的不同部分。 在实际训练过程中,如果遇到模型非常庞大,一张GPU不够存储的情况,可以使用模型并行的分布式训练,把模型的不同部分交给不同的GPU负责。这种方式存在一定的弊端:①这种方…

COM组件IDispatch操作

IDispatch 组件接口,继承IUnkown,实现了反射机制,可以通过invoke调用dll函数 一般执行过程需要GetIDsOfNames、InvokeHelper函数执行,queryinterface查询获取对象 检查GetIDsOfNames返回的dispid是否正确 COleDispatchDriver 单…

Windows搭建FTP服务器

以win10为例: 安装FTP服务器支持和IIS管理平台。 设置->应用->程序与功能->启用或关闭windows功能-> Internet Infomation Services->勾选【FTP服务器】和Web管理工具的【IIS管理控制台】-> 点击确定等待安装完成。 打开IIS管理器 此电脑-右键…

微信小程序使用CryptoJS加密PassWord(MD5)

微信小程序使用CryptoJS加密PassWord(MD5) 背景及环境: 微信小程序登录页面,需要加密登录密码发送给后端,使用 MD5 来加密密码 开发工具:微信开发者工具 npm安装CryptoJS 查看有哪些crypto的包 npm search crypto 找到自己需要的包…

【AI】将图片制作成可编辑的图标

需要工具:QQ截图、AI描摹 图标网站:有用的网站收藏夹_h5动漫引擎-CSDN博客 第一:随便找个图标网站,选中自己需要的图标【付费的也可以】【肯定是图标越大越清晰】【此处做示范没用最大的图标】,用QQ截图(…

微信小程序:实现列表单选

效果 代码 wxml <view class"all"><view class"item_all" wx:for"{{info}}" wx:key"index"><view classposition {{item.checked?"checked_parameter":""}} data-id"{{item.employee_num}}…

(五)Python字符串常用方法详解

在了解字符串的基本使用之后&#xff0c;本章将介绍 Python 字符串类型常用的几个方法。 在 Python 开发过程中&#xff0c;经常需要对字符串进行一些特殊处理&#xff0c;比如拼接字符串、截取字符串、格式化字符串等&#xff0c;这些操作无需开发者自己设计实现&#xff0c;…

[天翼杯 2021]esay_eval - RCE(disabled_function绕过||AS_Redis绕过)+反序列化(大小写wakeup绕过)

[天翼杯 2021]esay_eval 1 解题流程1.1 分析1.2 解题1.2.1 一阶段1.2.2 二阶段 二、思考总结 题目代码&#xff1a; <?php class A{public $code "";function __call($method,$args){eval($this->code);}function __wakeup(){$this->code "";…

学习记忆——数学篇——算术——无理数

谐音记忆法 2 \sqrt{2} 2 ​≈1.41421&#xff1a;意思意思而已&#xff1b;意思意思&#xff1b; 3 \sqrt{3} 3 ​≈1.7320&#xff1a;—起生鹅蛋&#xff1b;一起生儿&#xff1b; 5 \sqrt{5} 5 ​≈2.2360679&#xff1a;两鹅生六蛋(送)六妻舅&#xff1b;儿儿生&#xf…

Kafka的分布式架构与高可用性

导语 一开始我们就说过Kafka是一款开源的高吞吐、分布式的消息队列系统&#xff0c;那么今天我们就来说下它的分布式架构和高可用性以及双/多中心部署。 Kafka 体系架构简介 以下是 Kafka 的软件架构&#xff0c;整个 Kafka 体系结构由 Producer、Consumer、Broker、ZooKeepe…

小程序等轻应用技术是不是对企业有价值?

技术的持续迭代发展和用户使用习惯的养成&#xff0c;影响了企业业务载体和创新方式的改变。回看企业与用户交互技术载体的变革&#xff0c;发现曾经是PC软件&#xff0c;然后是网页&#xff0c;再后来是App&#xff0c;之后是小程序形态的轻应用。 移动互联网风起云涌的数十年…

【C语言】Linux平台下解析pcap文件

开发环境是readhat、ubuntu、kali 在wireshark上抓包需要使用 Wireshark/tcpdump/ 且 文件后缀名为.pcap 方式保存 效果如下&#xff1a; 引入俩文件如下。 my_pcap.h #pragma once #include <netinet/in.h>#define PCAP_MAGIC 0xa1b2c3d4typedef struct pcap_file_he…

TCP 和UDP通信流程

TCP 通信流程 根据上图可以看到&#xff0c;TCP 服务器和客户端通信分为 TCP 服务端和客户端&#xff0c;需要先建立服务 端然后再建立客户端与之连接进行数据交互。 服务端编程步骤&#xff1a; 1.使用 socket 创建流式套接字 2.使用 bind 绑定将服务器绑定到 IP 3.listen…

测试小白必掌握软件测试十大原则

软件测试是确保软件质量的重要手段之一&#xff0c;它可以检测软件中的各种缺陷和问题&#xff0c;从而提高软件的可靠性、可用性和安全性。软件测试也是一项极富创造性、极具挑战性的工作。为了尽可能发现软件中的错误&#xff0c;提高软件产品的质量&#xff0c;在软件测试的…

不用休眠的 Kotlin 并发:深入对比 delay() 和 sleep()

本文翻译自&#xff1a; https://blog.shreyaspatil.dev/sleepless-concurrency-delay-vs-threadsleep 毫无疑问&#xff0c;Kotlin 语言中的协程 Coroutine 极大地帮助了开发者更加容易地处理异步编程。该特性中封装的诸多高效 API&#xff0c;可以确保开发者花费更小的精力去…

2023年中国隆鼻行业发展历程及趋势分析:隆鼻手术市场将实现进一步增长[图]

隆鼻术就是以各种植入材料置入为主要方法&#xff0c;隆起或抬高鼻部形态为主要目的的鼻整形术式。隆鼻术可能是开展最多的整形美容手术之一。隆鼻术也是一种很成熟的美容手术&#xff0c;操作较为简单、安全、风险较小&#xff0c;也易于接受。 隆鼻行业分类 资料来源&#x…