Ubuntu防火墙(UFW)规则生效时间及机制
使用ufw命令添加规则(如sudo ufw allow 22/tcp、sudo ufw deny 80/tcp)后,规则会立即应用到当前运行的防火墙中,无需额外操作即可生效。此时可通过sudo ufw status或sudo ufw status verbose命令查看规则是否已加入列表,确认规则状态为“ALLOW”或“DENY”。
若修改了UFW规则(如删除、新增或调整规则顺序),需通过sudo ufw reload命令重新加载配置,使修改后的规则立即生效。reload操作不会中断现有连接(如正在进行的SSH会话),仅更新防火墙规则集。
sudo ufw enable后,防火墙服务会立即启动,并自动加载/etc/ufw/user.rules(IPv4)和/etc/ufw/user6.rules(IPv6)中的规则,生效时间为命令执行瞬间。启用后,防火墙会在系统启动时自动运行(通过sudo systemctl enable ufw设置开机自启)。sudo systemctl restart ufw会重启防火墙服务,重新加载所有规则,此操作可能会短暂中断现有连接(如正在传输的文件会话),但能解决规则冲突等问题。UFW规则默认自动持久化,无需额外配置。规则会保存到/etc/ufw/目录下的配置文件中(如user.rules、user6.rules),系统重启后,UFW服务会自动读取这些文件,恢复之前的规则设置。若需手动保存规则(如直接修改配置文件后),可执行sudo ufw reload,确保规则写入配置文件。
sudo ufw status numbered查看规则编号,调整顺序或删除冲突规则。/etc/default/ufw文件,将IPV6=yes,然后执行sudo ufw reload使设置生效。