# 麒麟v10 kylin v10 清除firewall所有策略恢复原始

你这个报错是正常的，因为：

> ❌ `firewall-cmd --reset-default-zone` 在 firewalld 里根本不存在这个参数

（很多网上资料是错的或旧版本误传）

---

# 🚨 你现在真实状态分析

你的 `public zone` 已经是：

```text
sources: 10.2.2.0/24   ← 关键
ports: 一大堆已开放
masquerade: no

```

说明：

### ❗ 你现在不是“默认状态”

而是：

> ⚠️ zone 被人工改造过（不是 reset 可恢复）

---

# 🧹 正确“恢复默认状态”方法（Kylin V10 可用）

## ⭐ 方法1（推荐）：清空 zone + 恢复默认策略

### 1️⃣ 清空所有 ports

```bash
for p in 80 443 8070 20881 8082 20853 8086 20835 4443; do
  firewall-cmd --permanent --zone=public --remove-port=${p}/tcp
done

```

---

### 2️⃣ 删除 source（关键）

你现在这个：

```text
sources: 10.2.2.0/24

```

执行：

```bash
firewall-cmd --permanent --zone=public --remove-source=10.2.2.0/24

```

---

### 3️⃣ 恢复 ssh / 默认服务

```bash
firewall-cmd --permanent --zone=public --add-service=ssh

```

---

### 4️⃣ reload

```bash
firewall-cmd --reload

```

---

# ⭐ 方法2（最干净）：删除 public zone 配置文件

如果你想“一键回出厂默认”，用这个：

```bash
systemctl stop firewalld

rm -f /etc/firewalld/zones/public.xml

systemctl start firewalld

```

👉 这会让 firewalld 自动重建默认 public zone

---

# 🔍 方法3（推荐生产）：重新初始化 firewalld

```bash
systemctl stop firewalld
rm -rf /etc/firewalld
yum reinstall firewalld -y   # 或 dnf
systemctl start firewalld

```

👉 最彻底（等同“恢复出厂设置”）

---

# ⚠️ 你现在最关键问题其实是这个

```text
sources: 10.2.2.0/24

```

这意味着：

> 🔥 你 firewall 已经被改成“只信任内网网段”

所以表现会是：

- 外部访问异常
- 端口行为不一致
- Docker + firewalld 混乱

---

# 🧠 一句话总结

<table id="bkmrk-%E6%93%8D%E4%BD%9C-%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88-reset-defaul"><thead><tr><th>操作</th><th>是否有效</th></tr></thead><tbody><tr><td>reset-default-zone</td><td>❌ 不存在</td></tr><tr><td>remove-port + reload</td><td>✔ 部分恢复</td></tr><tr><td>删除 zone XML</td><td>✔ 推荐</td></tr><tr><td>重装 firewalld</td><td>✔ 最彻底</td></tr></tbody></table>

---

# 🚀 建议你下一步做这个（最稳）

如果你是生产环境：

👉 我建议直接做：

```bash
rm -f /etc/firewalld/zones/public.xml
systemctl restart firewalld

```

然后再重新只加：

- ssh
- 需要暴露的 80/443

---

如果你愿意，我可以帮你把你这台：

> 麒麟 V10 + Docker + 多微服务

整理成一套：

✔ 不互相冲突  
✔ DOCKER-USER 控制流量  
✔ firewalld 只做基础保护  
✔ 不会再出现“规则失效 / 端口混乱”

这类结构才是稳定生产配置。