Мой брандмауэр в настоящее время неактивен.
systemctl status firewalld firewalld.service Loaded: masked (/dev/null) Active: inactive (dead)
Я использовал следующую команду для включения брандмауэра
# systemctl unmask firewalld
но я получил эту ошибку:
# systemctl unmask firewalld
Failed to issue method call: Access denied
# sudo systemctl restart firewalld
Failed to issue method call: Unit firewalld.service failed to load: No such file or directory.
# sudo systemctl enable firewalld
Failed to issue method call: Access denied
Если это только для разрешений, то, возможно, вы можете попробовать
sudo su
systemctl enable firewalld
systemctl start firewalld
Настоятельно рекомендуется , чтобы у вас был брандмауэр, защищающий ваш сервер:
Эта ошибка возникает, когда вы пытаетесь запустить или включить службу, которая либо не установлена на вашей системе Linux или вы ввели неправильное имя службы. См. Список служб, набрав:
systemctl list-units --type=service
Установить, если недоступно:
yum install firewalld
Вы можете включить firewalld , набрав:
systemctl enable firewalld
sudo systemctl enable firewalld
Вы можете запустить firewalld , набрав:
systemctl start firewalld
sudo systemctl start firewalld
Посмотрите, чтобы проверить его статус, набрав:
systemctl status firewalld
Также, если вы хотите использовать iptables, а не firewalld в качестве предпочтительного межсетевого экрана на centos 7, см. Как включить службы iptables (вместо firewalld) в RHEL 7 и Fedora 18? , который включает точные инструкции по установке и включению iptables для RHEL 7 / centos 7.
Лично я предпочитаю старый добрый пользовательский интерфейс пространства iptables. Итак:
Изначально отключить firewalld. В вашем случае это может не понадобиться:
systemctl disable firewalld
Тогда установите iptables:
yum install iptables-services
Включите сервис iptables:
systemctl enable iptables
Теперь вы можете сохранить ваши правила как обычно:
service iptables save
Вот что у меня сработало.
Проверьте, не зависают ли процессы firewalld, например:
root 16278 1 4 Jan 13 ? 00:00:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
убейте их, а затем:
# yum reinstall firewalld
# service unmask firwalld
# service enable firwalld
# service start firwalld
И, конечно же, посмотрите journalctl
чтобы узнать, что произошло раньше
Причина может быть в том, что следующая ссылка может быть неработающей
/etc/systemd/system/firewalld.service -> /usr/lib/systemd/system/firewalld.service
создайте ее вручную, введя следующие команды
ln -s /usr/lib/systemd/system/firewalld.service / etc / systemd / system /
Затем включите брандмауэр и запустите
systemctl enable firewalld
[root @ localhost ~] # systemctl status firewalld
● firewalld.service - firewalld - динамический демон межсетевого экрана. Загружено: загружено (/usr/lib/systemd/system/firewalld.service; включено; предустановка поставщика: включено)
Активный: активен (работает) с Sat 2019-12-21 00:13:34 GMT; 2с назад
Документы: человек: firewalld (1)
Основной PID: 3020 (firewalld)
CGroup: /system.slice/firewalld.service
└─3020 / usr / bin / python2 -Es / usr / sbin / firewalld --nofork --nopid
решение
sudo systemctl unmask --now firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld