В попытке получить VNC-доступ к удаленному компьютеру я бросил эту глупую команду на его firewalld через ssh, т.е.
$ firewall-cmd --enable 5903:tcp
Теперь я не могу использовать ssh, ping или curl для сервера. Упс.
Кто-нибудь может объяснить, почему это произошло? Я имею в виду, что конечно --enable сам по себе включит брандмауэр и его правила по умолчанию (т.е. доступ по ssh является одним из них), верно? Как вы, наверное, заметили, я не читал руководство - это фундаментальная человеческая ошибка. Также обратите внимание, что я выполнил команду как обычный пользователь, а не как root или через sudo. Спасибо всем :(
FirewallD очень новый, и поэтому потребуется некоторое время, чтобы к нему привыкнуть.
Вы можете начать с чтения Вики-страница Fedora на FirewallD, в котором есть полный список параметров / использования командной строки.
Я могу предположить, что произошло то, что вы случайно перевели брандмауэр в режим паники, в котором он блокирует все сетевые подключения. Это основано на том, что единственный вариант firewall-cmd
который начинается с --enable
является --enable-panic
. Вам нужно будет перейти на серверную консоль или удаленно в интерфейс управления OOB сервера (iLO, DRAC, IPMI), чтобы исправить это.
Правильный способ добавить услугу - использовать --add-service
или --add-port
.
@mattdm отмечает в комментарии под этим была обнаружена ошибка FirewallD именно для такого поведения. Похоже, что ошибка исправлена путем удаления опций --enable-panic
и --disable-panic
и заменив их --panic-on
и --panic-off
. Это было совершено и появится в будущем выпуске.