插件窝 干货文章 linux是否有防火墙

linux是否有防火墙

iptables sudo 规则 工具 414    来源:    2025-04-24

是的,Linux 系统自带强大的防火墙功能,主要通过以下工具实现:


1. Netfilter/iptables(传统方案)

  • 功能:Linux 内核内置的包过滤框架,通过用户态工具 iptables 配置规则。
  • 特点
    • 支持流量过滤(INPUT/OUTPUT/FORWARD)、NAT、端口转发等。
    • 规则按顺序匹配(从上到下)。
  • 常用命令

    # 查看规则
    sudo iptables -L -n -v
    
    # 允许SSH(22端口)
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    # 默认拒绝所有入站流量
    sudo iptables -P INPUT DROP
    

2. nftables(新一代替代方案)

  • 功能:取代 iptables 的更高效防火墙工具,语法更简洁。
  • 特点
    • 统一了 iptablesip6tablesarptables 等功能。
    • 支持规则集(set)和映射(map)。
  • 示例bash # 创建简单规则(允许HTTP) sudo nft add rule inet filter input tcp dport 80 accept

3. UFW(Uncomplicated Firewall)

  • 功能:为 iptables/nftables 提供易用的命令行接口(Ubuntu 默认工具)。
  • 特点
    • 适合新手,简化复杂规则配置。
  • 常用命令

    # 启用UFW
    sudo ufw enable
    
    # 允许端口
    sudo ufw allow 22/tcp
    
    # 查看状态
    sudo ufw status
    

4. firewalld(动态防火墙)

  • 功能:红帽系(RHEL/CentOS/Fedora)默认工具,支持动态更新。
  • 特点
    • 使用“区域”(zone)和“服务”(service)概念。
    • 无需重启即可生效。
  • 示例bash # 允许HTTP服务 sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload

5. 其他工具

  • CSF(ConfigServer Firewall):基于 iptables 的第三方脚本,适合服务器。
  • Fail2Ban:通过分析日志动态封禁恶意IP(防暴力破解)。

如何检查系统当前防火墙?

# 查看iptables是否运行
sudo iptables -L

# 检查firewalld状态
sudo systemctl status firewalld

# 检查UFW状态
sudo ufw status

总结

  • 服务器/高级用户:直接使用 iptables/nftables
  • 桌面用户:推荐 UFWfirewalld
  • 根据发行版选择工具(如 Ubuntu 用 UFW,CentOS 用 firewalld)。

需要进一步帮助(如具体规则配置)可随时补充说明!