小说网站防盗做的好,网站中新颖的功能,如何开一家网络推广公司,网站服务器下行很多是什么意思安装firewalld 我使用的操作系统是debian 12,并没有安装firewalld。 通过apt install firewalld安装firewalld firewalld 本身是一个服务#xff08;firewalld.service#xff09;#xff0c;可以通过 systemctl 进行启动、停止和重启#xff0c;而iptables 本身并不是一个…安装firewalld 我使用的操作系统是debian 12,并没有安装firewalld。 通过apt install firewalld安装firewalld firewalld 本身是一个服务firewalld.service可以通过 systemctl 进行启动、停止和重启而iptables 本身并不是一个服务而是一个用户空间工具被用来配置底层的防火墙规则。 通过firewall-cmd --state可以看到firewall已经是running状态了 firewalld配置文件
默认和回退配置
/usr/lib/firewalld 目录包含了Firewalld提供的默认和回退配置这些配置是关于ICMP类型icmptypes、服务services和区域zones的。这些文件是随着firewalld包一起安装的并且通常不应该被修改因为当firewalld包更新时这些更改可能会丢失。
如果你需要添加额外的ICMP类型、服务或区域你可以通过安装额外的包或者在这个目录下创建新的文件来实现。
系统特定配置
/etc/firewalld 目录用于存储系统或用户特定的配置。这些配置可能由系统管理员创建或者通过Firewalld的配置界面进行定制也可能是手动创建的。这些文件会覆盖默认配置文件中的设置。
手动更改预定义配置
如果你想要手动更改预定义的ICMP类型、区域或服务的设置你应该从默认配置目录/usr/lib/firewalld复制相应的文件到系统配置目录/etc/firewalld的相应位置并进行相应的修改。
默认配置和firewalld.conf
如果/etc/firewalld目录不存在或者该目录下没有任何配置那么Firewalld将使用默认配置并且对于firewalld.conf文件它通常位于/etc/firewalld/目录下也将使用默认设置。 Runtime 和Permanent配置
运行时配置Runtime Configuration
运行时配置是实际生效的配置它直接应用于内核中的防火墙。当Firewalld服务启动时它会加载永久配置并将其作为当前的运行时配置。对运行时配置所做的更改不会自动保存到永久配置中。如果Firewalld服务停止运行时配置将会丢失。通过执行firewalld服务的重新加载reload操作会将永久配置重新加载为新的运行时配置。在重新加载后之前更改的策略也会被恢复。
永久配置Permanent Configuration
永久配置存储在配置文件中每次系统启动或Firewalld服务重新加载/重启时它都会被加载并成为新的运行时配置。永久配置文件通常位于/etc/firewalld/目录下
firewall-cmd --permanent [RULE]
firewall-cmd --reload
运行时runtime)修改规则马上生效,但是临时生效
持久配置permanent 修改后需要重载才会生效
注意一旦使用了--permanent会将配置写入到/etc/firewalld/{services,zones}/*.xml对应的文件中配置完成后一定要reload否则只能待防火墙重启后这些配置才能生效。
从运行时迁移到永久Runtime to Permanent
一旦在运行时配置中完成了所需的防火墙设置并且它正在正常工作可以将这些更改从运行时迁移到永久配置中以确保在系统重启或Firewalld服务重新加载/重启后这些更改仍然生效。可以使用firewall-config图形界面工具或firewall-cmd命令行工具来执行此操作。
firewall-cmd --runtime-to-permanent
注意此命令可能需要与--reload选项一起使用以确保所有更改都立即生效并且不丢失任何状态信息。
如果迁移后的防火墙设置不工作可以通过简单地重新加载或重启Firewalld服务来重新应用有效的永久配置。
注意事项
在对防火墙配置进行更改时建议先在运行时配置中进行测试以确保更改不会对系统的正常运行造成负面影响。一旦对运行时配置确认无误再将其迁移到永久配置中。在执行任何更改之前最好备份现有的配置文件以防万一需要回滚更改。
firewalld.conf配置文件
rootdebian:~# cat /etc/firewalld/firewalld.conf
# firewalld config file# default zone
# The default zone used if an empty zone string is used.
# Default: public
DefaultZonepublic
#这定义了默认的防火墙区域。当一个网络接口或服务没有被明确指定到一个特定的区域时它将使用这个默认区域。在这个例子中默认区域是 public# Clean up on exit
# If set to no or false the firewall configuration will not get cleaned up
# on exit or stop of firewalld.
# Default: yes
CleanupOnExityes
#当 firewalld 退出或停止时这个选项决定了是否要清理防火墙配置。设置为 yes 表示在退出时会清理配置而 no 或 false 则表示不会清理。# Clean up kernel modules on exit
# If set to yes or true the firewall related kernel modules will be
# unloaded on exit or stop of firewalld. This might attempt to unload
# modules not originally loaded by firewalld.
# Default: no
CleanupModulesOnExitno
#这个选项决定了在 firewalld 退出或停止时是否卸载与防火墙相关的内核模块。
设置为 yes 或 true 意味着将尝试卸载这些模块但请注意这可能会尝试卸载不是由 firewalld 最初加载的模块。
默认情况下这个选项是关闭的no以避免意外卸载其他服务或功能所需的模块。# Lockdown
# If set to enabled, firewall changes with the D-Bus interface will be limited
# to applications that are listed in the lockdown whitelist.
# The lockdown whitelist file is lockdown-whitelist.xml
# Default: no
Lockdownno
#如果启用设置为 enabled那么通过 D-Bus 接口进行的防火墙更改将仅限于在锁定白名单由 lockdown-whitelist.xml 文件定义中列出的应用程序。这增加了安全性但可能会限制某些应用程序的功能。# IPv6_rpfilter
# Performs a reverse path filter test on a packet for IPv6. If a reply to the
# packet would be sent via the same interface that the packet arrived on, the
# packet will match and be accepted, otherwise dropped.
# The rp_filter for IPv4 is controlled using sysctl.
# Note: This feature has a performance impact. See man page FIREWALLD.CONF(5)
# for details.
# Default: yes
IPv6_rpfilteryes
#这启用了 IPv6 的反向路径过滤测试。当数据包的回复将通过相同的接口发送即数据包到达的接口时数据包将被接受否则将被丢弃。这有助于防止某些类型的 IP 欺骗攻击。# IndividualCalls
# Do not use combined -restore calls, but individual calls. This increases the
# time that is needed to apply changes and to start the daemon, but is good for
# debugging.
# Default: no
IndividualCallsno
#这个选项决定了 firewalld 是否应该使用单独的调用而不是组合的 -restore 调用来应用更改或启动守护进程。设置为 yes 会增加应用更改和启动守护进程所需的时间但有助于调试。# LogDenied
# Add logging rules right before reject and drop rules in the INPUT, FORWARD
# and OUTPUT chains for the default rules and also final reject and drop rules
# in zones. Possible values are: all, unicast, broadcast, multicast and off.
# Default: off
LogDeniedoff
#这个选项决定了是否应为默认规则和区域中的最终拒绝和丢弃规则在 INPUT、FORWARD 和 OUTPUT 链中添加日志记录规则。可能的值包括 all记录所有被拒绝的数据包、unicast仅记录单播被拒绝的数据包、broadcast仅记录广播被拒绝的数据包、multicast仅记录多播被拒绝的数据包和 off不记录。# FirewallBackend
# Selects the firewall backend implementation.
# Choices are:
# - nftables (default)
# - iptables (iptables, ip6tables, ebtables and ipset)
# Note: The iptables backend is deprecated. It will be removed in a future
# release.
FirewallBackendnftables
#这个选项决定了 firewalld 使用的后端实现。目前有两个选择nftables默认和 iptables包括 iptables, ip6tables, ebtables 和 ipset。注意iptables 后端已被弃用并将在未来的版本中移除。在大多数情况下nftables 是更好的选择因为它提供了更强大和灵活的功能集。# FlushAllOnReload
# Flush all runtime rules on a reload. In previous releases some runtime
# configuration was retained during a reload, namely; interface to zone
# assignment, and direct rules. This was confusing to users. To get the old
# behavior set this to no.
# Default: yes
FlushAllOnReloadyes
#这个选项决定了在重新加载 firewalld 配置时是否要清除所有运行时规则。在以前的版本中一些运行时配置如接口到区域的分配和直接规则在重新加载时会被保留这可能会导致用户混淆。
设置为 yes默认意味着在重新加载时将清除所有运行时规则从而获得更清晰的配置状态。# RFC3964_IPv4
# As per RFC 3964, filter IPv6 traffic with 6to4 destination addresses that
# correspond to IPv4 addresses that should not be routed over the public
# internet.
# Defaults to yes.
RFC3964_IPv4yes
#这个选项决定是否根据 RFC 3964 过滤具有 6to4 目标地址的 IPv6 流量这些地址对应于不应通过公共互联网路由的 IPv4 地址。
设置为 yes默认意味着将执行这种过滤以提高安全性。firewalld配置命令
只有firewalld服务启动了才能使用相关工具
firewall-config(图形界面) firewall-cmd
这里我们主要介绍命令行方式的配置
再次回顾一下friewalld的配置有两种状态 运行时runtime)修改规则马上生效,但是临时生效 持久配置permanent 修改后需要重载才会生效
firewall-cmd --permanent [RULE]
firewall-cmd --reload
fmrewall-cmd常用查询参数
firewall-cmd--permanent --配置写入到配置文件否则临时马上生效--reload --重载配置文件永久生效--get-default-zone --获取默认区域--get-zones --获取所有可用的区域--get-active-zones --获取当前激活活跃的区域--list-services --显示指定区域内允许访问的所有服务--list-ports --显示指定区域内允许访问的所有端口号--zonepublic --query-port22/tcp --查询指定端口--list-all --列出激活使用的区域的配置--list-all --zonework --查看区域配置信息--list-all-zones --列出所有区域的配置--get-zone-of-interface --获取指定接口所在的区域--list-icmp-blocks --显示指定区域内拒绝访问的所有ICMP类型--list-protocols --列出在指定区域中允许通过的协议--list-sources --查询放通IP段--get-target --获取区域中的默认target--get-services --查看所有服务 如上图所示通过--list-all-zones命令获取所有zone信息 查看zone信息 通过--info-zone zone名称可以显示对应zone的信息 public这是zone的名称public zone是 firewalld 中的一个默认zone。target: default这定义了当流量不符合任何其他规则时如何处理它。default 通常表示使用zone的默认目标可能是 ACCEPT、DROP、REJECT 等但这取决于 firewalld 的配置和版本。icmp-block-inversion: no这表示ICMP的阻塞规则不是反转的。如果设置为 yes那么未明确允许的ICMP类型将被阻塞而不是未明确阻塞的ICMP类型被允许。interfaces: 这里应该列出与该zone关联的网络接口名称。sources: 这里应该列出允许或拒绝访问的源IP地址或网络。services: dhcpv6-client ssh这定义了允许通过此zone的服务包括DHCPv6客户端和SSH。ports, protocols: 这些字段用于定义允许通过此zone的特定端口或协议。forward: yes这表示允许通过此zone的数据包转发。masquerade: 这个选项用于控制是否启用IP伪装NAT如果允许它将允许 IP 转发它可以让你的计算机作为一个路由器forward-ports, source-ports: 这些字段用于定义端口转发规则。icmp-blocks: 这里应该列出要阻塞的ICMP消息类型。rich rules: 富规则即更细致、更详细的防火墙规则策略它的优先级在所有的防火墙策略中也是最高的。
firewalld应急模式
打开应急模式可切断全部网络通信来应对网络攻击而不用像之前那样通过物理拔除网线来进行断网操作防止了系统在多网口环境中一次性插拔所有网线可能带来的混乱以及由此引发的系统恢复后延续问题。 –panic-on 打开应急模式(切断全部流量)
firewall-cmd --panic-on 开启应急模式阻断所有网络连接–panic-off 关闭应急模式
firewall-cmd --panic-off 关闭应急模式–query-panic 查询应急模式状态
firewall-cmd --query-panic 查看应急模式的状态