Шпаргалка по firewall-cmd

Шпаргалка по параметрам fierwalld-cmd или опять настройка firewalld

Вот достаточно полное, хоть и краткое описание параметров утилиты firewalld-cmd которые позволяют управлять межсетевым экраном firewalld. По традиции большинство опций начинаются с символов —.

Получение справки:

  • -h, —help — Возвращает описание опций firewall-cmd.
  • -V, —version — Возвращает версию firewalld.

Проверка статуса:

  • —state Проверяет активен ли демон firewalld. Возвращает код 0 если демон активен или NOT_RUNNING если демон не запущен. Так же выводит информацию в стандартный поток STDOUT

Перезагрузка:

  • —reload — Перезагружает правила межсетевого экрана с сохранением информации о состоянии.
  • —complete-reload — Полностью перезагружает межсетевой экран, в том числе перезагружает модули ядра (netfilter)/ Очевидно что все соединения будут сброшены и временные правила потеряны. Эта перезагрузка для особо неприятных случаев.

Паника (внештатный режим):

  • —panic-on — Включае режим паники. Все входящие и исходящие пакеты без исключения отбрасываются, все соединения со временем разрываются. Идеально подходит на случай обнаружения взлома или иных серьёзных проблем.
  • —panic-off — Отключить режим паники. Брэндмауер начинает работать в штатном режиме, некоторые соединения могут быть восстановлены, если режим паники длился меньше время смерти для этих соединений.
  • —query-panic — Возвращает 0 если режим паники включен и 1 если выключен.

Опции обработки зон:

  • —get-default-zone — Возвращает зону по умолчанию для соединений и интерфейсов (Изначально по умолчанию public).
  • —set-default-zone=<zone> — Устанавливает зону по умолчанию для соединений и интерфейсов (Для которых зона не была установлена). Это постоянные изменения.
  • —get-zones — Возвращает предопределенных зон служб используя пробелы в качестве разделителя.
  • —get-services — Возвращает список стандартных служб используя пробелы в качестве разделителя.
  • —get-icmptypes — Возвращает список предопределенных типов ICMP используя пробелы в качестве разделителя
  • —get-active-zones — Возвращает список активных в настоящее время зон вместе с интерфейсами в этих зонах в формате:
    <zone1>: <interface1> <interface2> ..
    <zone2>: <interface3> ..
  • —get-zone-of-interface=<interface> — Возвращает зону которой пренадлежит интерфейс <interface> или ничего, если интерфейсу не назначена зона.
  • —list-all-zones — Возвращает список всех действий во всех зонах в формате:
    <zone>
    interfaces: <interface1> ..
    services: <service1> ..
    ports: <port1> ..
    forward-ports: <forward port1> ..
    icmp-blocks: <icmp type1> ..

Опции обработки интерфейсов:

Эти опции относятся только к одной конкретной зоне. Если используется —zone=<zone>, то они влияют на зону <zone>. Если —zone=<zone> опущен, то опции влияют на зону «по умолчанию» (смотрите —get-default-zone). Получить список предопределенных зон можно используя —get-zones. Имя интерфейса это строка длинной не более 16 символов, оно не может содержать », ‘/’, ‘!’ и ‘*’. [—zone=<zone>]

  • -list-interfaces — Возвращает список интерфейсов которые пренадлежат к зоне <zone>. Если параметр —zone опущен, то используется зона «по умолчанию». [—zone=<zone>]
  • —add-interface=<interface> — Добавляет интерфейс <interface> в зону <zone>. Если параметр —zone опущен, то используется зона «по умолчанию».
  • [—zone=<zone>] { —change-interface=<interface> | —change —zone=<interface> } — Изменить зону интерфейса<interface> принадлежащего зоне <zone>. Если параметр —zone опущен, то используется зона «по умолчанию». Если старая и новая зона совпадают то команда ничего не делает и не возвращает ошибки. Если интерфейс не принадлежал ранее к этой зоне то он будет в неё добавлен, как при использовании параметра —add-interface.
  • [—zone=<zone>]—query-interface=<interface> — Возвращает 0 если интерфейс <interface> принадлежит к зоне <zone> и 1 если не пренадлежит.
  • [—zone=<zone>]—remove-interface=<interface> — Удаляет интерфейс<interface> из зоны <zone>.Если параметр —zone опущен, то используется зона «по умолчанию»

.Опции настройки и запроса зон:

