news 2026/4/10 22:16:36

centos7配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
centos7配置

系统

cat/etc/redhat-release# 或cat/etc/os-release yuminstallvim-yvim--version|head-n1dateyuminstall-y ntp ntpdate pool.ntp.org# adjust time server 84.16.67.12 offset 0.001509 sec# iP段起始 iP段结束 归属地 网络 Windows子网掩码 Linux子网掩码# 84.16.64.0 84.16.95.255 瑞士日内瓦州 255.255.224.0 84.16.64.0/19

网络

# RHEL/CentOS 从很早(5/6 时代)就使用 network-scripts(由 network.service 管理)。# ✅ CentOS 7 默认安装时仍启用 network-scripts,但底层其实已部分依赖 NetworkManager# RHEL/CentOS 8 起,network-scripts 被官方标记为“弃用(deprecated)”# RHEL 9 / Rocky Linux 9 / AlmaLinux 9 中,network-scripts 默认不再安装!# 特性network-scripts NetworkManager# 适用场景服务器、静态网络、无人值守环境 桌面、笔记本、动态网络(WiFi/移动热点)# 配置方式手动编辑文本文件 命令行 (nmcli)、TUI (nmtui)、GUI、D-Bus API# 禁用 NetworkManager 对该接口的控制echo"NM_CONTROLLED=no">>/etc/sysconfig/network-scripts/ifcfg-ens33# 停止并禁用 NetworkManager(可选,但不推荐完全关闭)systemctl stop NetworkManager systemctl disable NetworkManager# 使用传统网络服务systemctlenablenetwork systemctl restart network# 第一种 使用传统网络服务 network# /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=3b68fac-94fc-4f8d-af84-f99c3c33ec3DEVICE=ens33ONBOOT=yesIPADDR=10.0.0.150NETMASK=255.0.0.0GATEWAY=10.0.0.2DNS1=8.8.8.8DNS2=114.114.114.114PEERDNS=no# TYPE=Ethernet接口类型为以太网# BOOTPROTO=static使用静态 IP 地址(非 DHCP)# DEFROUTE=yes设置此接口为默认路由出口# ONBOOT=yes开机时自动启用该网络接口# NAME=ens33接口名称# DEVICE=ens33实际设备名# UUID=唯一标识符,由 NetworkManager 分配# TPADDR=10.0.0.150注意:这是错误写法!应为 IPADDR# NETMASK=255.0.0.0子网掩码为 /8,即整个 10.0.0.0/8 网段# GATEWAY=10.0.0.2默认网关地址# DNS1=8.8.8.8, DNS2=114.114.114.114DNS 服务器# PEERDNS=no不允许 DHCP 覆盖 DNS 设置(即使使用 static 也保留)systemctl restart network# 使用 NetworkManager nmcli# nmcli con modify ens33 ipv4.gateway "10.0.0.2"# nmcli con up ens33# 1. 统一改成静态 IPnmcli connection mod ens33 ipv4.addresses10.0.0.150/8# 2. 网关nmcli connection mod ens33 ipv4.gateway10.0.0.2# 3. DNS,多个用空格隔开nmcli connection mod ens33 ipv4.dns"8.8.8.8 114.114.114.114"DNS 管理,自动写入 /etc/resolv.conf(可能被覆盖)cat/etc/resolv.conf# 4. 把获取方式从 dhcp 改成 manual(关键一步)nmcli connection mod ens33 ipv4.method manual# 5. 让配置立即生效(会断 1~2 秒)nmcli connection down ens33&&nmcli connection up ens33# nmcli con reload && nmcli con up ens33# 给物理网卡 ens33 新建一个 NetworkManager 连接(配置文件),连接名叫 ens33,类型为以太网。# /etc/NetworkManager/system-connections/ 里生成一个 ens33.nmconnection 文件nmcli conaddtypeethernet con-name ens33 ifname ens33# nmcli con up/down/mod 都用这个名字nmcli con mod ens33 ipv4.addresses10.0.0.150/8 nmcli con mod ens33 ipv4.gateway10.0.0.2 nmcli con mod ens33 ipv4.dns"8.8.8.8,114.114.114.114"nmcli con mod ens33 ipv4.method manual nmcli con up ens33iproute showiproute show defaultiprouteadddefault via10.0.0.2 dev ens33# ip route add使用 ip 命令添加一条路由规则# default表示“默认路由”,即目标为 0.0.0.0/0(所有 IPv4 地址)# via 10.0.0.2下一跳(网关)的 IP 地址是 10.0.0.2# dev ens33指定出口网络设备为 ens33(可选,但推荐明确指定iproute del default[root@localhost yum.repos.d]# ip route showdefault via10.0.0.2 dev ens33 proto static metric10010.0.0.0/8 dev ens33 proto kernel scopelinksrc10.0.0.150 metric100[root@localhost yum.repos.d]# ip route show defaultdefault via10.0.0.2 dev ens33 proto static metric10010.0.0.0/8 dev ens33 proto kernel scopelinksrc10.0.0.150 metric100[root@localhost yum.repos.d]# cat /etc/resolv.conf# Generated by NetworkManagernameserver8.8.8.8 nameserver114.114.114.114

