本文最后更新于:2024年1月14日 晚上

Ubuntu 20.04 自带 ufw 防火墙,本文记录基本使用方法。

简介

Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。

但LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw。而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的操作。

使用方法

安装

ubuntu 一般会自带安装,也可以使用命令:

1
sudo apt-get install ufw

启用/关闭

启用防火墙
1
2
sudo ufw enable
sudo ufw default deny

运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常,对于一般用户来说已经足够安全了。

关闭防火墙
1
sudo ufw disable

规则设置

允许/禁止的规则设置命令为:

1
sudo ufw allow|deny [service]

例如:

命令 含义
sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22 允许指定的IP段访问特定端口
sudo ufw delete allow smtp 删除上面建立的某条规则
sudo ufw allow :/< protocol> 放行连续的多个端口,多个端口必须指定放行协议
  • 多个端口
1
sudo ufw allow 8000:8005/tcp
  • 也可以将from 选项添加到命令中,以限制连接IP地址。
1
sudo ufw allow from 192.168.1.100 to any port 8000:8005 proto tcp

完成所有需要的防火墙规则设置后,最好再次运行sudo ufw status以确保规则正确应用。

查看防火墙状态

1
sudo ufw status

转换日志状态

1
sudo ufw logging on|off

设置默认策略

1
sudo ufw default allow|deny

ufw 相关的文件和文件夹

文件位置 说明
/etc /ufw/ 里面是一些ufw的环境设定文件,如 before.rules、after.rules、sysctl.conf、ufw.conf,及 for ip6 的 before6.rule 及 after6.rules。这些文件一般按照默认的设置进行就ok。
/etc/sysctl.conf 若开启ufw之 后,/etc/ufw/sysctl.conf会覆盖默认的/etc/sysctl.conf文件,若你原来的/etc/sysctl.conf做了修 改,启动ufw后,若/etc/ufw/sysctl.conf中有新赋值,则会覆盖/etc/sysctl.conf的,否则还以/etc /sysctl.conf为准。当然你可以通过修改/etc/default/ufw中的“IPT_SYSCTL=”条目来设置使用哪个 sysctrl.conf.
/var/lib/ufw/user.rules 这个文件中是我们设置的一些防火墙规则,打开大概就能看明白,有时我们可以直接修改这个文件,不用使用命令来设定。修改后记得ufw reload重启ufw使得新规则生效。

参考资料



文章链接:
https://www.zywvvd.com/notes/system/linux/ubuntu-ufw/ubuntu-ufw/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

Ubuntu20.04 防火墙设置简明教程
https://www.zywvvd.com/notes/system/linux/ubuntu-ufw/ubuntu-ufw/
作者
Yiwei Zhang
发布于
2021年11月24日
许可协议