Bug 60162
| Summary: | pve-firewall status показывает "pending changes" после применения правил | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Лавренко Егор Сергеевич <lavrenkoes> |
| Component: | pve-firewall | Assignee: | Sergey Konev <konevsa> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | andy, darisishe, iv, kozorizki, shaba, shrek |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
pve-firewall-6.0.5-alt2 -> sisyphus: Wed Aug 19 2026 Sergey Konev <darisishe@altlinux> 6.0.5-alt2 - Handle unquoted PVESIG comments (Closes: 60162) - Simulator: handle disabled firewall (Closes: 60163) Ошибка все еще воспроизводится
Версии пакетов:
pve-manager-9.2.5-alt4
pve-firewall-6.0.5-alt2
Дополнительные шаги при проверке:
1. Создать минимальную конфигурацию:
# cat > /etc/pve/firewall/cluster.fw << _EOF_
[OPTIONS]
enable: 1
[RULES]
IN ACCEPT -p tcp --dport 22
_EOF_
2. Запустить сетевой экран:
# systemctl start pve-firewall
3. Проверить, что генерируется для ipset:
# pve-firewall compile 2>&1 | grep -A 10 "ipset cmdlist:"
ipset cmdlist:
update PVEFW-0-management-v4 (RYAc/sOxiXXp2xkFxr1pnyLPYlQ)
create PVEFW-0-management-v4 hash:net family inet hashsize 64 maxelem 64
add PVEFW-0-management-v4 10.88.8.0/21
update PVEFW-0-management-v6 (H5WO/Pkuyz4e7OLB2uiMpG0Bsn0)
create PVEFW-0-management-v6 hash:net family inet6 hashsize 64 maxelem 64
iptables cmdlist:
...
4. Однако в то же время вывод команды ipset save показывает:
# ipset save
create PVEFW-0-management-v6 hash:net family inet6 hashsize 64 maxelem 64 bucketsize 12 initval 0x7ff954ef
create PVEFW-0-management-v4 hash:net family inet hashsize 64 maxelem 64 bucketsize 12 initval 0x43adee98
add PVEFW-0-management-v4 10.88.8.0/21
Предположительно, проблема с постоянным выводом (pending changes) вызвана подсистемой ipset, которая автоматически добавляет параметры bucketsize 12 и initval 0x... , в то время как pve-firewall не генерирует эти параметры в командах create
Поэтому:
1. Демон вычисляет PVESIG от "желаемого" состояния: hashsize 64 maxelem 64
2. Читает "фактическое" состояние из ядра: hashsize 64 maxelem 64 bucketsize 12 initval 0x...
3. Хеш-суммы не совпадают из-за различий
4. Демон видит "изменения" и пытается обновить таблицы
5. После обновления ядро снова добавляет bucketsize и initval
6. Цикл повторяется ==> статус (pending changes) никогда не пропадает
pve-firewall-6.0.5-alt3 -> sisyphus: Sun Aug 30 2026 Sergey Konev <darisishe@altlinux> 6.0.5-alt3 - Include ipset bucketsize in generated rules (Closes: 60162) |

Description
Лавренко Егор Сергеевич 2026-08-14 16:44:22 MSK