主机名

hostnamectlhostnamehostnamectl set-hostname elk152 永久主机名存储在:/etc/hostname28awk'{print$2}'firewalld.conf29catfirewalld.conf30hostnamectl31hostname32hostnamectl set-hostname elk15233hostname34history29hostnamectl set-hostname elk15030echo"10.0.0.152 elk152">>/etc/hosts31pingelk15232pingelk152# 添加主机名cat>/etc/hosts<<'EOF' 10.0.0.150 elk150 10.0.0.151 elk151 10.0.0.152 elk152 EOF

终端颜色修改

# 3. 修改终端颜色cat<<'EOF'>>~/.bashrcPS1='\[\e[34;1m\]\u@\h\[\e[32;1m\]:\[\e[32;1m\]\w\[\e[0m\] \$ ' EOFsource~/.bashrc# \[\e[34;1m\] 高亮蓝色 → 用户名 \u 和 @ 主机 \h# \[\e[32;1m\] 高亮绿色 → 冒号、路径 \w# \[\e[0m\] 重置颜色 → 后续命令回显保持默认色# 最终效果示例:# user@host:/home/user $ (蓝@绿,路径绿色)

yum 源

# 1. 清理旧缓存 & 重建yum clean all yum makecache# 2. 修改 yum 源为清华镜像sed-e's|#mirrormlist=|mirrormlist=|g'\-e's|baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g'\-i.bak /etc/yum.repos.d/CentOS-*.repo# -i.bak# 原地修改前先备份,生成 .bak 文件(例如 CentOS-Base.repo.bak),改错可随时回滚。# 两条替换表达式用 -e 串起来:# a) s|#mirrormlist=|mirrormlist=|g# 把被注释掉的 mirrormlist= 打开,恢复镜像列表功能。# b) s|baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g# 把官方 http://mirror.centos.org/... 换成清华 HTTPS 镜像站地址。# 目标文件# /etc/yum.repos.d/CentOS-*.repo 覆盖 Base、Updates、Extras、AppStream 等所有官方源。# https://developer.aliyun.com/article/675241# CentOS 5wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo# CentOS 6wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo# CentOS 7wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget-O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/CentOS-Base.repo1ipa2yuminstallvim-y3vim4cd/etc/yum.repos.d/5mkdir/etc/yum.repos.d/backup7mv/etc/yum.repos.d/*.repo /etc/yum.repos.d/backup11curl-o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo13yum clean all14yum makecache

本地离线安装

