一、简介

ubuntu 中常见的防火墙管理工具是ufwnftablesiptables。其中,ufw的设计目标是为普通用户和管理员提供一种简单的方式来管理 Linux 防火墙规则,而无需深入了解复杂的 nftablesiptables 语法。在 Ubuntu 20.04 及以上版本,ufw 默认使用 nftables 后端,而 nftables 则是现代 Linux 系统中 iptables 的替代品或者说是升级版本。ufw 的命令会生成 nftables 规则,写入内核的 Netfilter 框架,实际的防火墙规则仍然由内核的 Netfilter 框架执行。

特性 iptables nftables ufw
设计时间 1998 年,较老 2014 年,现代 2005 年,简化前端
后端 Netfilter(直接) Netfilter(直接) nftables(Ubuntu 20.04+)或 iptables
Systemd 服务 无(需 netfilter-persistent) 有(nftables.service) 有(ufw.service)
规则持久化 手动(iptables-save)或 iptables-persistent /etc/nftables.conf + nftables.service /etc/ufw/*.rules + ufw.service
语法复杂度 复杂,链和表分离(INPUT、FORWARD) 统一表结构,灵活 简单,隐藏底层细节(ufw allow ssh)
功能 过滤、NAT、mangle,IPv4/IPv6 分离等 统一 IPv4/IPv6,高级功能(计数、集合) 简化过滤和 NAT,面向普通用户
性能 较高,但随规则增多变慢 优化性能,适合复杂规则 依赖后端(nftables/iptables)

二、安装确认

  1. 确认是否安装ufw,新系统一般会默认安装,但不一定启用。

    dpkg -l | grep ufw
    
    ii  ufw     0.36.1-4ubuntu0.1      all    program for managing a Netfilter firewall
    
  2. 确认是否安装iptables,一般会默认安装。

    dpkg -l | grep iptables
    
    ii  iptables     1.8.7-1ubuntu5.2      amd64    administration tools for packet filtering and NAT
    
  3. 确认是否安装nftables,新系统一般会默认安装,但不一定启用。

    dpkg -l | grep nftables
    
    ii  libnftables1:amd64   1.0.2-1ubuntu3     amd64     Netfilter nftables high level userspace API library
    ii  libnftnl11:amd64     1.2.1-1build1      amd64     Netfilter nftables userspace API library
    ii  nftables             1.0.2-1ubuntu3     amd64     Program to control packet filtering rules by Netfilter project
    

三、服务状态

  1. 检查 ufw 服务,输出状态activeinactive,分别表示活动与不活动。
    sudo ufw status verbose
    
  2. 检查 nftables 服务,同样可以输出activeinactive状态。
    sudo systemctl status nftables
    
    状态输出

四、规则检查

  1. 查看 iptables 规则

    sudo iptables -L -v -n
    
  2. 查看 nftables 规则

    sudo nft list ruleset
    

小结

以上内容仅作为防火墙工具的简单总结,并不涉及某种工具的具体使用方法,如有其他问题,欢迎在评论区讨论,谢谢!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