posts - 404,  comments - 115,  views - 118万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

firewalld是centos7开始提供的管理防火墙工具,提供了一个动态管理的防火墙,当然低层仍然调用的是 netfilter 。

一、区域(zone)
firewalld将网卡对应到不同的区域(zone),zone默认共有9个,block,dmz,drop,external,home,internal,public,trusted,work。

 

二、服务(services)
/usr/lib/firewalld/services目录中,保存了另一类配置文件,每个文件对应一项具体的网络服务,如 ssh 服务。
对应的配置文件中记录了各项服务所使用的 tcp/udp 端口,最新的 firewalld 中默认已经定义了 70 多种服务供我们使用。

修改服务的配置只需将/usr/lib/firewalld/services中的配置文件复制到/etc/firewalld/services中修改即可。

 

三、firewalld常用命令

安装

1
yum install firewalld

启动

1
systemctl start firewalld

停止

1
systemctl stop firewalld

查看版本

1
firewall-cmd --version

查看状态

1
firewall-cmd --state

重新载入

1
firewall-cmd --reload

查看firewalld支持的service

1
firewall-cmd --get-services

查看当前zone加载的service

1
firewall-cmd --list-services

查看区域信息

1
firewall-cmd --get-active-zone

查看活动的区域

1
firewall-cmd --get-active-zones

查看指定接口所属区域

1
firewall-cmd --get-zone-of-interface=ens33

查看默认区域

1
firewall-cmd --get-default-zone

设置默认区域

1
firewall-cmd --set-default-zone public

获取所有的区域

1
firewall-cmd --get-zones

拒绝所有包

1
firewall-cmd --panic-on

取消拒绝状态

1
firewall-cmd --panic-off

查看是否拒绝

1
firewall-cmd --query-panic

将接口添加到区域

1
firewall-cmd --zone=public --add-interface=eth0

将接口从区域中删除

1
firewall-cmd --zone=public --remove-interface=eth0

修改接口所属区域

1
firewall-cmd --zone=dmz --change-interface=eth0

查询区域中是否包含某接口

1
firewall-cmd --zone=public --query-interface=eth0

  

四、打开端口 (最常用)

查看区域打开的所有端口

1
firewall-cmd --zone=public --list-ports

加入一个端口到区域

1
firewall-cmd --zone=public --add-port=8080/tcp

从区域中删除一个端口

1
firewall-cmd --zone=public --remove-port=8080/tcp

永久生效加上 --permanent 然后 reload 防火墙
注意,如果加上 --permanent 参数后,会把该配置写入到指定的区域配置文件中,比如:/etc/firewalld/zones/public.xml

 

五、如何打开一个服务

打开一个服务,类似端口可视化,服务需要在配置文件中添加,/etc/firewalld/services目录下。

查询区域中启用的服务

1
firewall-cmd --zone=public --list-services

将ssh服务添加到public区域

1
firewall-cmd --zone=public --add-service=ssh

移除服务

1
firewall-cmd --zone=public --remove-service=ssh

  

六、如何设置端口转发

要使用端口转发,需开启防火墙伪装

1
firewall-cmd --add-masquerade --permanent

如:我们想把访问本机192.168.1.222的3306端口转发到192.168.1.111主机的3306端口上

1、先把本机的3306端口放开

1
firewall-cmd --permanent --zone=public --add-port=3306/tcp

2、把访问本地3306端口的请求转发到192.168.1.111主机的3306上

1
firewall-cmd --permanent --zone=public --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.111:toport=3306

这样当我们访问222主机的3306端口时,实际访问的是111主机的3306端口。

posted on   怀素真  阅读(1555)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示