firewalld更改默认目标

时间:2017-10-06 17:24:29

标签: centos centos7 firewalld

来自firewalld手册页:

  

-permanent [-zone = zone] --set-target = target   设置永久区域的目标。 target是以下之一:default,ACCEPT,DROP,REJECT

默认目标是REJECT。是否可以将默认目标更改为DROP?如果没有,为什么默认选项如果总是REJECT?

我正在使用CentOS 7.4

我知道我可以以任何方式配置firewalld而无法更改默认目标,但我想知道如果可能的话如何更改它。

2 个答案:

答案 0 :(得分:1)

  

无法更改默认目标 - 它是硬编码的。可能包含“默认”,因此我们可能会在将来引入“--set-default-target”选项,但我只是在猜测。

https://github.com/firewalld/firewalld/issues/252

答案 1 :(得分:0)

关于firewalld(1)及其截至2020年的目标:

  • 可能的策略目标==继续,接受,删除,拒绝##策略仅在防火墙中> = 0.9.0
  • 可能的区域目标==默认,接受,下降,拒绝
  • 目标:DEFAULT == REJECT,允许icmp,如果默认为入口区域,则转发将遵循出口区域目标,可能会根据全局设置应用区域漂移

区域中的目标是在没有其他区域规则匹配的情况下将发送到的目标目标数据包,并且可以是

  • 接受
  • 删除/拒绝
  • 或者是...“默认”

'default'基本上是一个简单的拒绝,加上其他明智的设置,可以使默认设置更为合理,但是,至少可以说,它的名称选择有些不走运。

公认的答案在谈论重新定义目标目的地“默认”时有些误导。

然而,旨在在区域中设置其他目标的问题还是有可能的,这完全是:

firewall-cmd --permanent --zone=YOUR_ZONE_HERE --set-target=ACCEPT
firewall-cmd --reload

#some different oneliners to verify your config
#1.
(firewall-cmd --list-all;for i in $(firewall-cmd --get-active-zones|grep -v "^\s");do firewall-cmd --list-all --zone=$i;done)|grep -v ':\s*$'
#2.
fwstatus() { _fwstate=$(firewall-cmd --state 2>&1);printf "FIREWALLD=%s\n" "${_fwstate}";[[ "not running" == ${_fwstate} ]]&&return;_panicstate=$(firewall-cmd --query-panic);if [[ "on" == "${_panicstate}" ]];then printf "\e[41;1m";else printf "\e[32;1m";fi;printf "PANIC MODE=%s\e[m\n" "${_panicstate}";printf "LOCKDOWN=%s\n\n" "$(firewall-cmd --query-lockdown)";_defaultzone=$(firewall-cmd --get-default-zone);firewall-cmd --list-all-zones|sed 's/^'"$_defaultzone"'/& (default)/'|sed -n '/^'"$_defaultzone"'\|active/,/^$/p'|grep -v -e ':\s*$' -e icmp-block-inversion|awk 'NF>0'|grep --color -e$ -e^\\w.\\+;}&&fwstatus  ## show full firewalling state,only works when firewalld is running
#3.
firewall-cmd --zone=YOUR_ZONE_HERE --list-all