简介
所谓防火墙(Firewall),即一道介于计算机和外部网络之间的防护屏障。把计算机设备当作“房子”,端口(port)当作“门”,那么防火墙就是“看门大爷”,管着谁能进门、谁能出门。
UFW(Uncomplicated FireWall),是Linux上一款基于iptables
实现的简单易用的防火墙,其底层是通过iptables
实现的。
(Q:为什么不直接用iptables?
A:对新手太不友好)
安装防火墙
sudo apt install ufw
管理规则
默认规则:
默认允许所有传出流量,拒绝所有传入流量。无需手动再设置,当然也可用以下命令自己更改默认规则。
ufw default allow outgoing
ufw default deny incoming
添加规则:
一般的:
# 禁止端口
ufw deny 111
# 允许端口
ufw allow 22
# 允许端口及指定协议(逗号分隔多个端口)
ufw allow 5060/udp
ufw allow 80,443/tcp
# 允许指定范围端口
ufw allow 10000:12000/tcp
进阶:
可允许/禁止特定IP地址的流量访问。
# 允许来自某个ip的连接
ufw allow from 192.168.1.123
# 允许来自某个地址段的连接
ufw allow from 192.168.1.0/24
# 允许来自某个地址段的连接访问某端口
ufw allow from 192.168.1.0/24 to any port 22
# 允许来自某个地址段的某协议的连接访问某端口
ufw allow from 192.168.1.0/24 to any port 80 proto tcp
查看规则:
# 简要查看
ufw status
# 数字对规则编号
ufw status numbered
# 详尽模式
ufw status verbose
删除规则:
# 删除对应编号的规则
ufw delete 10
# 后面的数字为上述ufw status numbered得到的规则编号
启用/禁用/重置防火墙
注:如果是连接ssh进行配置防火墙,在启用防火墙之前,确保开放了ssh的端口,否则将连不上设备。
# 启用
sudo ufw enable
# 禁用
sudo ufw disable
# 重置
sudo ufw reset
注:上述ufw相关的命令都需要root权限执行。