配置 UFW 防火墙
简介
UFW (uncomplicated firewall) 是 Ubuntu 默认的防火墙配置工具。为了简化 iptables
防火墙的配置,ufw
提供了一种友好的方式来创建基于 IPv4 或 IPv6 主机的防火墙。
在 Ubuntu 中,ufw 默认是禁用状态。
在 Arch 和 Debian 中,需要先安装 ufw:
|
|
基本语法和规则
启用和禁用 ufw
启用 ufw,默认情况下,防火墙规则为:除一些默认的例外端口,传入流量-deny,传出流量-allow。
|
|
查看 ufw 状态(按添加顺序排列,越早添加的规则优先级越高):
|
|
禁用 ufw:
|
|
查看原始配置,也可以查看 /etc/ufw/
目录中以 .rules
结尾的文件。
|
|
设置规则
设置 allow 规则
|
|
**示例:**允许 53 端口传入 tcp 和 udp 数据包
|
|
**示例:**只允许 53 端口传入 tcp 数据包
|
|
**示例:**只允许 53 端口传入 udp 数据包
|
|
设置 deny 规则
|
|
**示例:**禁止 53 端口传入 udp 数据包
|
|
设置默认规则
|
|
删除规则
要删除规则,只需在原始规则前加上 delete 命令。例如,原始规则命令是:
|
|
那么删除这条规则的命令是:
|
|
通过服务名称设置规则
也可以使用服务名称来设置和删除规则。ufw 会从 /etc/services
中读取服务列表。
**示例:**设置 allow 规则允许 SSH 服务端口
|
|
注意:如果更改了服务的默认端口号,要使用实际端口号,而不是服务名称来设置规则。
日志
启用日志记录:
|
|
关闭日志记录:
|
|
设置日志级别,默认为 low
:
|
|
日志文件默认路径为 /var/logs/ufw.log
。
高级设置
访问规则
允许特定 IP 地址访问:
|
|
允许特定子网访问:
|
|
允许特定 IP 的特定端口访问,destination 可以为 any
表示不限制目的地址。
|
|
允许特定 IP 的特定端口使用特定协议访问:
|
|
禁止访问规则与上述相似,只要将 allow 替换为 deny 即可。
规则参考编号
查看 ufw 状态时显示规则编号:
|
|
通过编号删除规则:
|
|
通过编号插入规则,新规则将会被插入到编号指定位置,方便设置规则的优先级:
|
|