Linux 防火墙配置指南:firewalld 端口管理应用案例(二十个实列)

   

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧🐧Linux高级管理专栏:点击!

🔐Linux中firewalld防火墙点击!

⏰️创作时间:2024年7月5日9点11分

🀄️文章质量:95分

​​


目录

案例1: 开放单个端口

案例2: 开放端口范围

案例3: 开放UDP端口

案例4: 关闭特定端口

案例5: 查询特定端口是否开放

案例6: 列出所有开放的端口

案例7: 开放多个端口

案例8: 在特定区域开放端口

案例9: 临时开放端口(重启后失效)

案例10: 将端口转发到另一个IP

案例11: 在特定区域临时开放端口

案例12: 拒绝所有入站连接

案例13: 添加特定服务的规则

案例14: 移除特定服务的规则

案例15: 设置默认区域

案例16: 列出特定区域中的所有端口

案例17: 将网络接口分配到特定区域

案例18: 永久封禁某个IP地址

案例19: 允许特定IP地址的所有流量

案例20: 在特定区域启用端口转发

总结


前言

在本指南中,我们将通过十个实际案例,详细介绍如何使用 firewalld 管理和配置系统端口。无论您是刚开始学习 Linux 防火墙配置,还是希望深入了解 firewalld 的高级功能,这些案例都将为您提供实用的指导和参考。让我们一起探索如何确保系统安全并优化网络访问吧!

案例1: 开放单个端口

如果需要开放一个特定的端口,例如 8080 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=8080/tcp

  

案例2: 开放端口范围

要开放一系列端口,例如从 5000 到 5500 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=5000-5500/tcp

  

案例3: 开放UDP端口

如果需要开放一个 UDP 端口,例如 123 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=123/udp

  

案例4: 关闭特定端口

如果需要关闭一个已经开放的端口,例如 8080 端口,可以使用以下命令:

firewall-cmd --permanent --remove-port=8080/tcp

  

案例5: 查询特定端口是否开放

要查询某个端口是否已经开放,例如 80 端口,可以使用以下命令:

firewall-cmd --query-port=80/tcp

  

案例6: 列出所有开放的端口

如果需要查看系统中所有已经开放的端口,可以使用以下命令:

firewall-cmd --list-ports

  

案例7: 开放多个端口

可以一次性开放多个端口,例如 3000、4000 和 5000 端口,可以使用以下命令:

firewall-cmd --permanent --add-port={3000/tcp,4000/tcp,5000/tcp}

  

案例8: 在特定区域开放端口

如果需要在特定区域(例如 public 区域)开放一个端口,例如 8888 端口,可以使用以下命令:

firewall-cmd --zone=public --permanent --add-port=8888/tcp

  

案例9: 临时开放端口(重启后失效)

如果只需要临时开放一个端口,例如 9999 端口,可以使用以下命令:

firewall-cmd --add-port=9999/tcp

  

案例10: 将端口转发到另一个IP

如果需要将一个端口的流量转发到另一个 IP 地址,例如将 80 端口的流量转发到 192.168.1.100 的 8080 端口,可以使用以下命令:

firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100

  

案例11: 在特定区域临时开放端口

如果您希望在特定区域临时开放一个端口,可以使用以下命令。此更改将在系统重启后失效:

firewall-cmd --zone=public --add-port=7070/tcp

  

案例12: 拒绝所有入站连接

为了提高系统安全性,有时需要拒绝所有入站连接。可以使用以下命令来完成此操作:

firewall-cmd --panic-on

要取消此设置并恢复正常操作,请使用:

firewall-cmd --panic-off

  

案例13: 添加特定服务的规则

Firewalld 支持通过服务名来添加规则。例如,如果您希望开放 HTTP 服务,可以使用以下命令:

firewall-cmd --permanent --add-service=http

  

案例14: 移除特定服务的规则

如果您不再需要某个服务的规则,可以将其移除。例如,要移除 HTTP 服务的规则:

firewall-cmd --permanent --remove-service=http

  

案例15: 设置默认区域

默认区域是当接口未绑定到特定区域时所使用的区域。您可以通过以下命令设置默认区域为 public:

firewall-cmd --set-default-zone=public

案例16: 列出特定区域中的所有端口

要查看某个区域中所有开放的端口,可以使用以下命令。例如,列出 public 区域中的所有端口:

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

  

案例17: 将网络接口分配到特定区域

为了更好地管理网络流量,可以将特定的网络接口分配到指定区域。例如,将 eth0 接口分配到 public 区域:

firewall-cmd --zone=public --change-interface=eth0

  

案例18: 永久封禁某个IP地址

如果需要永久封禁来自某个 IP 地址的所有流量,可以使用以下命令:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

  

案例19: 允许特定IP地址的所有流量

相反,如果需要允许来自某个 IP 地址的所有流量,可以使用以下命令:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'

  

案例20: 在特定区域启用端口转发

在某些情况下,您可能需要在特定区域内启用端口转发。例如,在 public 区域启用端口 8080 到 80 的转发:

firewall-cmd --zone=public --permanent --add-forward-port=port=80:proto=tcp:toport=8080

  

请记住,每次修改防火墙规则后,都需要重新加载防火墙配置以使更改生效:

firewall-cmd --reload
通过以上这些实例,您可以更加灵活地使用 firewalld 管理和配置系统端口,确保系统的安全性和网络的高效访问。

总结

这些例子涵盖了常见的服务器角色和应用场景。在实际操作中,我们还需要根据具体的网络拓扑、安全策略和应用需求来精细调整防火墙规则。例如,可能需要限制特定IP地址或网段的访问,设置端口转发,或者配置更复杂的富规则等。

此外,作为一个经验丰富的Linux运维工程师,我还建议定期审核防火墙规则,移除不再需要的规则,并使用如firewall-cmd --list-all这样的命令来检查当前的防火墙配置,确保系统安全性和性能的平衡。

相关推荐

  1. Linux 防火墙配置【iptable,firewalld,ufw】

    2024-07-10 05:02:03       21 阅读
  2. Linux防火墙firewalld

    2024-07-10 05:02:03       25 阅读
  3. Linux中的防火墙————Firewalld

    2024-07-10 05:02:03       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 05:02:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 05:02:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 05:02:03       58 阅读
  4. Python语言-面向对象

    2024-07-10 05:02:03       69 阅读

热门阅读

  1. Python程序打包成EXE文件指南

    2024-07-10 05:02:03       25 阅读
  2. MongoDB 全文检索

    2024-07-10 05:02:03       23 阅读
  3. threejs

    2024-07-10 05:02:03       24 阅读
  4. python 进阶教程--PIL图像处理

    2024-07-10 05:02:03       26 阅读
  5. CSS 图标:简化设计,优化用户体验

    2024-07-10 05:02:03       29 阅读
  6. C# 中使用模式匹配 备忘

    2024-07-10 05:02:03       26 阅读
  7. 【selenium】元素等待

    2024-07-10 05:02:03       21 阅读
  8. HTMLtable表转C#DataTable

    2024-07-10 05:02:03       33 阅读
  9. WPF设置全局样式

    2024-07-10 05:02:03       26 阅读
  10. AJAX学习笔记上(学习自用)

    2024-07-10 05:02:03       30 阅读
  11. linux之段错误的分析

    2024-07-10 05:02:03       26 阅读