目录
- 简介
- 一、ufw服务
- 1.1 检查ufw服务状态
- 1.2 开启ufw服务
- 1.3 关闭ufw服务
- 1.4 禁用ufw服务
- 1.5 启用ufw服务
- 二、ufw相关命令
- 2.1 检查ufw状态
- 2.2 开启ufw
- 2.3 关闭ufw
- 2.4 修改默认策略
- 2.5 拦截/允许特定IP
- 2.6 拦截/允许特定IP访问特定端口
- 2.7 拦截/允许特定IP、端口以及协议
- 2.8 带ID号的防火墙策略
- 2.9 删除策略
- 三、注意事项
- 3.1 策略优先级
简介
现在Ubuntu18.04自带的有ufw。在某些时候可能已经在服务器上部署了自己的服务,但是发现外面无法访问,可能会考虑一把嗦,关闭ufw,当然,高级一点的就是设置一下ufw防火墙策略,让防火墙为己所用,下面将会介绍一下ufw相关的使用方式。
一、ufw服务
1.1 检查ufw服务状态
Ubuntu查看服务的状态使用systemctl status
命令,查看ufw服务状态就输入如下命令即可:
systemctl status ufw
可以看到高亮显示以下两种状态:
-
active(exited)
:激活状态,此状态下ufw处于开启状态; -
inactive(dead)
:关闭状态,此状态下ufw处于关闭状态,不起作用。
1.2 开启ufw服务
systemctl start ufw
输入该命令ufw的状态:inactive(dead)
-> active(exited)
1.3 关闭ufw服务
systemctl stop ufw
输入该命令ufw的状态:active(exited)
-> inactive(dead)
1.4 禁用ufw服务
systemctl disable ufw
该命令将会禁止服务器自动启用ufw服务。当你想永久关闭ufw的时候,将该命令与systemctl stop ufw
命令一起使用即可。
1.5 启用ufw服务
systemctl enable ufw
禁用之后如果想再次启用ufw就使用该命令。
二、ufw相关命令
2.1 检查ufw状态
该命令可以看到ufw的状态,以及ufw当前配置的策略。
ufw status
会出现的状态有两种:
-
active
:开启 -
inactive
:关闭
2.2 开启ufw
请注意该命令与上面systemctl start ufw
的区别,一个是系统层面的开启,一个是应用层面的开启。
ufw enable
ufw状态:inactive
-> active
2.3 关闭ufw
同上,请注意该命令与上面systemctl stop ufw
的区别,一个是系统层面的关闭,一个是应用层面的关闭。
ufw disable
2.4 修改默认策略
ufw的默认策略是deny(封禁)
,可以使用ufw default
命令修改默认策略。
# 默认禁止
ufw default deny
# 默认允许
ufw default allow
2.5 拦截/允许特定IP
以192.168.1.0/24
网段为例(也可以是一个具体IP)
# 拦截
ufw deny from 192.168.1.0/24 to any
# 允许
ufw allow from 192.168.1.0/24 to any
2.6 拦截/允许特定IP访问特定端口
# 拦截
ufw deny from 192.168.1.0/24 to any port 80
# 允许
ufw allow from 192.168.1.0/24 to any port 80
2.7 拦截/允许特定IP、端口以及协议
# 拦截
ufw deny proto {tcp|udp} from 192.168.1.0/24 to any port 80
# 允许
ufw allow proto {tcp|udp} from 192.168.1.0/24 to any port 80
2.8 带ID号的防火墙策略
ufw status numbered
显示如图
如果想要删除策略,就需要使用该命令查看策略ID然后使用ID删除对应策略。
2.9 删除策略
ufw delete 1
删除ID为1
的策略。
三、注意事项
3.1 策略优先级
策略之间是有优先级之分的,该优先级的划分是以ID大小进行区分。ID越小,优先级越高。一般情况是先设置的策略,ID就越小,优先级就越高,所以想要设置高一点的优先级可以优先设置。当然也有别的命令可以手动设置ID。例如ufw insert
等,这里就不一一赘述了,具体的可以使用ufw --help
命令查看。