Linux防火墙规则如何编写_高频场景实战指导更易上手【教学】

发布时间 - 2025-12-24 00:00:00    点击率:
Linux防火墙配置核心是理清“谁访问谁、走什么协议、开哪几个端口”,遵循默认拒绝、按需放行原则:①SSH仅允许可信IP访问22端口;②Web服务仅开放80/443端口;③确保OUTPUT链允许必要出站流量;④规则需持久化保存防重启丢失。

Linux防火墙规则不是背命令,而是理清“谁访问谁、走什么协议、开哪几个端口”这三件事。用 iptables 或更现代的 nftables 都行,但思路一致——先默认拒绝,再按需放行。下面聚焦高频、真实、一上手就能用的场景。

只允许SSH远程管理(防暴力破解)

这是最基础也最重要的规则:只让可信IP连22端口,其他一律拦掉。

  • 如果知道管理员固定IP(比如 192.168.10.5),加一条白名单:
    iptables -A INPUT -s 192.168.10.5 -p tcp --dport 22 -j ACCEPT
  • 再加一条拒绝所有其他SSH请求:
    iptables -A INPUT -p tcp --dport 22 -j DROP
  • 注意:这两条顺序不能反,iptables按从上到下匹配,先DROP再ACCEPT就失效了

开放Web服务(HTTP/HTTPS)

网站上线后,要让外部用户能访问80和443端口,但不等于全放开——只放端口,不放其他端口或协议。

  • 放行HTTP:
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • 放行HTTPS:
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • 如果用了反向代理(如Nginx),通常不需要额外开后端端口(如8080),因为流量只在本机内部流转,不经过INPUT链

允许本机主动出站(别把自己锁死)

很多人设完INPUT规则后发现yum装不了、curl打不开外网——因为只管进不管出。Linux默认OUTPUT是ACCEPT,但如果你改过策略,记得补上:

  • 保持本机发包畅通:
    iptables -P OUTPUT ACCEPT(推荐,简洁安全)
  • 或者更细粒度控制(如只允许DNS+HTTP(S)出站):
    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

保存规则并开机生效(别重启就丢)

iptables规则默认不持久,重启即清空。必须显式保存:

  • Debian/Ubuntu:
    iptables-save > /etc/iptables/rules.v4
  • RHEL/CentOS 7+:
    service iptables save(需安装iptables-services)
    或用新方式:
    iptables-save > /etc/sysconfig/iptables
  • 验证是否生效:重启前运行 iptables -L -n,重启后再跑一遍,对比是否一致

基本上就这些。不复杂但容易忽略——关键是先想清楚“我要谁来、来干啥”,再写一行命令。写完别急着保存,先用另一台机器测连通性,确认没问题再固化。


# linux  # centos  # nginx  # 防火墙  # 端口  # ubuntu  # 后端  # curl  # dns  # 防火墙配置 


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


相关推荐: Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  利用 Google AI 进行 YouTube 视频 SEO 描述优化  原生JS实现图片轮播切换效果  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  java获取注册ip实例  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何快速搭建高效香港服务器网站?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  如何在万网ECS上快速搭建专属网站?  如何注册花生壳免费域名并搭建个人网站?  如何正确选择百度移动适配建站域名?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  长沙做网站要多少钱,长沙国安网络怎么样?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何快速查询网站的真实建站时间?  Laravel中的Facade(门面)到底是什么原理  Python图片处理进阶教程_Pillow滤镜与图像增强  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何快速搭建FTP站点实现文件共享?  微信小程序 canvas开发实例及注意事项  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何用搬瓦工VPS快速搭建个人网站?  Laravel如何自定义分页视图?(Pagination示例)  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  JS弹性运动实现方法分析  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Android GridView 滑动条设置一直显示状态(推荐)  Linux网络带宽限制_tc配置实践解析【教程】  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境