CentOS 7 firewall-cmd не найден

20

Я только что установил CentOS 7:

[root @ new ~] # cat / etc / redhat-release
CentOS Linux выпуск 7.1.1503 (Core) 

Я пытаюсь настроить брандмауэр, и мне говорят, что в CentOS 7 iptables больше не используется, его заменяет firewalld. При попытке запустить команду для установки правила брандмауэра следующим образом:

firewall-cmd --add-port = 80 / tcp

Я получаю следующее сообщение:

[root @ new ~] # firewall-cmd --add-port = 80 / tcp
-bash: firewall-cmd: команда не найдена

редактировать : я тоже попробовал следующую команду:

[root @ new ~] # firewall-offline-cmd --add-port = 80 / tcp
-bash: firewall-offline-cmd: команда не найдена

без успеха.

Я попытался запустить следующее, чтобы проверить, что firewalld был установлен:

[root @ new ~] # сервис firewalld статус
Перенаправление в / bin / systemctl status firewalld.service
firewalld.service
   Загружен: не найден (причина: нет такого файла или каталога)
   Активный: неактивный (мертвый)

После этого я попытался запустить firewalld:

[root @ new ~] # служба firewalld start
Перенаправление в / bin / systemctl запускает firewalld.service
Не удалось выполнить вызов метода: не удалось загрузить модуль firewalld.service: такого файла или каталога нет.

Есть идеи, что не так с установкой CentOS 7? Это чистая установка на OpenVZ VPS, я еще не вносил никаких изменений.

BnMcG
источник
2
Вы пытались установить firewalld?
Майкл Хэмптон
@MichaelHampton ... Самый большой лицевый псевдоним за всю неделю ... Я предположил, что сервисные команды не выводили ответ "не найден", как я видел в Debian, он был установлен, но не настроен или что-то в этом роде, но вы правильно, похоже, что он не установлен.
BnMcG
2
Стандартный шаблон CentOS OpenVZ не является стандартным; это сильно настроено и урезано. (То же самое относится ко всем другим их шаблонам.) Если чего-то не хватает, попробуйте установить его. И как можно скорее прекратите использование VPS-провайдеров на базе OpenVZ; Вы только столкнетесь с большим количеством проблем позже ...
Майкл Хэмптон
@MichaelHampton Ах, в этом есть смысл, спасибо, мне было интересно, почему он не был установлен по умолчанию.
BnMcG

Ответы:

31

Два возможных варианта

  • Ваш PATH не содержит / usr / bin
  • firewall-cmd не установлен
    • ням установить firewalld
user9517 поддерживает GoFundMonica
источник
Как отмечалось выше @MichaelHampton, шаблон CentOS 7 OpenVZ урезан и по умолчанию не включает firewalld. Ответ, конечно, установить firewalld.
BnMcG
28

Похоже, вы не установили / не включили его.

yum install firewalld
systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld
Фред Флинт
источник
По сути это то же самое, что и предыдущий ответ.
kasperd
8
Этот ответ добавляет ценность, показывая команды для включения и запуска службы. Я проголосовал за оба ответа.
Исапир
Хотя TBH я только что обнаружил, что сервис enabledпо умолчанию.
Исапир
-3

Вместо этого попробуйте инструмент с графическим интерфейсом, он по умолчанию поставляется с centos 6/7. firewalld устарела после centos5

$ sudo system-config-firewall

или

# system-config-firewall 

System-config-firewall выглядит следующим образом

snehasys
источник
1
Это назад. В CentOS 7 firewalld используется по умолчанию, а system-config-firewall устарел.
Майкл Хэмптон
Решение в моем случае состояло в том, чтобы установить firewalld, он не идет с образом OpenVZ. Кроме того, инструмент с графическим интерфейсом недоступен (по крайней мере, с готовностью) на автономном сервере.
BnMcG