UFW 配置相关记录
今天用了下ufw感觉还是比较有趣的,之前都是用iptables规则直接部署,但确实ufw配置相对来说更方便一点,特别是针对docker这种强绑定iptables规则的时候,会导致规则链一大堆,有时候确实会看着头疼,这时候ufw的作用就很棒了。
但尴尬的是,目前各个云厂商都会提供对应的安全组配置,更简单方便直接,所以大部分情况下其实你不用去特别配置ufw。
默认情况下UFW并没有启动。要启用防火墙,运行下面的命令:
sudo ufw enable
UFW启用后,默认情况下,允许流量传出,但拒绝流量传入。这意味着可以浏览网站或者使用wget,apt-get等命令下载安装服务。但不允许外部程序访问本机(比如将本机作为TCP协议服务器)。如果由于某些原因这些规则被改变了,而你想恢复默认规则,如下操作:
如果想启用默认的流量传出,运行下面的命令:
sudo ufw default allow outgoing
如果想启用默认的流量传入,运行下面的命令:
sudo ufw default deny incoming
如果想允许外部访问本机特定的端口或协议,运行下面的命令:
sudo ufw allow 端口号/协议
例如,允许通过TCP协议访问本机的2024端口,运行下面的命令:
sudo ufw allow 2024/tcp
如果对2024端口没有协议要求,运行下面的命令:
sudo ufw allow 2024
如果想允许某个端口范围,例如2024~2030的TCP协议,运行下面的命令:
sudo ufw allow 2024:2030/tcp
如果想允许外部访问本机SSH服务器,运行下面的命令:
sudo ufw allow ssh
如果想允许外部访问本机Web服务器(基于http和https协议),运行下面的命令:
sudo ufw allow httpsudo ufw allow https
如果想禁止外部访问某个端口/协议,运行下面的命令:
sudo ufw deny 端口号/协议
例如,禁止外部UDP协议访问2025端口,运行下面的命令:
sudo ufw deny 2025/udp
如果只想允许特定IP地址或子网访问本机,运行下面的命令:
sudo ufw allow from ip地址/子网掩码
例如,允许IP地址为192.168.0.1,子网掩码为255.255.255.0的主机通过TCP协议访问本机的22端口,运行下面的命令:
sudo ufw allow from 192.168.0.1/24 22/tcp
如果想查看所有已经配置的规则,运行下面的命令:
sudo ufw status verbose
如果想查看用户添加的规则,运行下面的命令:
sudo ufw show added
如果想删除某条规则,运行下面的命令:
sudo ufw delete 规则
例如,想删除之前“禁止外部UDP协议访问2025端口”的规则,运行下面的命令:
sudo ufw delete deny 2025/udp
除此之外,还可以通过规则序号来删除。首先运行下面的命令获取规则编号:
sudo ufw status numbered
再通过下面的命令删除相应的规则:
sudo ufw delete number
例如,删除编号为1的规则,运行下面的命令:
sudo ufw delete 1
如果想禁用UFW,运行下面的命令:
sudo ufw disable