Linux防火墙规则如何编写_常见误区解析避免新手踩坑【指导】

admin 百科 11
Linux防火墙规则需理解匹配顺序、状态机制与持久化逻辑:规则自上而下匹配,限制性规则须前置;必须放行RELATED/ESTABLISHED连接;--permanent仅保存配置,须reload或save才生效;firewalld需明确zone、接口与服务关系。

Linux防火墙规则如何编写_常见误区解析避免新手踩坑【指导】-第1张图片-佛山资讯网

Linux防火墙规则不是写完就生效的配置清单,而是需要理解匹配逻辑、执行顺序和状态机制的一套运行策略。新手常因忽略底层原理,导致服务不通、规则失效或安全形同虚设。

规则顺序决定一切

防火墙按从上到下的顺序逐条匹配,一旦命中就立即执行动作(ACCEPT/DROP/REJECT),不再继续检查后续规则。比如:

  • 先写 iptables -A INPUT -p tcp --dport 22 -j ACCEPT,再写 iptables -A INPUT -s 192.168.1.100 -j DROP —— 后者对SSH完全无效,因为流量早已被前面的规则放行
  • 正确做法是:把限制性规则(如封IP、限端口)放在允许性规则之前;或者用-I插入到链首,而非-A追加到末尾
  • firewalld虽不直接暴露链序,但富规则(rich rules)也按添加顺序生效,--permanent后必须firewall-cmd --reload才真正载入顺序

别忘了连接状态管理

现代防火墙默认启用连接跟踪(conntrack),但新手常漏配“已建立连接”的放行规则,结果自己连不上服务器。

  • iptables中务必包含:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT(或新版用-m conntrack --ctstate
  • firewalld默认自动处理响应流量,但若手动添加了--direct规则或关闭了默认zone策略,就得自己补上状态相关逻辑
  • 测试时可用ss -tnnetstat -tn确认连接是否处于ESTABLISHED状态,再比对规则是否覆盖

永久生效 ≠ 立即生效

很多命令加了--permanent就以为万事大吉,其实只是写进配置文件,没重载就不会跑在内存里。

标签: linux centos 防火墙 端口 配置文件

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~