# 安装 bind-utils 以使用 nslookup# bind-utils 包含常用 DNS 工具:nslookup, dig, host 等。nslookupmirrors.aliyun.comgrepkeepcache /etc/yum.confsed-i's/keepcache=0/keepcache=1/'/etc/yum.conf# rpm 包会留在 /var/cache/yum/*/packages/(CentOS 7 默认路径)。# yum install/yum update 时,# 下次再装相同版本,YUM 会优先用本地缓存,不再联网下载。# 如果没有这一行,就追加grep-q'^keepcache='/etc/yum.conf||echo'keepcache=1'>>/etc/yum.conf yuminstall-y\unzip\wget\lrzsz\nc\nmap\vim\bash-completion\tree# 创建目标目录mkdir-p /opt/offline-pkgs# 复制所有已缓存的 RPM 包(去重)find/var/cache/yum -name"*.rpm"-execcp{}/opt/offline-pkgs/\;# 去除重复文件(同名即视为重复)cd/opt/offline-pkgs root@localhost opt]# rm -f offline-tools-centos7.tar.gz[root@localhost opt]# tar -czvf offline-tools-centos7.tar.gz offline-pkgsoffline-pkgs/ offline-pkgs/bash-completion-2.1-8.el7.noarch.rpm offline-pkgs/lrzsz-0.12.20-36.el7.x86_64.rpm offline-pkgs/nmap-6.40-19.el7.x86_64.rpm offline-pkgs/nmap-ncat-6.40-19.el7.x86_64.rpm offline-pkgs/tree-1.6.0-10.el7.x86_64.rpm offline-pkgs/wget-1.14-18.el7_6.1.x86_64.rpm offline-pkgs/libpcap-1.5.3-13.el7_9.x86_64.rpm offline-pkgs/unzip-6.0-24.el7_9.x86_64.rpm[root@localhost opt]# du -h5.3M ./offline-pkgs 11M.[root@localhost opt]# ll总用量5208drwxr-xr-x.2root root4096121811:24 offline-pkgs -rw-r--r--.1root root5325715121811:31 offline-tools-centos7.tar.gz# 验证大小(应该几 MB)ls-lh offline-tools-centos7.tar.gz# 第二种方式yuminstall-y yum-utils# 创建保存目录mkdir-p /root/vim-offline# 下载 vim 及其所有依赖到指定目录yuminstall--downloadonly --downloaddir=/root/vim-offlinevim# 1. 开启缓存echo"keepcache=1">>/etc/yum.conf# 2. 安装工具(或直接用 yumdownloader)yuminstall-y yum-utils yumdownloader --resolve --destdir=/opt/offline-pkgs\unzipwgetlrzszncnmapvimbash-completion tree# 3. 打包cd/opt&&tar-czvf offline-tools-centos7.tar.gz offline-pkgs# 查看压缩包内文件列表tar-tzvf offline-tools-centos7.tar.gz# 递归删除选项 -r(或 -R)rm-rf offline-pkgs2/

scp 安装传送文件,rpm 离线安装

# 指定端口scp-P2222/opt/offline-tools-centos7.tar.gz root@10.0.0.151:/root/ root@elk150:/opt# scp /opt/offline-tools-centos7.tar.gz root@10.0.0.151:/root/#The authenticity of host '10.0.0.151 (10.0.0.151)' can't be established.#ECDSA key fingerprint is SHA256:GhzgfZoIYt+d8KM6z2pPFZNU1fB/C6ljAosRI8+gDVA.#ECDSA key fingerprint is MD5:9b:a5:84:0d:fa:42:df:b8:cf:f4:79:df:2e:f9:47:a0.ls-lh /root/offline-tools-centos7.tar.gz# 指定目标目录tarxf offline_rpms.tgz -C /opt/repotar-xzvf offline-tools-centos7.tar.gz# 安装所有 RPM(自动解决依赖)cdoffline-pkgs yum localinstall -y *.rpm# 在 151 主机上临时关闭防火墙(测试用)systemctl stop firewalld# 或永久放行firewall-cmd --permanent --add-service=ssh# firewall-cmd --reload指令的作用# --permanent 把规则写进 /etc/firewalld/ 下的 XML 配置文件,下次开机/重载依然生效。# --add-service=ssh 等价于放行 22/tcp(firewalld 内置了 ssh 服务定义)

禁用 sshd 的 DNS 解析

