redhat 7.x 的防火墙软件firewall 介绍
-
zone 的概念。firewall 一般有9个zone ,配置文件都在 /usr/lib/firewalld/zones/ 里面。
系统的配置文件目录就在 /usr/lib/firewalld 这个目录
用户的配置文件目录再 /etc/firewalld
在具体介绍zone之前学生先给大家介绍几个相关的名词,因为如果不理解这几个名词zone就无从入手。
-
target:目标,这个前面学生也已经给大家介绍过了,可以理解为默认行为,有四个可选值:default、ACCEPT、%%REJECT%%、DROP,如果不设置默认为default。
ACCEPT
:通过这个包。%%REJECT%%
:拒绝这个包,并返回一个拒绝的回复。DROP
:丢弃这个包,不回复任何信息。default
:不做任何事情。 -
service:这个在前面学生已经给大家解释过了,他表示一个服务
-
port:端口,使用port可以不通过service而直接对端口进行设置
-
interface:接口,可以理解为网卡
-
source:源地址,可以是ip地址也可以是ip地址段
-
icmp-block:icmp报文阻塞,可以按照icmp类型进行设置
-
masquerade:ip地址伪装,也就是按照源网卡地址进行NAT转发
-
forward-port:端口转发
-
rule:自定义规则
-
-
firewall 常用命令
firewall 的常用命令
firewall-cmd --list-all #查看firewall的所有配置
firewall-cmd --reload #修改了配置之后平滑启动
zone 相关:
firewall-cmd --get-zone #显示支持的区域列表
firewall-cmd --list-all-zones #列出全部区域启用的特性
firewall-cmd --get-default-zone #查看默认的zone
firewall-cmd --get-active-zone #查看当前活跃的zone
firewall-cmd --zone=XX --list-all #显示XX区域详情
# firewall-cmd --set-default-zone=work //设定默认zone
# firewall-cmd --get-zone-of-interface=ens33 //查指定网卡
# firewall-cmd --zone=public --add-interface=lo //给指定网卡设置zone
# firewall-cmd --zone=dmz --change-interface=lo //针对网卡更改zone
# firewall-cmd --zone=dmz --remove-interface=lo //针对网卡删除zone
# firewall-cmd --get-active-zones //查看系统所有网卡所在的zone
service 相关:
firewall-cmd --get-services #显示支持的服务
firewall-cmd --list-services #显示默认zone开启的服务,如果要查具体zone,加上参数--zone=XX
firewall-cmd --zone=public --add-service=ssh --permanent #在public区里面添加ssh服务,永久生效,一般后面需要在执行 --reload -
例如,我在设置防火墙的时候,输出firewall-cmd ,按两下tab键,没有显示选项命令。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通