目录

  • 简介
  • 一、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

显示如图

Ubuntu 查看linux 所有服务 grep ubuntu查看服务状态命令_防火墙

如果想要删除策略,就需要使用该命令查看策略ID然后使用ID删除对应策略。

2.9 删除策略

ufw delete 1

删除ID为1的策略。

三、注意事项

3.1 策略优先级

策略之间是有优先级之分的,该优先级的划分是以ID大小进行区分。ID越小,优先级越高。一般情况是先设置的策略,ID就越小,优先级就越高,所以想要设置高一点的优先级可以优先设置。当然也有别的命令可以手动设置ID。例如ufw insert等,这里就不一一赘述了,具体的可以使用ufw --help命令查看。