# sshd修改sed-i's/#UseDNS yes/UseDNS no/g'/etc/ssh/sshd_configsed-i's/#GSSAPIAuthentication yes/GSSAPIAuthentication no/g'/etc/ssh/sshd_configgrep"GSSAPIAuthentication"/etc/ssh/sshd_config# 方法二# 禁用 UseDNS(兼容空格)sed-i's/^#*UseDNS[[:space:]]*yes/UseDNS no/'/etc/ssh/sshd_config# 禁用 GSSAPIAuthentication(兼容空格)sed-i's/^#*GSSAPIAuthentication[[:space:]]*yes/GSSAPIAuthentication no/'/etc/ssh/sshd_config# ^#*:匹配行首任意数量的 #(包括没有)# [[:space:]]*:匹配任意数量的空格或制表符# 这样能覆盖 #GSSAPI...、# GSSAPI...、GSSAPI... 等多种形式

禁用防火墙

systemctl disable --now firewalld&&systemctl is-enabled firewalld systemctl status firewalld# systemctl disable --now firewalld# --now:立即停止服务,并设置开机不启动# 效果等同于 systemctl stop firewalld && systemctl disable firewalld# systemctl is-enabled firewalld# 返回 disabled 表示成功禁用# systemctl status firewalld# 查看服务状态(应显示 inactive)systemctl stop firewalld systemctl disable firewalld

SELinux 内核强制访问控制

# SELinux 在 enforcing 模式下会:# 阻止进程访问非标准端口(如 Elasticsearch 的 9200)# 维度SELinux 防火墙# 工作层级内核强制访问控制 (MAC)网络层/传输层包过滤# 保护对象进程、文件、目录、端口、系统 调用网络连接(源IP、端口、协议)# 典型场景httpd 只能访问 /var/www/html,不能写 /etc/passwd;即使 root 被黑,也能挡住横向移动只允许 22/80/443 入站,屏蔽 3306sed-i's/^SELINUX=.*/SELINUX=disabled/'/etc/selinux/configgrep"SELINUX="/etc/selinux/config setenforce0getenforce# 每个进程、文件、端口都被打上 安全标签(Security Context),只有策略明确允许的操作才能执行。# 对象安全上下文示例# 文件system_u:object_r:httpd_sys_content_t:s0# 进程unconfined_u:unconfined_r:httpd_t:s0# 端口system_u:object_r:http_port_t:s0# 字段当前值含义# SELinux statusenabledSELinux 功能已启用(内核支持)# Current modepermissive当前运行模式:宽容模式 → 不阻止操作,只记录日志# Mode from config fileenforcing配置文件 /etc/selinux/config 中设置的是 enforcing# Loaded policy nametargeted使用的是“针对性策略”(只保护关键服务)

ssh登录

cat>/etc/hosts<<'EOF' 10.0.0.150 elk150 10.0.0.151 elk151 10.0.0.152 elk152 EOF# 生成 SSH 密钥(如果还没有)ssh-keygen -t rsa -N""-f ~/.ssh/id_rsa# 将公钥复制到 elk151 和 elk152(假设都用 root)ssh-copy-id root@10.0.0.151 ssh-copy-id root@10.0.0.152for((host_id=150;host_id<=152;host_id++));dossh-copy-id elk$((host_id));doneyum -yinstallrsyncyumdownloader --resolve --destdir=/opt/offline-pkgsrsyncsshelk151 root@elk150:/usr/local/sbin# /usr/local/sbin/data_rsync.sh /mnt/text.txt===rsyncing elk150: text.txt===命令执行成功!===rsyncing elk151: text.txt===命令执行成功!===rsyncing elk152: text.txt===命令执行成功! root@elk150:/usr/local/sbin#

集群同步脚本

#!/bin/bash# Author: gonggbb# Description: 自动同步文件到集群其他节点if[$#-ne1];thenecho"Usage:$0/path/to/file(绝对路径)"exit1fi# 判断文件是否存在if[!-e"$1"];thenecho"[$1]dir or file not find!"exit1fi# 获取父路径fullpath=$(dirname"$1")basename=$(basename"$1")# 进入父路径cd"$fullpath"# 循环同步到其他两个节点for((host_id=150;host_id<=152;host_id++));do# 使用终端输出变为绿色tput setaf2echo"=== rsyncing elk$((host_id)):$basename==="tput setaf7# 将数据同步到其他两个节点rsync-az$basename`whoami`@elk$((host_id)):$fullpathif[$?-eq0];thenecho"命令执行成功!"fidone

