Ubuntu 20.04 自带 ufw 防火墙,本文记录基本使用方法。
简介
Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。
但LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw。而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的操作。
使用方法
安装
ubuntu 一般会自带安装,也可以使用命令:
代码语言:javascript复制sudo apt-get install ufw
启用/关闭
启用防火墙
代码语言:javascript复制sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常,对于一般用户来说已经足够安全了。
关闭防火墙
代码语言:javascript复制sudo ufw disable
规则设置
允许/禁止的规则设置命令为:
代码语言:javascript复制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 | 删除上面建立的某条规则 |
查看防火墙状态
代码语言:javascript复制sudo ufw status
转换日志状态
代码语言:javascript复制sudo ufw logging on|off
设置默认策略
代码语言:javascript复制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://blog.csdn.net/weixin_42171170/article/details/106957543
- https://blog.csdn.net/BigData_Mining/article/details/80699180