В то время как Ганешрагав и Социр предоставляют правильные и непосредственно применимые подходы, полезно отметить, что вы можете добавлять свои собственные услуги /etc/firewalld/services
. Для вдохновения посмотрите /usr/lib/firewalld/services/
, где расположены предопределенные сервисы firewalld.
Преимущество этого подхода в том, что позже вы узнаете, почему эти порты открыты, как вы это описали в служебном файле. Кроме того, теперь вы можете применить его к любой зоне без риска опечаток. Кроме того, изменения в сервисе не нужно применять ко всем зонам отдельно, а только к файлу сервиса.
Например, вы можете создать /etc/firewalld/services/foobar.xml
:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FooBar</short>
<description>
This option allows you to create FooBar connections between
your computer and mobile device. You need to have FooBar
installed on both sides for this option to be useful.
</description>
<port protocol="tcp" port="2888"/>
<port protocol="tcp" port="3888"/>
</service>
(Для получения информации о синтаксисе, сделайте man firewalld.service
.)
Как только этот файл создан, вы можете firewall-cmd --reload
сделать его доступным, а затем добавить его в какую-либо зону
firewall-cmd --permanent --zone=<zone> --add-service=foobar
затем, firewall-cmd --reload
чтобы сделать его активным сразу.