Linux防火墙怎么设置_Linux防火墙设置的详细步骤与技巧

发布时间 - 2025-10-09 00:00:00    点击率:
firewalld是Linux主流防火墙工具,通过区域管理网络流量。使用systemctl启动服务后,可配置public等区域规则;利用firewall-cmd开放端口(如80/tcp)或添加内置服务(http/https),需--permanent参数确保持久生效,并执行--reload重载规则。可设置信任网段(192.168.1.0/24)、临时开放SSH端口及rich规则限制特定IP访问数据库端口,避免误封关键服务,兼顾安全与灵活性。

Linux系统中的防火墙主要用于控制进出系统的网络流量,保障服务器安全。目前主流的Linux发行版(如CentOS 8、Ubuntu 20.04及以上)大多使用firewalldiptables作为防火墙管理工具。本文以firewalld为例,介绍Linux防火墙设置的详细步骤与实用技巧。

查看防火墙状态

在配置防火墙前,先确认当前防火墙服务是否运行:

  • systemctl status firewalld —— 查看firewalld服务状态
  • firewall-cmd --state —— 检查防火墙是否正在运行

如果服务未启动,可使用以下命令启用并设置开机自启:

  • systemctl start firewalld
  • systemctl enable firewalld

管理端口和服务

firewalld通过“区域(zone)”管理网络连接,常用区域有public、trusted、drop等。默认区域通常为public。

开放特定端口示例:

  • firewall-cmd --permanent --add-port=80/tcp —— 开放TCP 80端口
  • firewall-cmd --permanent --add-port=443/tcp —— 开放HTTPS端口
  • firewall-cmd --permanent --remove-port=8080/udp —— 关闭UDP 8080端口

添加常用服务(firewalld内置服务)更方便:

  • firewall-cmd --permanent --add-service=http
  • firewall-cmd --permanent --add-service=https
  • firewall-cmd --permanent --add-service=ssh

修改后必须重载配置才能生效:

firewall-cmd --reload

配置区域与源地址规则

可以根据不同网络环境划分区域,例如允许内网IP无需限制:

  • firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24 —— 将内网网段加入信任区
  • firewall-cmd --zone=public --add-port=22/tcp --timeout=300 —— 临时开放SSH端口5分钟(用于调试)

查看当前区域规则:

firewall-cmd --list-all

高级技巧与注意事项

合理使用防火墙能提升安全性,但也需注意操作细节:

  • 避免误封SSH端口,建议先测试规则或保留临时访问通道
  • 使用--permanent参数确保规则重启后仍有效
  • 定期检查开放端口:firewall-cmd --list-ports--list-services
  • 若需兼容旧脚本,可安装iptables-service,但不建议同时运行多个防火墙工具

对于开发者或测试环境,可结合rich rules实现更精细控制,例如限制某IP访问特定端口:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.2.100" port protocol="tcp" port="3306" reject'

基本上就这些。掌握firewalld的基本命令和逻辑结构,就能高效管理Linux系统的网络访问权限。关键在于理解“区域+服务/端口+永久性”的配置模式,做到安全与便利兼顾。


# linux  # centos  # 防火墙  # 端口  # ubuntu  # 工具  # linux系统  # public  # 数据库  # http  # https  # udp  # ssh  # 内网  # 就能  # 多个  # 但也  # 为例  # 可以根据  # 重启  # 但不  # 主要用于  # 更方便 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android实现代码画虚线边框背景效果  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何快速上传自定义模板至建站之星?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何快速搭建高效服务器建站系统?  EditPlus 正则表达式 实战(3)  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel如何使用模型观察者?(Observer代码示例)  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  如何在自有机房高效搭建专业网站?  如何用花生壳三步快速搭建专属网站?  免费网站制作appp,免费制作app哪个平台好?  高端建站如何打造兼具美学与转化的品牌官网?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  魔方云NAT建站如何实现端口转发?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Java类加载基本过程详细介绍  C语言设计一个闪闪的圣诞树  浅谈javascript alert和confirm的美化  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel如何配置Horizon来管理队列?(安装和使用)  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel如何与Inertia.js和Vue/React构建现代单页应用  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  5种Android数据存储方式汇总  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  大型企业网站制作流程,做网站需要注册公司吗?  详解阿里云nginx服务器多站点的配置  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel怎么实现验证码(Captcha)功能  Java解压缩zip - 解压缩多个文件或文件夹实例  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何实现用户密码重置功能?(完整流程代码)  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel如何实现本地化和多语言支持?(i18n教程)  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel怎么自定义错误页面_Laravel修改404和500页面模板