在 CentOS 系统中,使用 iptables 命令添加或修改规则后,需要将这些规则保存下来,以便在系统重启后仍然生效。以下是保存 iptables 规则的步骤:
保存规则到文件: 使用 iptables-save 命令将当前的 iptables 规则保存到一个文件中。例如,保存到 /etc/sysconfig/iptables 文件中:
sudo iptables-save > /etc/sysconfig/iptables 确保规则在启动时加载: CentOS 默认情况下不会在启动时自动加载 iptables 规则。你需要确保在系统启动时加载这些规则。可以通过创建一个自定义的 systemd 服务来实现这一点。
创建一个新的 systemd 服务文件:
sudo vi /etc/systemd/system/iptables-restore.service 在文件中添加以下内容:
[Unit] Description=Restore IPTables rules After=network.target [Service] Type=oneshot ExecStart=/sbin/iptables-restore < /etc/sysconfig/iptables [Install] WantedBy=multi-user.target 保存并退出编辑器。
启用并启动服务: 启用并启动刚刚创建的服务,以确保它在系统启动时运行:
sudo systemctl enable iptables-restore.service sudo systemctl start iptables-restore.service 验证服务状态: 检查服务的状态,确保它正在运行并且没有错误:
sudo systemctl status iptables-restore.service 通过以上步骤,你就可以在 CentOS 系统中保存 iptables 规则,并确保它们在系统重启后仍然生效。