0%

ubuntu的ufw配置

ufw默认是没有启用的。也就是说, ubuntu中的端口默认都是开放的。使用如下命令启动ufw:

1
$sudo ufw default deny
2
$sudo ufw enable
  1. 安装防火墙
    Ubuntu的防火墙默认已安装,若无意中卸载,执行以下命令安装
1
sudo apt-get install ufw       #安装
  1. 启动、禁用、重置UFW
1
sudo ufw enable       #开启防火墙
2
sudo ufw disable      #关闭防火墙
3
sudo ufw reset        #重置防火墙
  1. 查看防火墙状态
1
sudo ufw status
2
sudo ufw status numbered  # 按编号显示
  1. 设置默认策略
    默认策略即为拒绝所有传入连接,允许所有传出链接
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
  1. 允许SSH连接(重要!)

否则你将无法连接云服务器…

1
#以下两条命令效果是一样的
2
sudo ufw allow ssh
3
sudo ufw allow 22
  1. 允许特定单个端口连接
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. 允许特定端口范围连接
1
sudo ufw allow 1000:2000/tcp
2
sudo ufw allow 2001:3000/udp
  1. 允许特定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. 拒绝特定连接
    如果设置的默认安全策略是允许全部传入连接,则可以设置拒绝连接规则
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. 删除规则
1
#按规则编号防火墙规则
2
sudo ufw status numbered
3
#按规则编号删除防火墙规则
4
sudo ufw delete 1
5
#更改文件来配置防火墙
6
/etc/ufw/user.rules
  1. 使用IPv6

如果你的 Ubuntu 服务器已启用 IPv6,为了确保 UFW 能支持 IPv6 协议。

打开 UFW 的相关配置,使用你最喜欢的编辑器,这里我使用 vi :

sudo vi /etc/default/ufw
然后,确认 IPv6 是否设置成 yes,如果没有则设置为 yes,大致如下:

1
...
2
IPV6=yes
3
...

————————————————
原文链接:https://blog.csdn.net/fox_wayen/article/details/90646533
————————————————