Я только что установил Fedora 23 Server. У меня по умолчанию создана одна зона:
# firewall-cmd --get-active-zones
FedoraServer
interfaces: eth0
Если я добавлю сервис в эту зону, он будет работать нормально:
# firewall-cmd --zone=FedoraServer --add-service=http
success
# firewall-cmd --zone=FedoraServer --list-all
FedoraServer (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Но теряется при беге firewall-cmd --reload
.
Если я попытаюсь сделать его постоянным, как предложено в этот ответ, Я получаю следующую ошибку:
# firewall-cmd --zone=FedoraServer --add-service=http --permanent
Error: INVALID_SERVICE: 'cockpit' not among existing services
Я удивлен, так как это свежая установка из шаблона OVH.
Как обойти эту ошибку?
Как предположил Майкл Хэмптон в комментариях, похоже, это специфично для шаблона OVH Fedora 23 Server.
Я искал cockpit
в /etc
, и нашел следующий файл:
/etc/firewalld/zones/FedoraServer.xml
Которая содержит следующие строки:
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="cockpit"/>
</zone>
Я удалил эту строку и сохранил файл:
<service name="cockpit"/>
И теперь это работает!
Похоже, что они добавили в firewalld службу по умолчанию, которая не установлена в их шаблоне.