温馨提示×

ubuntu iptables如何开机启动

小樊
43
2026-09-28 03:39:39
栏目: 智能运维

在 Ubuntu 上让 iptables 规则开机自动生效,常见做法有以下几种(按推荐程度):


一、推荐方式(Ubuntu 18.04+):使用 netfilter-persistent

1. 安装工具

sudo apt update
sudo apt install iptables-persistent

安装过程中会询问是否保存当前规则,选 Yes。

2. 保存当前 iptables 规则

sudo netfilter-persistent save

规则会保存到:

  • /etc/iptables/rules.v4(IPv4)
  • /etc/iptables/rules.v6(IPv6)

3. 开机自动加载

sudo systemctl enable netfilter-persistent

✅ 重启后规则自动生效


二、手动保存 + 恢复(不依赖额外包)

1. 保存规则

sudo iptables-save > /etc/iptables.rules

2. 创建开机脚本

sudo nano /etc/network/if-pre-up.d/iptables

内容:

#!/bin/sh
iptables-restore < /etc/iptables.rules

3. 赋予执行权限

sudo chmod +x /etc/network/if-pre-up.d/iptables

三、使用 systemd 服务(进阶)

sudo nano /etc/systemd/system/iptables-restore.service

内容:

[Unit]
Description=Restore iptables rules
Before=network.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /etc/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable iptables-restore

四、Ubuntu 新版本注意事项(nftables)

  • Ubuntu 20.04+ 默认使用 nftables
  • iptables 实际是 nft 的兼容层
  • 若你用 nft:
sudo nft list ruleset > /etc/nftables.conf
sudo systemctl enable nftables

总结推荐

✅ 最简单可靠:

sudo apt install iptables-persistent
sudo netfilter-persistent save

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • 用的是 iptables 还是 nftables
  • 是否有 Docker(会影响规则)

我可以给你更精确的配置。

0 踩