firewall-cmd – это интерфейс командной строки для firewalld (firewalld daemon), инструмент управления динамическим брандмауэром с интерфейсом D-Bus.
Он поддерживает как IPv4, так и IPv6; он также поддерживает сети брандмауэров, мосты и ipsets.
Он позволяет устанавливать временные правила брандмауэра в зонах, лог-файлы, запрещающие пакеты, автоматически загружает модули ядра и так много других функций.
Firewalld использует параметры времени исполнения и постоянной конфигурации, которыми вы можете управлять с помощью firewall-cmd.
В этой статье мы объясним, как устранить ошибку «firewall-cmd: command not found» в системах Linux RHEL / CentOS 7.
Мы столкнулись с вышеуказанной ошибкой, пытаясь настроить правила брандмауэра на недавно запущенном экземпляре AWS (Amazon Web Services) EC2 (Elastic Cloud Compute) RHEL 7.4 Linux, как показано на скриншоте ниже.
Чтобы исправить эту ошибку, вам необходимо установить firewalld на RHEL / CentOS 7 с помощью диспетчера пакетов yum следующим образом:
$ sudo yum install firewalld
Затем запустите firewalld и включите его в автоматический запуск при загрузке системы, а затем проверьте его статус:
$ sudo systemctl start firewalld $ sudo systemctl enable firewalld $ sudo systemctl status firewalld
Теперь вы можете запустить firewall-cmd, чтобы открыть порт (5000 в этом примере) в таком брандмауэре, всегда перезагружайте конфигурацию брандмауэра, чтобы изменения вступили в силу.
$ sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent $ sudo firewall-cmd --reload
Чтобы заблокировать вышеуказанный порт, запустите эти команды:
$ sudo firewall-cmd --zone=public --remove-port=5000/tcp --permanent $ sudo firewall-cmd --reload