ufw默认是没有启用的。也就是说, ubuntu中的端口默认都是开放的。使用如下命令启动ufw:
1 | $sudo ufw default deny |
2 | $sudo ufw enable |
- 安装防火墙
Ubuntu的防火墙默认已安装,若无意中卸载,执行以下命令安装
1 | sudo apt-get install ufw #安装 |
- 启动、禁用、重置UFW
1 | sudo ufw enable #开启防火墙 |
2 | sudo ufw disable #关闭防火墙 |
3 | sudo ufw reset #重置防火墙 |
- 查看防火墙状态
1 | sudo ufw status |
2 | sudo ufw status numbered # 按编号显示 |
- 设置默认策略
默认策略即为拒绝所有传入连接,允许所有传出链接
1 | sudo ufw default deny incoming |
2 | sudo ufw default allow outgoing |
3 | #转换日志状态 |
4 | sudo ufw logging on|off |
5 | #设置默认策略 |
6 | sudo ufw default allow|deny |
- 允许SSH连接(重要!)
否则你将无法连接云服务器…
1 | #以下两条命令效果是一样的 |
2 | sudo ufw allow ssh |
3 | sudo ufw allow 22 |
- 允许特定单个端口连接
1 | sudo ufw allow 80 |
2 | sudo ufw allow http |
指定网络接口:假如你的 eth0 为公网地址,你同事需要向外开放 80 端口,你可以如下操作:
1 | sudo ufw allow in on eth0 to any port 80 |
另外,假如你想你的 MySQL 服务器(监听 3306)只接受通过内网网卡 eth1 的请求,你可以这样:
1 | sudo ufw allow in on eth1 to any port 3306 |
- 允许特定端口范围连接
1 | sudo ufw allow 1000:2000/tcp |
2 | sudo ufw allow 2001:3000/udp |
- 允许特定IP地址链接
1 | #允许特定IP所有端口的连接 |
2 | sudo ufw allow from 111.111.111.111 |
3 | #允许特定IP特定端口的连接 |
4 | sudo ufw allow from 111.111.111.111 to any port 22 |
5 | #允许某个网段的主机访问 |
6 | sudo ufw allow from 192.168.1.1/24 to any port 11211 |
7 | sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53 |
8 | #打开来自192.168.0.1的tcp请求的22端口: |
9 | $sudo ufw allow proto tcp from 192.168.0.1 to any port 22 |
- 拒绝特定连接
如果设置的默认安全策略是允许全部传入连接,则可以设置拒绝连接规则
1 | #拒绝http连接 |
2 | sudo ufw deny http |
3 | #执行禁止IP命令 |
4 | sudo ufw deny/allow from 192.168.31.1 (即:禁止/允许192.168.31.1这个IP访问所有的本机端口) |
5 | #UFW同时支持出入口过滤。用户可以使用in或out来指定向内还是向外。如果未指定,默认是in |
6 | sudo ufw allow in http # 许可访问本机http端口 |
7 | sudo ufw reject out smtp # 禁止访问外部smtp端口,不告知“被防火墙阻止” |
8 | sudo ufw deny out to 192.168.1.1 # 禁止本机对192.168.1.1对外访问,告知“被防火墙阻止” |
9 | sudo ufw delete deny 80/tcp # 要删除规则,只要在命令中加入delete就行了 |
- 删除规则
1 | #按规则编号防火墙规则 |
2 | sudo ufw status numbered |
3 | #按规则编号删除防火墙规则 |
4 | sudo ufw delete 1 |
5 | #更改文件来配置防火墙 |
6 | /etc/ufw/user.rules |
- 使用IPv6
如果你的 Ubuntu 服务器已启用 IPv6,为了确保 UFW 能支持 IPv6 协议。
打开 UFW 的相关配置,使用你最喜欢的编辑器,这里我使用 vi :
sudo vi /etc/default/ufw
然后,确认 IPv6 是否设置成 yes,如果没有则设置为 yes,大致如下:
————————————————
原文链接:https://blog.csdn.net/fox_wayen/article/details/90646533
————————————————