UFW 防火墙的安装及常用命令
UFW,或称Uncomplicated Firewall,是iptables的一个接口,为不熟悉防火墙概念的初学者提供了易于使用的界面,同时支持IPv4和IPv6,广受欢迎。
使用UFW来管理防火墙规则,十分方便好用。
安装UFW
# Ubuntu & Debian使用以下命令
apt-get install ufw -y
# CentOS使用以下命令
yum install epel-release -y
yum install --enablerepo="epel" ufw -y
UFW安装后,可以通过以下命令来启动UFW服务并使其在启动时启动(一般在完成默认配置后再重启):
ufw enable
使用以下命令检查UFW的状态:
ufw status
禁用UFW防火墙:
ufw disable
如果你决定要重新开始,则可以使用reset命令:
ufw reset
这将禁用UFW并删除之前定义的任何规则。
UFW配置文件目录:
- /etc/default/ufw
UFW常用命令
默认情况下,UFW默认策略设置为阻止所有传入流量并允许所有传出流量。
一般的,我们先设置放行的端口和IP,最后设置入、出规则。
ufw reset
ufw allow 22 # SSH 端口
ufw allow 80
ufw allow 443
ufw allow 15566
ufw allow from 123.123.123.123 # 放行的白名单IP
ufw allow from 106.106.106.0/24 # 放行的白名单IP段
# 阻止所有传入流量并允许所有传出流量
ufw default deny incoming
ufw default allow outgoing
ufw enable
UFW可以基于TCP或UDP协议来过滤数据包,命令如下:
ufw allow 80/tcp
ufw allow 21/udp
最后,使用以下命令查看已添加规则的状态:
ufw status verbose
应该可以看到如下输出:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
80/tcp ALLOW IN Anywhere
21/udp ALLOW IN Anywhere
80/tcp (v6) ALLOW IN Anywhere (v6)
21/udp (v6) ALLOW IN Anywhere (v6)
还可以使用以下命令随时拒绝指定端口任何传入和传出的流量:
ufw deny 80
ufw deny 21
如果要删除规则,只需在原始规则前加上delete即可,如下所示:
ufw delete deny 80
ufw delete deny 21
也可以按编号删除规则,使用以下命令查看规则及其编号:
ufw status numbered
输出:
OutputStatus: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 443/tcp ALLOW IN Anywhere
[ 3] 22/tcp (v6) ALLOW IN Anywhere (v6)
[ 4] 443/tcp (v6) ALLOW IN Anywhere (v6)
删除编号为3的规则:
ufw delete 3
要允许某个IP地址连接特定的某个端口,可以运行以下命令:
ufw allow from 62.13.209.36 to any port 8080
进一步的,可以指定特定的IP段和TCP/UDP协议:
ufw deny from 62.13.209.33 to any port 22
ufw allow from 62.13.209.0/24 to any port 8080 proto tcp
查看UFW防火墙的日志:
tail -f /var/log/ufw.log
更多姿势请查看UFW官方文档:
https://wiki.ubuntu.org.cn/Ufw%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