前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux firewalld 的用法

Linux firewalld 的用法

作者头像
2546610233
发布2024-05-08 17:18:50
870
发布2024-05-08 17:18:50
举报
文章被收录于专栏:误入歧途误入歧途

大乌龙事件之防火墙作祟: 在我的初始化环境中 selinux、iptables、firewalld 是关闭的, 莫名的firewalld 是没有关闭的这是我在安装完docker后一段时间后部署jenkins才发现的,当时在排错折腾了一下午,从防火墙,负载均衡,jenkins本身服务,docker没想到firewalld开启了,我说服务器内正常运行一直没找到是什么给拦截了. 没办法关了 firewalld docker就的流量就嘎了,所以重新学习一下 Firewalld.

firewalld 是 Linux 中的一个动态防火墙管理工具,它允许配置和管理 iptables 规则。以下是一些常见的 firewalld 命令和用法:

检查 firewalld 状态:

代码语言:javascript
复制
sudo systemctl status firewalld

启动 firewalld 服务:

代码语言:javascript
复制
sudo systemctl start firewalld

停止 firewalld 服务:

代码语言:javascript
复制
sudo systemctl stop firewalld

重新启动 firewalld 服务:

代码语言:javascript
复制
sudo systemctl restart firewalld

设置 firewalld 开机启动:

代码语言:javascript
复制
sudo systemctl enable firewalld

禁用 firewalld 开机启动:

代码语言:javascript
复制
sudo systemctl disable firewalld

查看所有可用的服务:

代码语言:javascript
复制
sudo firewall-cmd --get-services

查看当前活动的区域:

代码语言:javascript
复制
sudo firewall-cmd --get-active-zones

查看指定区域的详细信息:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --list-all

开放端口:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

允许某个服务:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

如果想要移除 HTTP 服务,命令可能如下:

代码语言:javascript
复制
sudo firewall-cmd --remove-service=http --permanent
sudo firewall-cmd --reload

这样,HTTP 服务将从 firewalld 的配置中移除。确保在修改防火墙规则之前了解其影响,并确保不会因此而失去对系统的访问。

封锁指定 IP 地址:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.2" reject' --permanent
sudo firewall-cmd --reload

移除端口或服务:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload

查看 firewalld 版本:

代码语言:javascript
复制
sudo firewall-cmd --version

这些命令提供了一些基本的 firewalld 操作。请根据的需求调整区域、端口和服务等设置。务必小心地配置防火墙规则,以确保系统的安全性。

--zone 选项用于指定在 firewalld 防火墙中应用规则的区域。每个区域代表一个网络区域或一个网络接口,并定义了一组预定义的规则集。不同的区域可以应用不同的防火墙规则,允许根据网络环境的不同设置不同的安全策略。

以下是一些常见的预定义区域:

  1. public: 适用于公共网络,比如互联网。
  2. internal: 适用于内部网络,通常是信任的本地网络。
  3. external: 适用于外部网络,通常是不受信任的外部网络。
  4. dmz: 适用于 DMZ(隔离区)网络,通常用于放置公共可访问的服务。

可以在规则中使用 --zone 选项来指定要应用规则的区域。例如,要在 public 区域中打开端口 80,可以执行以下命令:

代码语言:javascript
复制
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

这样,端口 80 将在 public 区域中永久地打开。请注意,添加 --permanent 选项表示这是永久性修改,然后需要通过 --reload 命令重新加载防火墙规则,以使更改生效。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com