Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Deepin Integration]~[V23-Beta3] feat: update iptables-persistent to 1.0.22 by deepin-community-bot[bot]@deepin-community/iptables-persistent by deepin-community-ci-bot[bot] #10982

Open
deepin-bot bot opened this issue Nov 29, 2024 · 4 comments
Assignees
Labels
Project:integrated 集成管理相关
Milestone

Comments

@deepin-bot
Copy link

deepin-bot bot commented Nov 29, 2024

Package information | 软件包信息

包名 版本
iptables-persistent 1.0.22

Package repository address | 软件包仓库地址

deb [trusted=yes] https://ci.deepin.com/repo/obs/deepin:/CI:/TestingIntegration:/test-integration-pr-2295/testing/ ./

Changelog | 更新信息

iptables-persistent (1.0.22) unstable; urgency=medium

  • [3e0ff9] add dh-sequence-movetousr to b-d (Closes: #1073670)
@deepin-bot deepin-bot bot added the Project:integrated 集成管理相关 label Nov 29, 2024
@deepin-bot deepin-bot bot added this to the V23-Beta3 milestone Nov 29, 2024
@deepin-bot deepin-bot bot moved this to In progress in v23-集成管理 Nov 29, 2024
@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 29, 2024

Integration Test Info

Test suggestion | 测试建议

iptables-persistent 是一个用于保存和恢复 iptables 规则的工具,适合在 Debian、Ubuntu 等基于 apt 包管理的系统上使用。通过它,可以在系统重启后自动加载预定义的 iptables 规则,从而简化防火墙规则的管理。


安装 iptables-persistent

  1. 安装 iptables-persistent 软件包:

    sudo apt update
    sudo apt install iptables-persistent
  2. 安装过程中,系统会提示是否保存当前的 iptables 规则到配置文件。选择 Yes,以保存当前规则。


保存规则

手动保存当前 iptables 规则到配置文件:

sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
  • rules.v4 是 IPv4 的规则文件。
  • rules.v6 是 IPv6 的规则文件。

加载规则

重启后,iptables-persistent 会自动加载 /etc/iptables/rules.v4/etc/iptables/rules.v6 文件中的规则。如果需要手动加载规则,可以执行以下命令:

sudo netfilter-persistent reload

使用示例

1. 添加规则

添加一个简单的规则,例如允许 SSH(22 端口)的入站连接:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

2. 保存规则

保存当前的规则:

sudo iptables-save > /etc/iptables/rules.v4

3. 恢复规则

手动加载保存的规则:

sudo iptables-restore < /etc/iptables/rules.v4

4. 检查规则是否生效

查看当前 iptables 的规则:

sudo iptables -L -v

管理命令

  • 保存当前规则

    sudo netfilter-persistent save

    该命令会更新 /etc/iptables/rules.v4/etc/iptables/rules.v6 文件。

  • 加载规则

    sudo netfilter-persistent reload
  • 启用服务(确保规则在系统启动时自动加载):

    sudo systemctl enable netfilter-persistent
  • 重启服务

    sudo systemctl restart netfilter-persistent

规则文件说明

文件位置

  • IPv4 规则:/etc/iptables/rules.v4
  • IPv6 规则:/etc/iptables/rules.v6

文件格式

规则文件是 iptables-saveip6tables-save 命令生成的纯文本文件。例如:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 22 -j ACCEPT
COMMIT

手动编辑规则

可以直接编辑规则文件,然后重新加载规则:

sudo nano /etc/iptables/rules.v4
sudo netfilter-persistent reload

注意事项

  1. 动态规则的保存
    如果在运行时修改了 iptables 规则(使用 iptables 命令),这些规则不会自动持久化。必须通过 iptables-savenetfilter-persistent save 手动保存。

  2. IPv6 支持
    如果系统启用了 IPv6,也需要维护 /etc/iptables/rules.v6 文件。

  3. ufw 的兼容性
    如果系统同时使用 ufwiptables-persistent,要注意它们之间可能的冲突。推荐仅使用一种工具管理防火墙。

  4. 测试新规则
    在部署重要规则前,建议先通过 iptables-restore --test 测试规则文件的语法是否正确。


常见问题

1. 规则未加载或丢失

  • 确认 /etc/iptables/rules.v4/etc/iptables/rules.v6 存在并包含正确的规则。
  • 确保 netfilter-persistent 服务已启用:
    sudo systemctl enable netfilter-persistent

2. 规则不生效

检查 iptables 是否正在运行:

sudo iptables -L -v

如果规则未生效,可能是服务未启动或规则文件内容有问题。


iptables-persistent 是管理 iptables 的高效工具,可以大幅减少手动重复配置的麻烦,非常适合需要长期维护规则的服务器环境。

Influence | 影响范围

ADDITIONAL INFORMATION | 额外补充

@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 29, 2024

IntegrationProjector Notify the author
@deepin: Integrated issue updated

@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 29, 2024

IntegrationProjector Bot
Deepin Testing Integration Project Manager Info
Link to deepin-community/Repository-Integration#2295

@Zeno-sole Zeno-sole assigned babyfengfjx and unassigned Zeno-sole and hudeng-go Nov 29, 2024
@babyfengfjx babyfengfjx assigned kobe337 and unassigned babyfengfjx Nov 29, 2024
@babyfengfjx babyfengfjx moved this from In progress to 测试中 in v23-集成管理 Nov 29, 2024
@kobe337
Copy link

kobe337 commented Dec 2, 2024

【环境】:
镜像:Deepin OS-25-20241107064136-1_x86_64
内核:Linux deepin-PC 6.12.1-amd64-desktop-rolling #23.01.01.13 SMP PREEMPT_DYNAMIC Tue Nov 26 15:29:22 CST 2024 x86_64 GNU/Linux

【结论】:
测试通过,暂无严重问题及影响, 安装校验、版本核对,iptables基本功能验证,验证安装相关应用包(docker.io、wireguard-tools、python3-iptables、ufw、ipset、libvirt-daemon-driver-network、libvirt-daemon-driver-nwfilter),验证通过,请研发同事确认,是否推送内测更新
Image

@kobe337 kobe337 assigned Zeno-sole and unassigned kobe337 Dec 2, 2024
@kobe337 kobe337 moved this from 测试中 to 测试通过 in v23-集成管理 Dec 2, 2024
@Zeno-sole Zeno-sole moved this from 测试通过 to 已集成 in v23-集成管理 Dec 2, 2024
@Zeno-sole Zeno-sole removed the status in v23-集成管理 Dec 2, 2024
@Zeno-sole Zeno-sole moved this to 已集成 in v23-集成管理 Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project:integrated 集成管理相关
Projects
Status: 已集成
Development

No branches or pull requests

4 participants