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

发布时间 - 2025-12-22 00:00:00    点击率:
nftables是推荐的Linux新一代防火墙框架,遵循“先匹配、先执行、遇匹配即停止”逻辑;需设默认DROP策略,再按序添加accept规则,注意位置优先级,并及时保存与日志调试。

Linux防火墙规则不难,关键在理解“先匹配、先执行、遇匹配即停止”的逻辑。用iptablesnftables都行,但当前推荐nftables(替代iptables的新一代框架),语法更简洁、结构更清晰。下面直接按高频场景讲怎么写、怎么查、怎么防坑。

开放指定端口(如Web服务)

只允许外部访问本机的80和443端口,其他一律拒绝:

  • 先确保默认策略是DROP(安全基线):nft add table inet filternft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
  • 再添加放行规则:nft add rule inet filter input tcp dport { 80, 443 } accept
  • 注意:必须把accept规则加在drop策略之前,否则会被默认策略拦住

仅允许特定IP访问SSH(22端口)

避免暴力破解,限制只有公司办公网(比如192.168.10.0/24)能连SSH:

  • nft add rule inet filter input ip saddr 192.168.10.0/24 tcp dport 22 accept
  • 如果还想保留本机自己连(lo接口),加一条:nft add rule inet filter input iifname "lo" accept
  • 别忘了最后加一条记录日志+丢弃的兜底规则:nft add rule inet filter input tcp dport 22 log prefix "SSH_BLOCKED: " drop

禁止某IP段访问全部服务

发现某个网段(如203.0.113.0/24)频繁扫描,直接全封:

  • nft add rule inet filter input ip saddr 203.0.113.0/24 drop
  • 建议加在input链靠前位置(比如第2条),避免被其他accept规则绕过
  • 临时封禁可加counter方便观察效果:nft add rule inet filter input ip saddr 203.0.113.0/24 counter drop

保存与排查技巧(别重启就失效)

nftables默认不持久化,重启后规则消失:

  • 保存当前规则:nft list ruleset > /etc/nftables.conf(Debian/Ubuntu系需启用nftables服务)
  • 检查规则是否生效:nft list ruleset 或按链查:nft list chain inet filter input
  • 调试时加log规则最直观:nft add rule inet filter input log prefix "DEBUG_INPUT: " counter,然后journalctl -u nftables -f看日志
  • 误操作锁死SSH?别慌——多数云服务器支持VNC或控制台登录,本地终端也建议提前开个screen会话留后门

基本上就这些。规则不在多,在准;不在复杂,在可读可维护。写完跑一遍nft list确认顺序,加个log观察几秒,心里就有底了。


# linux  # 防火墙  # 云服务  # 端口  # ubuntu  # ai  # 云服务器  # Filter  # 接口  # input  # table  # ssh  # debian  # 重启  # 本机  # 加在  # 一遍  # 还想  # 别忘了  # 开个  # 则会  # 写完  # 再按 


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


相关推荐: 如何实现javascript表单验证_正则表达式有哪些实用技巧  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  高端云建站费用究竟需要多少预算?  手机网站制作与建设方案,手机网站如何建设?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Swift中swift中的switch 语句  html如何与html链接_实现多个HTML页面互相链接【互相】  高端建站三要素:定制模板、企业官网与响应式设计优化  再谈Python中的字符串与字符编码(推荐)  制作旅游网站html,怎样注册旅游网站?  清除minerd进程的简单方法  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  如何快速配置高效服务器建站软件?  香港服务器选型指南:免备案配置与高效建站方案解析  如何基于云服务器快速搭建网站及云盘系统?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何挑选高效建站主机与优质域名?  教你用AI将一段旋律扩展成一首完整的曲子  如何打造高效商业网站?建站目的决定转化率  Linux系统命令中screen命令详解  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  敲碗10年!Mac系列传将迎来「触控与联网」双革新  如何用腾讯建站主机快速创建免费网站?  JavaScript实现Fly Bird小游戏  如何在自有机房高效搭建专业网站?  如何快速搭建高效可靠的建站解决方案?  在Oracle关闭情况下如何修改spfile的参数  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  WordPress 子目录安装中正确处理脚本路径的完整指南  如何在建站宝盒中设置产品搜索功能?  如何在阿里云服务器自主搭建网站?  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  微信小程序 配置文件详细介绍  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  历史网站制作软件,华为如何找回被删除的网站?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel如何处理异常和错误?(Handler示例)  如何用免费手机建站系统零基础打造专业网站?  如何快速打造个性化非模板自助建站?