前言
UFW 是 Ubuntu 默认的一款防火墙工具,它提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面,用来设置复杂的防火墙规则。
我相信有很多很多 iptables 前端应用,但 UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。推荐 Debian、Ubuntu 和 Linux Mint 这些发布版本的新用户使用 UFW 防火墙工具。
安装 UFW
检查下系统上是否已经安装了 UFW
sudo dpkg --get-selections | grep ufw
如还没有安装,通过apt-get install
命令来安装
sudo apt-get update
sudo apt-get install ufw
开启 IPv6 支持
若不启用 IPv6 支持,默认情况ufw防火墙只针对 IPv4。若要启用 IPv6 支持,请使用 nano
、vim
或者其他您喜欢的编辑器打开 UFW 配置:
sudo nano /etc/default/ufw
然后确定 IPV6 的值为 yes。它应该如下所示:
IPV6=yes
保存并关闭文件。
默认策略
刚开始使用UFW防火墙,则要定义的第一个规则是您的默认策略
sudo ufw default deny incoming
sudo ufw default allow outgoing
默认策略为拒绝传入并允许传出连接。
启用/禁用
在使用前,你应该检查下 UFW 是否已经在运行。
sudo ufw status
如果你发现状态是 inactive
,意思是没有被激活或不起作用。
sudo ufw enable #启用
sudo ufw disable #禁用
sudo ufw reset #重置
启用ufw
前,请添加允许 ssh
连接的相关规则,如下:
sudo ufw allow ssh
使用与配置
列出当前UFW规则
sudo ufw status verbose
添加规则
允许入站(allow)
默认情况,没有允许就是拒绝(入站),使用 ufw allow <端口>
来添加允许访问的端口或协议。规则中未明确指定tcp
或udp
协议,默认将对tcp
或udp
协议同时生效。
示例如下:
#添加22端口
sudo ufw allow ssh
#添加80端口
sudo ufw allow http
#添加443端口
sudo ufw allow https
#添加2333端口,仅TCP协议
sudo ufw allow 2333/tcp
#添加6666端口,仅UDP协议
sudo ufw allow 6666/udp
#添加8888到9999之间的端口
sudo ufw allow 8888:9999
# 允许来自特定 IP 地址的连接
sudo ufw allow from 203.0.113.4
# 允许特定ip连接特定的端口
sudo ufw allow from 203.0.113.4 to any port 22
# 允许 203.0.113.1 到 203.0.113.254 连接
sudo ufw allow from 203.0.113.0/24
# 允许 203.0.113.1 到 203.0.113.254 连接指定端口
sudo ufw allow from 203.0.113.0/24 to any port 22
拒绝访问(deny)
使用 sudo ufw deny <端口>
来添加拒绝入站的端和协议,与添加允许的类似,差别只是 allow
换成了 deny
。
删除规则
普通删除
先使用 sudo ufw status
查看规则,再使用 sudo ufw delete [规则] <端口>
来删除规则。此方法将删除 IPv4 和 IPv6 规则(如果存在)。
sudo ufw delete allow 2333/tcp
通过编号删除
如果你有很多条规则,则在运行 sudo ufw status
命令查看规则时通过追加numbered
参数,来给每条规则显示编号。
To Action From
-- ----------- ------
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)
然后使用 sudo ufw delete <编号>
来删除规则会是更方便的选择。但需要注意的是,如果启用了 IPv6,则还需要删除相应的 IPv6 规则。
关于ufw
防火墙工具的更多用法,输入 man ufw
查看 ufw 用户手册。
相关推荐
- 使用 Autofs 实现 NFS 共享目录动态挂载
- LFTP 命令常见用法详解
- macOS 使用 Setfile 命令更改文件创建时间和修改时间
- ngx_waf:一款高大全的 Nginx 网站防火墙模块
- CentOS 7 安装使用 iptables 防火墙方法介绍
- Linux 服务器配置密钥实现远程免密登录
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/4544.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。