在Ubuntu 20.04 LTS上如何配置UFW防火墙

时间:2019-11-20 08:53:45  来源:igfitidea点击:

在Ubuntu 20.04 LTS服务器上如何使用UFW设置和配置防火墙?
如何使用ufw设置和保护Ubuntu 20.04 LTS服务器?

设置默认UFW策略

查看ufw的状态:

sudo ufw status

输出示例:

Status: inactive

防火墙默认策略一般都是关闭服务器上的所有端口,然后只打开所需的端口。

阻止所有入站连接,只允许所有出站连接:

sudo ufw default allow outgoing
sudo ufw default deny incoming

允许SSH TCP端口22连接

现在我们设置允许通过SSH访问服务器。即开放22端口,如下所示:

sudo ufw allow ssh

假设我们的ssh使用的是2228端口,那么使用下面命令添加防火墙规则:

sudo ufw allow 2222/tcp

假设办公室的IP是192.168.1.100,服务器ip是10.9.55.12。
只允许办公机器访问服务器:

sudo ufw allow proto tcp from 192.168.1.100 port 22
sudo ufw allow proto tcp from 192.168.1.100 to 10.9.55.12 port 22

开启防火墙

在UFW上启用防火墙:

sudo ufw enable

启用UFW后,防火墙服务将在系统引导后(重启后)运行。
Linux查看防火墙服务状态:

sudo systemctl status ufw.service

如何禁止UFW防火墙开机自启动?

在系统引导时,禁止防火墙服务启动:

sudo ufw disable

设置防火墙允许指定的端口

Ubuntu防火墙如何开放某个端口?

开放TCP端口80和443的语法如下:

sudo ufw allow 80/tcp comment 'accept Apache'
sudo ufw allow 443/tcp comment 'accept HTTPS connections'

开放UDP协议的1194端口:

sudo ufw allow 1194/udp comment 'OpenVPN server'

Ubuntu防火墙如何开放某个范围

我们也可以允许端口范围,例如tcp和udp 3000到4000:

sudo ufw allow 3000:4000/tcp
sudo ufw allow 3000:4000/udp

允许来自192.168.10.222的所有连接:

sudo ufw allow from 192.168.10.222

允许来自192.168.10.222到服务器端口25的所有连接:

sudo ufw allow from 192.168.10.222 to any port 25 proto tcp

允许到10.9.71.82的25端口的连接:

sudo ufw allow from 192.168.10.222 to 10.9.71.82 port 25 proto tcp

Ubuntu UFW如何阻止某个IP或者端口的访问

阻止来自192.168.1.43的连接:

sudo ufw deny from 192.168.1.43

阻自来自网络10.13.42.13/29的所有连接:

sudo ufw deny from 10.13.42.13/29

阻止1.1.1.2访问服务器的22端口:

sudo ufw deny from 1.1.1.2 to any port 22 proto tcp

检查UFW的状态

使用status命令,如下所示:

sudo ufw status

或者

sudo ufw status verbose

Ubuntu 20.04中如何删除防火墙规则

如何删除UFW防火墙规则?

首先列出当前所有防火墙规则,包括编号:

sudo ufw status numbered

然后根据编号删除防火墙规则:

sudo ufw delete number
sudo ufw delete 3
sudo ufw status numbered

如何重置UFW防火墙

sudo ufw reset

如何重新加载UFW防火墙规则

sudo ufw reload

如何查看防火墙日志

默认情况下,防火墙日志保存在/var/log/ufw.log文件中。

sudo more /var/log/ufw.log
sudo tail -f /var/log/ufw.log

示例:查看尝试SSH登录但被防火墙阻止的IP地址:

grep 'DPT=22' /var/log/ufw.log |\
egrep -o 'SRC=([0-9]{1,3}[\.]){3}[0-9]{1,3}' |\
awk -F'=' '{ print  }' | sort -u

查看防火墙规则列表

sudo ufw show added
sudo ufw show listening