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, я еще не вносил никаких изменений.


2
Вы пытались установить firewalld?
Майкл Хэмптон

@MichaelHampton ... Самый большой лицевый псевдоним за всю неделю ... Я предположил, что сервисные команды не выводили ответ "не найден", как я видел в Debian, он был установлен, но не настроен или что-то в этом роде, но вы правильно, похоже, что он не установлен.
BnMcG

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

@MichaelHampton Ах, в этом есть смысл, спасибо, мне было интересно, почему он не был установлен по умолчанию.
BnMcG

Ответы:


31

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

  • Ваш PATH не содержит / usr / bin
  • firewall-cmd не установлен
    • ням установить firewalld

Как отмечалось выше @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 выглядит следующим образом


1
Это назад. В CentOS 7 firewalld используется по умолчанию, а system-config-firewall устарел.
Майкл Хэмптон

Решение в моем случае состояло в том, чтобы установить firewalld, он не идет с образом OpenVZ. Кроме того, инструмент с графическим интерфейсом недоступен (по крайней мере, с готовностью) на автономном сервере.
BnMcG
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.