Обзор
firewall-cmd взаимодействует со службой firewalld для управления сетевым трафиком системы. Он позволяет применять правила времени выполнения и постоянные правила, а также предоставляет гибкую политику безопасности через различные сетевые зоны (zones). Это позволяет повысить безопасность сервера и разрешить или заблокировать доступ к определенным службам.
Основные функции
- Управление портами и службами (добавление/удаление)
- Настройка и управление сетевыми зонами (Zone)
- Правила на основе IP-адресов и сетей (Rich Rules)
- Применение правил времени выполнения и постоянных правил
- Настройка маскировки (Masquerading) и переадресации портов
Основные опции
firewall-cmd позволяет запрашивать и настраивать правила межсетевого экрана с помощью различных опций.
Применение и управление правилами
Запрос информации
Сгенерированная команда:
Комбинируйте команды.
Описание:
`firewall-cmd` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Различные примеры настройки и управления правилами межсетевого экрана с помощью firewall-cmd.
Проверка текущих активных зон и правил
firewall-cmd --list-all
Проверяет все текущие настройки времени выполнения для зоны по умолчанию (public).
Проверка всех настроек определенной зоны
firewall-cmd --zone=internal --list-all
Проверяет все настройки для указанной зоны (например, internal).
Добавление службы HTTP (время выполнения)
sudo firewall-cmd --zone=public --add-service=http
Временно разрешает службу HTTP в зоне public. Исчезнет после перезагрузки.
Добавление службы HTTP (постоянно)
sudo firewall-cmd --zone=public --add-service=http --permanent
Постоянно разрешает службу HTTP в зоне public. Для применения изменений требуется --reload.
Перезагрузка правил межсетевого экрана
sudo firewall-cmd --reload
Применяет все постоянно установленные правила к текущему межсетевому экрану времени выполнения.
Добавление порта 8080/tcp (постоянно)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
Постоянно разрешает порт TCP 8080 в зоне public. Требуется перезагрузка после применения.
Удаление службы SSH (постоянно)
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
Постоянно удаляет службу SSH из зоны public. Требуется перезагрузка после применения.
Применение всех постоянных правил
sudo firewall-cmd --reload
Немедленно применяет все постоянно измененные правила.
Установка
firewall-cmd является частью пакета firewalld. Он предустановлен в большинстве современных дистрибутивов Linux или может быть легко установлен.
CentOS/RHEL/Fedora
sudo dnf install firewalld
Установка firewalld в дистрибутивах на базе Red Hat.
Ubuntu/Debian
sudo apt install firewalld
Установка firewalld в дистрибутивах на базе Debian.
Запуск и активация службы
sudo systemctl start firewalld
sudo systemctl enable firewalld
После установки запустите службу firewalld и включите ее автоматический запуск при загрузке системы.
Советы и примечания
Важные моменты и полезные советы при использовании firewall-cmd.
Правила времени выполнения vs. постоянные правила
- Без опции `--permanent` правила применяются только к текущему сеансу и исчезают после перезагрузки.
- Для постоянного применения используйте `--permanent`, а затем примените изменения с помощью команды `firewall-cmd --reload`.
Понимание зон (Zone)
- firewalld управляет сетевыми интерфейсами, назначая их различным зонам безопасности. Каждая зона может иметь разный уровень безопасности.
- Зона по умолчанию — `public`, которая используется для большинства внешних подключений. Существуют различные зоны, такие как `home`, `internal`, `trusted`.
Использование имен служб
- Использование предопределенных имен служб, таких как `http`, `https`, `ssh`, вместо номеров портов (например, 80/tcp), улучшает читаемость и упрощает управление.
- Список доступных служб можно получить с помощью команды `firewall-cmd --get-services`.
Резервное копирование и тестирование
- Перед внесением важных изменений рекомендуется записать текущие настройки с помощью команды `firewall-cmd --list-all --zone=<zone>`.
- После применения изменений обязательно проверьте, что соответствующая служба работает корректно.