Linux防火墙规则如何编写_操作步骤详解提升实战能力【技巧】

admin 百科 13
Linux防火墙规则编写核心是理解iptables/nftables的链、表、匹配条件与动作;iptables仍广泛用于旧系统,nftables为新系统默认,掌握网络流向与默认策略(如INPUT/OUTPUT/FORWARD设为DROP前先验证)比死记命令更重要。

Linux防火墙规则如何编写_操作步骤详解提升实战能力【技巧】-第1张图片-佛山资讯网

Linux防火墙规则编写核心在于理解 iptablesnftables 的链(chain)、表(table)、匹配条件与目标动作。实际运维中,iptables 仍广泛使用(尤其CentOS 7/Ubuntu 18.04及更早),而较新系统(如Ubuntu 20.04+、CentOS 8+)默认启用 nftables(iptables命令可能只是nft的兼容封装)。掌握底层逻辑比死记命令更重要。

明确网络流向与默认策略

防火墙本质是控制进出本机的数据包。iptables有三张基础表:filter(过滤,默认)、nat(地址转换)、mangle(修改包头)。常用操作集中在 filter 表的三个链:

  • INPUT:处理发往本机的入站流量(如SSH连接、Web服务请求)
  • OUTPUT:处理本机发出的出站流量(如curl访问外部API)
  • FORWARD:处理经本机转发的流量(仅当开启IP转发时生效)

每条链都有默认策略(policy),常见为 ACCEPT 或 DROP。生产环境建议先设为 ACCEPT,添加规则验证无误后,再将 INPUT/OUTPUT/FORWARD 的默认策略改为 DROP,避免锁死自己。

编写实用规则的典型场景与写法

以 iptables 为例,所有规则按顺序匹配,第一条匹配即执行对应动作,不再继续向下检查。因此“允许”规则应放在“拒绝”规则之前。

  • 放行已建立的连接(必须加在最前面):
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 开放SSH端口(22)并限制来源IP(增强安全)
    iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
    若允许多个IP,可用 -s 192.168.1.0/24 或多次添加;也可用 ipset 提高效率
  • 开放HTTP/HTTPS服务(80/443)给所有公网访问
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • 禁止某IP段暴力扫描
    iptables -I INPUT -s 203.0.113.0/24 -j DROP(-I 插入到最前,优先拦截)

保存、恢复与调试技巧

iptables 规则默认不持久——重启后丢失。务必手动保存:

标签: linux centos 防火墙 端口 ubuntu curl ai 系统升级

发布评论 0条评论)

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