Чтобы использовать эти параметры следует знать какие действия и когда можно использовать. Об этом написано ниже.

  • [—zone=<zone>] —add-ACTION [—timeout=<seconds>] — Добавить действиеACTION для зоны <zone>. Эта опция может быть указана несколько раз. Если параметр —zone опущен, то используется зона «по умолчанию».Чтобы получить зону по умолчанию используется —get-default-zone. Если указан тайм-аут то действие ACTION будет активно указанное количество секунд и затем удалено.
  • [—zone=<zone>] —remove-ACTION — Удалить действие ACTION из зоны<zone>. Эта опция может быть указан несколько раз. Если параметр —zone опущен, то используется зона «по умолчанию». Если действие было добавлено с указанием тайм-аута, оно всё равно будет удалено.
  • [—zone=<zone>] —query-ACTION — Возвращает 0 если действие ACTION было добавлено для зоны <zone> и 1 в противном случае. Если параметр —zone опущен, то используется зона «по умолчанию».
  • [—zone=<zone>] —add-masquerade [—timeout=<seconds>] — Включить маскарад для зоны<zone>. Если параметр —zone опущен, то используется зона «по умолчанию». Если указан тайм-аут, маскарадинг будет активным в течение указанного количества секунд.
  • [—zone=<zone>] —remove-masquerade — Отключить маскарад для зоны <zone>. Если параметр —zone опущен, то используется зона «по умолчанию». Если маскарадинг был включен с тайм-аут, он всё равно будет отключен.
  • [—zone=<zone>] —query-masquerade — Возвращает 0 если маскарадинг включен для зоны <zone> и 1 в противном случае.Если параметр —zone опущен, то используется зона «по умолчанию».
  • [—zone=<zone>] —list-services — Возвращает список сервисов добавлены в зону <zone> разделенный пробелами. Если параметр —zone опущен, то используется зона «по умолчанию». Чтобы получить список всех предустановленных сервисов используйте —get-services.
  • [—zone=<zone>] —list-ports— Возвращает список портов добавленных в зону <zone> разделённый пробелами.Списрок имеет формат: <port>[-<port>]/<protocol>, где в качестве порта может быть указан диапазон портов.Если параметр —zone опущен, то используется зона «по умолчанию».
  • [—zone=<zone>]—list-icmp-blocks — Список типов ICMP пакетов добавлнных в зону <zone> разделенный пробелами. Если параметр —zone опущен, то используется зона «по умолчанию». Для получения списка всех предопределенных типов ICMP используйте —get-icmptypes.
  • [—zone=<zone>] —list-forward-ports — Возвращает список всех «проброшенных» портов добавленных в зону<zone>.Если параметр —zone опущен, то используется зона «по умолчанию».
  • [—zone=<zone>] —list-all — Возвращает список всех действий добавленных или включенных в зону <zone>. Если параметр —zone опущен, то используется зона «по умолчанию».

Варианты действий для использования с опциями настройки и запроса зон:

Эти действия (ACTION) используются в —add-ACTION, —remove-ACTION и —query-ACTION предыдущего раздела.

  • service=<service> — Использовать одну из стандартных служб. Для получения списка всех стандартных служб используйте —get-services.
  • port=<port>[-<port>]/<protocol> — Использовать порт <port> или диапазон портов <port>-<port> для работы протоколы. Порт — это номер порта от 1 до 65535. Протокол может быть TCP или UDP.
  • icmp-block=<icmptype> — .Использовать предопределенные типы ICMP пакетов. Для получения списка всех предопределенных типов ICMP используйте —get-icmptypes.
  • forward-port=port=<port>[-<port>]:proto=<protocol>:toport=<port>[-<port>] — Использовать порт при переадресации пакетов. Указываются исходный и целевой порты или диапазоны портов для протокола. Протоколом может быть UDP или TCP. Проброс осуществляется с локального порта port на локальный toport.
  • forward-port=port=<port>[-<port>]:proto=<protocol>:toaddr=<address> — Проброс локального порта port в тот же порт на хосте toaddr.
  • forward-port=port=<port>[-<port>]:proto=<protocol>:toport=<port>[-<port>]:toaddr=<address> — Проброс локального порта port в порт toport на хосте

Постоянные параметры:

Постоянные параметры будут хранится в настройках и не исчезнут после перезагрузки. Так же их изменение вступят в силу только после перезагрузки или перезапуска системы.(Ключевое слово тут —permanent) Можно использовать:

  • —permanent { —get-zones | —get-services | —get-icmptypes }
  • —permanent [—zone=<zone>] { —list-services | —list-ports | —list-icmp-blocks | —list-forward-ports }
  • —permanent [—zone=<zone>] { —add-ACTION | —remove-ACTION | —query-ACTION }
  • —permanent [—zone=<zone>] { —add-masquerade | —remove-masquerade |—query-masquerade }

Результат такой же как и при использовании временных параметров, только постоянный. 🙂

Ещё опции:

Эти опции служат для управления правилами на более низком уровне.

  • —direct—passthrough { ipv4 | ipv6 | eb } <args> — Передача команд через фаервол. Аргументом <args> могут быть любые агрументы командной строки допрустимые в iptables, ip6tables и ebtables.
  • —direct—add-chain { ipv4 | ipv6 | eb } <table> <chain> — Добавить новую цепочку <chain> в таблицу <table>.
  • —direct—remove-chain { ipv4 | ipv6 | eb } <table> <chain> — Удалить цепочку <chain> из таблицы <table>.
  • —direct—query-chain { ipv4 | ipv6 | eb } <table> <chain> — Возвращает 0 если цепочка с именем <chain> присутствует в таблице <table> и 1 в противном случае.
  • —direct—get-chains { ipv4 | ipv6 | eb } <table> — Возвращает все цепочки содержащиеся в таблице <table> в виде списка разделенного пробелами.
  • —direct—add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args> — Добавить правило <args> в цепочку <chain> таблицы <table>.Приоритет используется для задания позиции правила в цепи. Правило с приоритетом 0 добавляется на самый верх цепи. Чем больше приоритет, тем ниже правило расположено в цепочке. Порядок расположения правил с одинаковым приоритетом может менятся и поэтому не предсказуем. Не стоит назначать одинаковый приоритет правилам.
  • —direct—remove-rule { ipv4 | ipv6 | eb } <table> <chain> <args> -Удалить правило <args> из цепочки <chain> в таблице <table>.
  • —direct—query-rule { ipv4 | ipv6 | eb } <table> <chain> <args> — Возвращает 0 если правило <args> существует в цепочке <chain> таблицы <table> и 1 в противном случае.
  • —direct—get-rules { ipv4 | ipv6 | eb } <table> <chain> — Возвращает все правила цепочки <chain> в таблице <table> в виде строк.
Запись опубликована в рубрике Centos, Linux, Networking. Добавьте в закладки постоянную ссылку.