Ubuntu 18.04上使用UFW设置防火墙:安装、状态、启用、关闭

确保登录root权限账号

安装命令

sudo apt install ufw

检查UFW状态命令

sudo ufw status verbose

 

UFW在默认情况下是禁用的,如果您刚刚安装或从未激活过UFW,则输出如下所示:

输出

Status: inactive

如果UFW被激活,输出将如下所示:

状态:激活
日志: on (low)
默认:deny (incoming), allow (outgoing), disabled (routed)
新建配置文件: skip

至                          动作          来自
–                          —          —
80,443/tcp (Nginx Full)    ALLOW IN    Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN    Anywhere (v6)

 

UFW默认策略

默认策略在/etc/default/ufw文件中定义,可以使用sudo ufw default <policy> <chain>

请勿修改默认策略配置文件

 

允许SSH连接 默认端口22

请键入以下命令:

sudo ufw allow ssh

如果ssh登录端口不是22,是自定义xx数字,请输入命令

sudo ufw allow xx数字/tcp

 

启用UFW

确保UFW防火墙已配置为允许传入SSH连接,继续启用UFW,输入命令

sudo ufw enable

在系统启动时启用和激活防火墙

输出:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

您将被警告启用防火墙可能会破坏现有的ssh连接,只需键入y并按Enter键。

 

允许其他端口上的连接

打开端口80 – HTTP

使用以下命令可以允许HTTP连接:

sudo ufw allow http

你可以使用端口号80而不是http:

sudo ufw allow 80/tcp

 

打开端口443 – HTTPS

使用以下命令可以允许HTTP连接:

sudo ufw allow https

要实现相同而不是https,您可以使用端口号443:

sudo ufw allow 443/tcp

 

打开端口8080

如果运行Tomcat或在端口8080上侦听的任何其他应用程序以允许传入连接,请输入:

sudo ufw allow 8080/tcp

允许端口范围

UFW允许我们允许访问端口范围,而不是允许访问单个端口。 使用UFW允许端口范围时,您必须指定协议,即tcp或udp。 例如,如果要允许tcp和udp上的端口从8000到8100,则运行以下命令:

sudo ufw allow 8000:8100/tcp

sudo ufw allow 8000:8100/udp

 

允许特定的IP地址

如果您希望允许您的家庭计算机上的所有端口使用IP地址55.56.57.58访问,则需要在IP地址之前指定:

sudo ufw allow from 55.56.57.58允许特定端口上的特定IP地址

要允许在特定端口上访问,可以使用IP地址为55.56.57.58的工作机器上的端口22,然后您需要指定IP地址后面的任何端口和端口号:

sudo ufw allow from 55.56.57.58 to any port 22

 

删除UFW规则
有两种不同的方法可以通过规则编号和指定实际规则来删除UFW规则。

使用以下命令执行此操作:

sudo ufw status numbered

 

状态: 激活

至                          动作          来自
–                          —          —
[ 1] Nginx Full                ALLOW IN    Anywhere
[ 2] 22/tcp                    ALLOW IN    Anywhere
[ 3] 5522/tcp                  ALLOW IN    Anywhere
[ 4] 80/tcp                    ALLOW IN    Anywhere
[ 5] Nginx HTTP                ALLOW IN    Anywhere
[ 6] 443/tcp                    ALLOW IN    Anywhere
[ 7] Nginx HTTPS                ALLOW IN    Anywhere
[ 8] 8080/tcp                  ALLOW IN    Anywhere
[ 9] Nginx Full (v6)            ALLOW IN    Anywhere (v6)
[10] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[11] 5522/tcp (v6)              ALLOW IN    Anywhere (v6)
[12] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[13] Nginx HTTP (v6)            ALLOW IN    Anywhere (v6)
[14] 443/tcp (v6)              ALLOW IN    Anywhere (v6)
[15] Nginx HTTPS (v6)          ALLOW IN    Anywhere (v6)
[16] 8080/tcp (v6)              ALLOW IN    Anywhere (v6)

要删除规则编号3,允许连接到端口8080的规则,可以使用以下命令:

sudo ufw delete 2

第二种方法是通过指定实际规则来删除规则,例如,如果您添加了一条规则以打开端口8168,则可以使用以下规则将其删除:

sudo ufw delete allow 8168

 

禁用UFW
如果因任何原因想停止UFW并停用您可以使用的所有规则:
sudo ufw disable

稍后如果您想要重新启用UTF并激活所有规则,请输入:

sudo ufw enable

重置UFW
重置UFW将禁用UFW,并删除所有活动规则。

要重置UFW,只需输入以下命令:
sudo ufw reset

 

 

详细配置参考

https://www.linuxidc.com/Linux/2018-06/152881.htm

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注