Ubuntu系统网络过滤规则配置方法与实用指南
Ubuntu 启用基础网络过滤规则时,建议先放行 SSH(sudo ufw allow 22 tcp),再执行 sudo ufw enable。启用后系统会默认拒绝所有入站连接、允许所有出站流量,规则会自动排序并持续生效,适合日常服务器防火墙配置。用 ufw 快速启用基础网络过滤规则 对于绝大多数
Ubuntu 启用基础网络过滤规则时,建议先放行 SSH(sudo ufw allow 22/tcp),再执行 sudo ufw enable。启用后系统会默认拒绝所有入站连接、允许所有出站流量,规则会自动排序并持续生效,适合日常服务器防火墙配置。

用 ufw 快速启用基础网络过滤规则
对于绝大多数 Ubuntu 用户来说,通常不需要直接操作 iptables,使用 ufw 就能更高效地完成 Linux 防火墙配置。ufw 本质上是对 iptables 的封装,规则表达更直观,状态管理也更省心。系统默认虽然已安装,但通常并未启用,执行 sudo ufw status verbose 时会看到 Inactive。
在启用防火墙前,建议先放行 SSH 服务,否则远程连接服务器时可能会被直接断开。常见命令是 sudo ufw allow OpenSSH 或 sudo ufw allow 22/tcp。完成后再执行 sudo ufw enable,此时 Ubuntu 会默认拒绝所有入站请求,同时允许出站访问。
- 规则通常按添加顺序进行匹配,但
ufw会自动将allow规则排在deny之前,一般无需手动调整顺序 ufw deny from 192.168.0.5和ufw deny to any port 22的含义并不相同:前者会阻断该 IP 发起的所有入站协议请求,后者仅拦截目标端口为 22 的入站连接- 删除规则时不能只写
ufw delete deny from ...,应先通过sudo ufw status numbered查看规则编号,再执行sudo ufw delete <编号>
用 dumpcap -f 在抓包时做轻量级流量过滤
dumpcap 的 -f 参数并不是防火墙规则,而是基于 BPF 的抓包过滤器,也就是 capture filter。它会在内核收包阶段直接丢弃不匹配的数据包,不进入用户态、不占用额外内存,也不会写入磁盘,因此非常适合做高效网络抓包过滤。这与 Wireshark 中的“显示过滤器”(display filter)完全不同,后者是在抓包完成后再进行筛选,资源已经消耗掉了。
常见错误是直接写成 "http" 或 "dns",但 BPF 并不能识别应用层协议名称,只能识别底层网络字段。正确的过滤写法如下:
- HTTP 流量 →
"tcp port 80"或"tcp port 443"(HTTPS) - 指定主机的进出流量 →
"host 10.0.2.15"(除非明确只抓单向流量,否则不要轻易写成src host或dst host) - 排除广播和多播流量 →
"not broadcast and not multicast" - 组合过滤条件时使用
and/or,括号需要用反斜杠转义:"(tcp port 80) or (udp port 53)"
绕过 ufw 直接配 iptables 的真实场景
虽然 ufw 足以满足多数 Ubuntu 防火墙设置需求,但它并不适用于所有场景。真正需要绕过 ufw、直接配置 iptables 的情况,主要集中在三类:第一类是涉及 PREROUTING 或 POSTROUTING 这样的链操作,例如端口转发和 NAT;第二类是需要对连接状态做更细粒度的控制,比如精确限制只允许 ESTABLISHED+RELATED 的出站流量;第三类则是需要与第三方系统或工具深度联动,例如 Docker 启动时会自动写入底层规则。在这些情况下,直接管理底层规则链顺序和默认策略,通常会比依赖抽象层更稳定、更可控。
如果希望 Ubuntu 主机充当网关并转发网络流量,仅靠 ufw 通常是不够的,还需要补充关键的 iptables 和内核配置。首先执行 sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE 来添加 NAT 规则;其次还要启用内核 IP 转发功能,将 1 写入 /proc/sys/net/ipv4/ip_forward,并同步持久化到 /etc/sysctl.conf,否则服务器重启后该配置不会保留。
-A INPUT表示将规则追加到 INPUT 链末尾,如果前面已经存在DROP规则,那么后添加的allow规则将不会生效- 临时添加的规则在系统重启后会丢失,如需持久化,可使用
iptables-sa ve > /etc/iptables/rules.v4(Ubuntu 22.04+ 默认支持) ufw启用后同样会写入自己的iptables规则,因此混合使用时,建议通过sudo iptables -L -v -n查看最终实际生效的规则顺序
别忽略 Netplan 配置里的路由级过滤线索
Netplan 本身并不提供防火墙或流量过滤能力,但它定义的网卡接口、IP 子网和路由信息,会直接影响哪些流量可以到达本机,这实际上属于网络访问控制中最前置的一层“过滤”。例如已经配置了 routes,却遗漏了 on-link: true,某些直连子网的 ARP 请求就不会被正确发出,后续自然也谈不上继续做防火墙过滤。
一个很典型的配置陷阱是:把 addresses: [192.168.50.10/24] 错写成 /32。这样系统会把该 IP 视为单独主机地址,而不是所在子网的一部分,因此不会响应同一网段其他设备的 ARP 请求。表面上看像是 Ubuntu 防火墙拦截了访问,实际上根本原因是路由与地址配置错误。
- 修改
/etc/netplan/*.yaml后,必须执行sudo netplan apply才会生效,仅重新加载 NetworkManager 并不能完成配置应用 - 如果使用的是
renderer: networkd,那么查看systemd-networkd日志(journalctl -u systemd-networkd)通常会比单纯执行ip a更早发现语法或配置错误 - 在多网卡环境中,
metric数值决定默认路由优先级,数值越小优先级越高;如果两个接口的 metric 完全相同,内核会按字母顺序选择,而不是按照配置书写顺序决定
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。
Win10专业版U盘安装教程:制作启动盘与完整安装步骤
本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。
Windows10系统字体太小怎么调大
Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。
Win10磁盘占用100%基础排查:从监控到清理的完整步骤
Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。
Windows10系统怎么显示此电脑和控制面板
Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。
- 热门数据榜
相关攻略
2026-09-01 16:50
2026-09-01 16:50
2026-08-27 15:46
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:44
2026-08-27 15:44
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

