CentOS7 firewalld никакие зоны

Я установил firewalld на новой установке CentOS 7 minnimal на VPS (достаточно странно, от того, что я искал, firewalld должен уже быть установлен с системой).

Я пытался открыть некоторые порты, но при выполнении команды как

firewall-cmd --zone=public --add-port=80/tcp --permanent

Я получаю следующее сообщение об ошибке: Error: INVALID_ZONE: public.

При просмотре доступных зон с firewall-cmd --get-zones я ничего не получаю.

Как это должно быть настроено?

7
задан 5 March 2016 в 16:27
2 ответа

Звучит как довольно странная установка и проблема VPS, но вы можете построить свои собственные зоны достаточно легко, если вы не против написать немного XML.

Моя публичная зона:

<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
  <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"/>
  <port protocol="tcp" port="443"/>

</zone>

Это слегка модифицированная версия public.xml по умолчанию, которая падает вместо того, чтобы отвергать пакеты, и разрешает HTTPS, а также SSH.

Вы бы поместили это в (я думаю) /etc/firewalld/zones/public.xml.

0
ответ дан 2 December 2019 в 23:52

VPS делают разные глупости. Некоторые из них уничтожают SELinux на уровне ядра, так что вы даже не можете его включить. Прежде всего, вы хотите проверить свое ядро ​​с помощью uname -r . Должно быть написано el7 , например,

3.10.0-693.2.2.el7.x86_64

Если это el7, все в порядке. Если нет, вам нужно проверить на своем VPS, можете ли вы использовать стандартные ядра EL или переустановить свой экземпляр из собственного CentOS ISO (это то, что я сделал на Vultr). По-прежнему возможно исправить firewalld с помощью специального ядра, но лучше иметь официальные.

В любом случае, если firewalld действительно работает, просто не имея зон, просто создайте зону и добавьте службы.

firewall-cmd --new-zone=public --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --reload

Примечание: вы должны сделать это в одном и том же сеансе, иначе вы можете заблокироваться из SSH и прибегнуть к консольному доступу для исправления вашего брандмауэра.

0
ответ дан 2 December 2019 в 23:52

Теги

Похожие вопросы