systemd服务未启用导致配置未持久化,如systemd-sysctl未启用则sysctl配置不生效,iptables规则需iptables-persistent等工具保存,NetworkManager会覆盖手工网络配置,挂载需写入/etc/fstab并确保对应服务启用。

systemd 服务未启用导致配置未持久化
很多用户在 Linux 重启后发现 /etc/sysctl.conf 修改没生效、防火墙规则消失、或自定义网络参数还原,根本原因不是配置写错了,而是相关服务没设为开机自启。比如 sysctl 配置依赖 procps 服务(部分发行版叫 systemd-sysctl),它负责在启动时读取 /etc/sysctl.conf 和 /etc/sysctl.d/*.conf;若该服务被禁用或未启用,配置就只在当前会话临时生效。
检查方法:systemctl is-enabled systemd-sysctl;若输出 disabled,则需运行:systemctl enable systemd-sysctl。注意:有些精简系统(如某些容器镜像或最小化安装)默认不启用该服务,必须手动开启。
iptables 规则未保存到磁盘
直接用 iptables -A 或 iptables-restore 添加的规则只存在于内核内存中,重启后清空是正常行为。Linux 内核本身不保存规则,必须靠用户空间工具做持久化。
- Debian/Ubuntu 系统常用
iptables-persistent:安装后运行iptables-save > /etc/iptables/rules.v4,再执行systemctl enable netfilter-persistent - RHEL/CentOS 7+ 默认用
firewalld,应使用firewall-cmd --permanent添加规则,然后firewall-cmd --reload,否则--permanent不生效 - 若手动管理,确保保存命令在关机前执行,且路径与加载脚本匹配(例如某些脚本从
/etc/sysconfig/iptables读取,而非/etc/iptables/rules.v4)
NetworkManager 覆盖了 ifconfig 或 ip 命令配置
用 ip addr add 或 ifconfig 配的 IP 地址、路由、别名等,在 NetworkManager 管理的接口上属于“临时覆盖”,NM 会在下次连接重载或重启后按其配置文件(/etc/NetworkManager/system-connections/)恢复状态,把手工配置冲掉。
安装说明重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!第一步,确定你的服务器支持PHP+mysql。第二步,确定你的服务器开启了gd库。第三步,将upload文件内的文件上传到网站的根目录第四步,访问你的域名+ /install/index.html进行安装,linux系统访问你的域名+ /Install/index.html第五步,按照安装程序步骤进行安装配置第六步,安装完毕后
解决方式取决于需求:
- 若想彻底绕过 NM,可编辑连接配置文件,设
managed=false,再改/etc/network/interfaces(Debian系)或/etc/sysconfig/network-scripts/ifcfg-*(RHEL系) - 若仍用 NM,所有配置应通过
nmcli或nm-connection-editor设置,并加--permanent参数 - 特别注意:某些云平台(如 AWS EC2)的
cloud-init会在每次启动时重写网络配置,需检查/etc/cloud/cloud.cfg.d/下是否有覆盖逻辑
挂载点未写入 /etc/fstab 或自动挂载服务未启用
用 mount /dev/sdb1 /mnt/data 挂载的设备,重启后丢失是预期行为。真正持久化需要两步:一是把条目写进 /etc/fstab,二是确保 systemd-fstab-generator 或传统 mountall 正常工作(现代 systemd 系统基本默认支持)。
常见疏漏:
-
UUID或PARTUUID写错,导致mount -a失败,进而整个 fstab 加载中断 - 遗漏
noauto或x-systemd.automount等选项,造成启动卡在挂载环节(尤其 NFS 或远程存储) -
/etc/fstab中使用设备名(如/dev/sdb1)而非 UUID,在多磁盘热插拔场景下易错配
mount -a 并观察是否报错,再查 systemctl status local-fs.target 是否 active。
配置“重启不丢”的关键不在写得多,而在确认谁在启动时真正加载它——服务有没有 enable,工具有没有 save,管理器有没有接管。最容易被忽略的是那些看似“系统自带”却默认关闭的加载服务,比如 systemd-sysctl 或 netfilter-persistent,它们不启动,前面所有配置都只是临时快照。