sed

# pattern { action } # 满足 pattern 才执行 action# pattern # 缺省 action = 打印整行# { action } # 缺省 pattern = 对所有行生效# 行号、字段、分隔符# $0 整行# 1第1列... NF 最后一列# NF 当前行字段数# NR 已读行号(从1开始)# FNR 多个文件时各自的行号# FS 输入列分隔符(-F 或 BEGIN 里改)# OFS 输出列分隔符# length(s) 字符串长度# substr(s,m,n) 子串# split(s,a,sep) 把 s 按 sep 拆到数组 a# system(cmd) 调用系统命令# tolower/toupper 大小写转换# int() 取整# rand() 0-1 随机数(需 srand() 播种子)awk'{print$1,$3}'file
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/6 11:43:41

牛客2025年度屡获行业殊荣,以AI Agent持续引领智能招聘新浪潮

在人工智能与人力资源深度融合的浪潮中&#xff0c;牛客凭借领先的AI面试解决方案持续引领行业变革。其以技术驱动招聘效率提升、体验优化和决策精准化&#xff0c;赢得了企业客户与专业机构的一致肯定。过去一年&#xff0c;牛客不仅在产品创新上屡获突破&#xff0c;更在人力…

作者头像 李华
网站建设 2026/4/6 1:32:42

UI-TARS桌面版快速上手攻略:3分钟搞定智能GUI自动化

还在为重复的电脑操作烦恼吗&#xff1f;UI-TARS桌面版正是您需要的智能助手&#xff01;这款革命性的视觉语言模型应用&#xff0c;让您用自然语言就能指挥电脑完成各种任务。无论您是技术新手还是资深开发者&#xff0c;都能在几分钟内掌握核心用法。 【免费下载链接】UI-TAR…

作者头像 李华
网站建设 2026/4/5 7:52:29

Obsidian Templater插件:从零构建智能笔记自动化工作流

Obsidian Templater插件&#xff1a;从零构建智能笔记自动化工作流 【免费下载链接】Templater A template plugin for obsidian 项目地址: https://gitcode.com/gh_mirrors/te/Templater 在信息爆炸的时代&#xff0c;如何高效管理知识笔记成为每个学习者和专业人士的痛…

作者头像 李华
网站建设 2026/4/6 0:50:29

Semantic UI Calendar:现代化Web日期选择解决方案完全指南

Semantic UI Calendar&#xff1a;现代化Web日期选择解决方案完全指南 【免费下载链接】Semantic-UI-Calendar mdehoog/Semantic-UI-Calendar: Semantic-UI-Calendar 是Semantic UI框架的一个日历扩展插件&#xff0c;它增强了原生HTML5 控件的功能&#xff0c;提供了日期选择…

作者头像 李华
网站建设 2026/4/10 7:27:55

FPGA电机控制实战:5步快速掌握FOC核心技术

FPGA电机控制实战&#xff1a;5步快速掌握FOC核心技术 【免费下载链接】FPGA-FOC FPGA-based Field Oriented Control (FOC) for driving BLDC/PMSM motor. 基于FPGA的FOC控制器&#xff0c;用于驱动BLDC/PMSM电机。 项目地址: https://gitcode.com/gh_mirrors/fp/FPGA-FOC …

作者头像 李华
网站建设 2026/4/7 14:10:41

PyPSA完整指南:电力系统建模与能源平衡分析的终极解决方案

PyPSA完整指南&#xff1a;电力系统建模与能源平衡分析的终极解决方案 【免费下载链接】PyPSA PyPSA: Python for Power System Analysis 项目地址: https://gitcode.com/gh_mirrors/py/PyPSA PyPSA&#xff08;Python for Power System Analysis&#xff09;是一个革命…

作者头像 李华