linux防火墙管理神器ufw
ufw 全称 Uncomplicated Firewall ,从名称来看,不那么复杂的防火墙?。
提到linux的防火墙管理,就不得不提iptables,但是说实话,这个命令我实在记不住,用得少,同时参数多,比较复杂。
ufw就是用来解决这个问题的,他算是iptables的一个前端(frontend)。
## 安装ufw
在Debian系的电脑上直接执行以下命令:
$ sudo apt-get update
$ sudo apt-get install ufw
启用ufw
$ sudo ufw enable
禁用ufw
$ sudo ufw disable
查看默认规则
$ grep 'DEFAULT_' /etc/default/ufw
Outputs:
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"
设置默认值
## 禁止所有传入,允许所有传出
$ sudo ufw default allow outgoing
$ sudo ufw default deny incoming
查看ufw的状态
$ sudo ufw status
$ sudo ufw status numbered
打开端口
## 打开12345端口,允许tcp协议和udp协议
$ sudo ufw allow 12345
## 打开12345端口,允许tcp协议
$ sudo ufw allow 12345/tcp
## 打开12345端口,允许udp协议
$ sudo ufw allow 12345/udp
## 指定方向,in即传入,out即传出
## 如果不指定方向,默认是传入
$ sudo ufw allow in 12345/tcp
$ sudo ufw allow out 12345/tcp
关闭端口
## 禁止80端口
$ sudo deny 80/tcp
打开或关闭连续端口
## 打开3000到5000之间的所有端口
$ sudo ufw allow 3000:5000/tcp
$ sudo ufw allow 3000:5000/udp
对ip做限制
## 允许指定ip访问指定端口
$ sudo ufw allow from 1.2.3.4 to any port 443
$ sudo ufw allow from 1.2.3.4 to any port 80
## 允许子网
$ sudo ufw allow from 1.2.3.4/23 to any port 443
$ sudo ufw allow from 1.2.3.4/23 to any port 80
## 禁止某ip的所有连接
$ sudo ufw deny from 1.2.3.4
## 禁止子网
$ sudo ufw deny from 1.2.3.4/24
## 禁止ip使用tcp协议访问某个端口
$ sudo ufw deny from 1.2.3.4 to any port 22 proto tcp
删除操作
$ sudo delete deny 80/tcp
重置
$ sudo ufw reset
重新加载
$ sudo ufw reload
查看日志
$ sudo tail -f /var/log/ufw.log