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

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

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

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)频繁扫描,直接全封:

ghiblitattoo ghiblitattoo

用AI创造独特的吉卜力纹身

ghiblitattoo 175 查看详情 ghiblitattoo
  • 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防火墙规则如何编写_高频场景实战指导更易上手【指导】的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。