centos firewalld更改默认目标

yks3o0rb  于 2022-11-08  发布在  其他
关注(0)|答案(2)|浏览(165)

从firewalld手册页:
-permanent [-zone=zone] --set-target=target设置永久区域的目标。target是以下值之一:默认值、接受、丢弃、拒绝
默认目标是REJECT。是否可以将默认目标更改为DROP?如果不可以,如果始终是REJECT,为什么存在默认选项?
我使用的是CentOS 7.4
我知道我可以用任何我喜欢的方式配置firewalld,而不能更改默认目标,但我想知道如果可能的话如何更改它。

du7egjpx

du7egjpx1#

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

  • 可能的政策目标
  • 继续
  • 接受
  • 跌落
  • 拒收
  • 策略仅在firewalld〉=0.9.0中
  • 可能的区域目标
  • 默认值
  • 接受
  • 跌落
  • 拒收
  • 目标:默认
  • 拒收
  • 允许ICMP
  • 如果入口区域为默认值,则转发将遵循出口区域目标
  • 可以根据全局设置应用区域漂移

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

  • 接受
  • 跌落
  • 拒收
  • 或者是...默认

'DEFAULT'基本上是一个简单的REJECT加上其他理智的东西为一个更明智的默认设置,它的名字选择有点不吉利。
公认的答案在某种程度上是误导性的,因为它谈到了重新定义目标目的地“默认”。
然而,问题应该是在一个区域中设置不同的“默认”目标是否可能,它完全是:

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
xmakbtuz

xmakbtuz2#

默认目标是不可能改变的--它是硬编码的。有可能包含了“default”,这样我们将来可能会引入一个“--set-default-target”选项,但我只是推测。
https://github.com/firewalld/firewalld/issues/252

相关问题